Set threads based on number of cpus
This patch removes hardcode from the following options, and make
them dynamically picked based on number of cpus if not set
explicitly in the model:
innodb_read_io_threads
innodb_write_io_threads
wsrep_slave_threads
xtrabackup_parallel
Change-Id: I731197689960cfdfed6a4fd930b898172d425b1d
Related-Prod: PROD-24813
diff --git a/galera/map.jinja b/galera/map.jinja
index c9e21cc..0894eb2 100644
--- a/galera/map.jinja
+++ b/galera/map.jinja
@@ -1,10 +1,16 @@
{% set mysql_version = pillar.galera.get('version', {}).get('mysql', '5.6') %}
{% set galera_version = pillar.galera.get('version', {}).get('galera', '3') %}
+{% set threads_default = [grains.num_cpus * 2, 12] | sort | first %}
+
{%- load_yaml as master %}
default:
max_connections: 20000
innodb_buffer_pool_size: '3138M'
+ innodb_read_io_threads: {{ threads_default }}
+ innodb_write_io_threads: {{ threads_default }}
+ wsrep_slave_threads: {{ threads_default }}
+ xtrabackup_parallel: {{ threads_default }}
Debian:
pkgs:
- mysql-wsrep-{{ mysql_version }}
@@ -51,6 +57,10 @@
default:
max_connections: 20000
innodb_buffer_pool_size: '3138M'
+ innodb_read_io_threads: {{ threads_default }}
+ innodb_write_io_threads: {{ threads_default }}
+ wsrep_slave_threads: {{ threads_default }}
+ xtrabackup_parallel: {{ threads_default }}
Debian:
pkgs:
- mysql-wsrep-{{ mysql_version }}
diff --git a/metadata/service/master/cluster.yml b/metadata/service/master/cluster.yml
index af0bf1c..2cb4f36 100644
--- a/metadata/service/master/cluster.yml
+++ b/metadata/service/master/cluster.yml
@@ -10,10 +10,6 @@
galera_server_admin_user: root
galera_max_connections: 20000
galera_innodb_buffer_pool_size: 3138M
- galera_innodb_read_io_threads: 8
- galera_innodb_write_io_threads: 8
- galera_wsrep_slave_threads: 8
- galera_xtrabackup_parallel: 4
galera_error_log_enabled: true
galera_error_log_path: /var/log/mysql/error.log
galera:
@@ -36,10 +32,6 @@
port: 4567
max_connections: ${_param:galera_max_connections}
innodb_buffer_pool_size: ${_param:galera_innodb_buffer_pool_size}
- innodb_read_io_threads: ${_param:galera_innodb_read_io_threads}
- innodb_write_io_threads: ${_param:galera_innodb_write_io_threads}
- wsrep_slave_threads: ${_param:galera_wsrep_slave_threads}
- xtrabackup_parallel: ${_param:galera_xtrabackup_parallel}
error_log_enabled: ${_param:galera_error_log_enabled}
error_log_path: ${_param:galera_error_log_path}
mysql:
diff --git a/metadata/service/master/single.yml b/metadata/service/master/single.yml
index bed28d6..f71fc6e 100644
--- a/metadata/service/master/single.yml
+++ b/metadata/service/master/single.yml
@@ -10,10 +10,6 @@
galera_server_admin_user: root
galera_max_connections: 20000
galera_innodb_buffer_pool_size: 3138M
- galera_innodb_read_io_threads: 8
- galera_innodb_write_io_threads: 8
- galera_wsrep_slave_threads: 8
- galera_xtrabackup_parallel: 4
galera_error_log_enabled: true
galera_error_log_path: /var/log/mysql/error.log
galera:
@@ -32,10 +28,6 @@
port: 4567
max_connections: ${_param:galera_max_connections}
innodb_buffer_pool_size: ${_param:galera_innodb_buffer_pool_size}
- innodb_read_io_threads: ${_param:galera_innodb_read_io_threads}
- innodb_write_io_threads: ${_param:galera_innodb_write_io_threads}
- wsrep_slave_threads: ${_param:galera_wsrep_slave_threads}
- xtrabackup_parallel: ${_param:galera_xtrabackup_parallel}
error_log_enabled: ${_param:galera_error_log_enabled}
error_log_path: ${_param:galera_error_log_path}
mysql:
diff --git a/metadata/service/slave/cluster.yml b/metadata/service/slave/cluster.yml
index 49eb6bb..e2140d8 100644
--- a/metadata/service/slave/cluster.yml
+++ b/metadata/service/slave/cluster.yml
@@ -10,10 +10,6 @@
galera_server_admin_user: root
galera_max_connections: 20000
galera_innodb_buffer_pool_size: 3138M
- galera_innodb_read_io_threads: 8
- galera_innodb_write_io_threads: 8
- galera_wsrep_slave_threads: 8
- galera_xtrabackup_parallel: 4
galera_error_log_enabled: true
galera_error_log_path: /var/log/mysql/error.log
galera:
@@ -36,10 +32,6 @@
port: 4567
max_connections: ${_param:galera_max_connections}
innodb_buffer_pool_size: ${_param:galera_innodb_buffer_pool_size}
- innodb_read_io_threads: ${_param:galera_innodb_read_io_threads}
- innodb_write_io_threads: ${_param:galera_innodb_write_io_threads}
- wsrep_slave_threads: ${_param:galera_wsrep_slave_threads}
- xtrabackup_parallel: ${_param:galera_xtrabackup_parallel}
error_log_enabled: ${_param:galera_error_log_enabled}
error_log_path: ${_param:galera_error_log_path}
mysql: