mirror of
https://github.com/MariaDB/server.git
synced 2025-11-27 05:41:41 +03:00
MDEV-23379 Deprecate&ignore InnoDB concurrency throttling parameters
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.
This commit is contained in:
@@ -52,8 +52,9 @@ SELECT @@global.innodb_commit_concurrency;
|
||||
# Check if innodb_commit_concurrency can be accessed with and without @@ sign#
|
||||
################################################################################
|
||||
|
||||
--Error ER_GLOBAL_VARIABLE
|
||||
--error ER_GLOBAL_VARIABLE
|
||||
SET innodb_commit_concurrency = 1;
|
||||
SET GLOBAL innodb_commit_concurrency = 1;
|
||||
SELECT @@innodb_commit_concurrency;
|
||||
|
||||
|
||||
@@ -79,14 +80,8 @@ SELECT @@global.innodb_commit_concurrency;
|
||||
# Change the value of innodb_commit_concurrency to invalid value #
|
||||
###########################################################################
|
||||
|
||||
#
|
||||
# InnoDB doesn't allow innodb_commit_concurrency to change from
|
||||
# zero to non-zero or vice versa
|
||||
#
|
||||
--Error ER_WRONG_VALUE_FOR_VAR
|
||||
SET @@global.innodb_commit_concurrency = 1;
|
||||
SELECT @@global.innodb_commit_concurrency;
|
||||
--Error ER_WRONG_VALUE_FOR_VAR
|
||||
SELECT @@global.innodb_commit_concurrency;
|
||||
SET @@global.innodb_commit_concurrency = -1;
|
||||
SELECT @@global.innodb_commit_concurrency;
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
@@ -98,7 +93,6 @@ SELECT @@global.innodb_commit_concurrency;
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@global.innodb_commit_concurrency = 1.1;
|
||||
SELECT @@global.innodb_commit_concurrency;
|
||||
--Error ER_WRONG_VALUE_FOR_VAR
|
||||
SET @@global.innodb_commit_concurrency = 1001;
|
||||
SELECT @@global.innodb_commit_concurrency;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user