summaryrefslogtreecommitdiff
path: root/storage/innobase/include/srv0srv.h
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-08-03 19:08:11 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2020-08-03 19:08:11 +0300
commit859dbfea7716a83dd155392361006126b055568d (patch)
tree270410572a60be79d865d16209ae18be4c345254 /storage/innobase/include/srv0srv.h
parentc12d24e29162f35f4fb751b761a0fbd84db19498 (diff)
downloadmariadb-git-bb-10.5-MDEV-23379.tar.gz
MDEV-23379 Deprecate&ignore InnoDB concurrency throttling parametersbb-10.5-MDEV-23379
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, but nowadays enabling any concurrency throttling for InnoDB actually makes things worse, because queries have to wait outside InnoDB. We have seen many customers mistakenly setting this to a small value like 16 or 64 and then complaining the server was slow. The parameters used to be useful a long time ago, when 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. 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.
Diffstat (limited to 'storage/innobase/include/srv0srv.h')
-rw-r--r--storage/innobase/include/srv0srv.h27
1 files changed, 5 insertions, 22 deletions
diff --git a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0srv.h
index 9cad1497b85..57542b32719 100644
--- a/storage/innobase/include/srv0srv.h
+++ b/storage/innobase/include/srv0srv.h
@@ -39,14 +39,12 @@ The server main program
Created 10/10/1995 Heikki Tuuri
*******************************************************/
-#ifndef srv0srv_h
-#define srv0srv_h
+#pragma once
#include "log0log.h"
#include "os0event.h"
#include "que0types.h"
#include "trx0types.h"
-#include "srv0conc.h"
#include "fil0fil.h"
#include "mysql/psi/mysql_stage.h"
@@ -198,6 +196,10 @@ struct srv_stats_t
ulint_ctr_1_t lock_deadlock_count;
};
+/** We are prepared for a situation that we have this many threads waiting for
+a semaphore inside InnoDB. srv_start() sets the value. */
+extern ulint srv_max_n_threads;
+
extern const char* srv_main_thread_op_info;
/** Prefix used by MySQL to indicate pre-5.1 table name encoding */
@@ -246,10 +248,6 @@ extern my_bool high_level_read_only;
/** store to its own file each table created by an user; data
dictionary tables are in the system tablespace 0 */
extern my_bool srv_file_per_table;
-/** Sleep delay for threads waiting to enter InnoDB. In micro-seconds. */
-extern ulong srv_thread_sleep_delay;
-/** Maximum sleep delay (in micro-seconds), value of 0 disables it.*/
-extern ulong srv_adaptive_max_sleep_delay;
/** Sort buffer size in index creation */
extern ulong srv_sort_buf_size;
@@ -423,8 +421,6 @@ extern double srv_max_buf_pool_modified_pct;
extern ulong srv_max_purge_lag;
extern ulong srv_max_purge_lag_delay;
-extern ulong srv_replication_delay;
-
extern my_bool innodb_encrypt_temporary_tables;
extern my_bool srv_immediate_scrub_data_uncompressed;
@@ -455,8 +451,6 @@ extern bool srv_monitor_active;
extern ulong srv_n_spin_wait_rounds;
-extern ulong srv_n_free_tickets_to_enter;
-extern ulong srv_thread_sleep_delay;
extern uint srv_spin_wait_delay;
extern ulint srv_truncated_status_writes;
@@ -942,14 +936,3 @@ static inline void srv_start_periodic_timer(std::unique_ptr<tpool::timer>& t,
void srv_thread_pool_init();
void srv_thread_pool_end();
-
-#ifdef WITH_WSREP
-UNIV_INTERN
-void
-wsrep_srv_conc_cancel_wait(
-/*==================*/
- trx_t* trx); /*!< in: transaction object associated with the
- thread */
-#endif /* WITH_WSREP */
-
-#endif