• Marko Mäkelä's avatar
    MDEV-23379 Deprecate&ignore InnoDB concurrency throttling parameters · bbd70fcc
    Marko Mäkelä authored
    The parameters innodb_thread_concurrency and innodb_commit_concurrency
    were useful years ago when both computing resources and the implementation
    of some shared data structures were limited. MySQL 5.0 or 5.1 had trouble
    scaling beyond 8 concurrent connections. Most of the scalability bottlenecks
    have been removed since then, and the transactions per second delivered
    by MariaDB Server 10.5 should not dramatically drop upon exceeding the
    'optimal' number of connections.
    
    Hence, enabling any concurrency throttling for InnoDB actually makes
    things worse. We have seen many customers mistakenly setting this to a
    small value like 16 or 64 and then complaining the server was slow.
    
    Ignoring the parameters allows us to remove some normally unused code
    and data structures, which could slightly improve performance.
    
    innodb_thread_concurrency, innodb_commit_concurrency,
    innodb_replication_delay, innodb_concurrency_tickets,
    innodb_thread_sleep_delay, innodb_adaptive_max_sleep_delay:
    Deprecate and ignore; hard-wire to 0.
    
    The column INFORMATION_SCHEMA.INNODB_TRX.trx_concurrency_tickets
    will always report 0.
    bbd70fcc
trx0i_s.cc 39.4 KB