FR1: Set default innodb_page_cleaners from 1 to 4. But the actual
innodb_page_cleaners would be affected by innodb_buffer_pool_instances as well.
If the number of innodb_page_cleaners is bigger than
innodb_buffer_pool_instances, server would set it to the exact the number of
innodb_buffer_pool_instances.
FR2: Set default innodb_purge_threads from 1 to 4.
NFR1: There should not be any stability or performance issues.
We need to change the default values in these places:
static MYSQL_SYSVAR_ULONG(purge_threads, srv_n_purge_threads,
PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_READONLY,
- "Purge threads can be from 1 to 32. Default is 1.",
+ "Purge threads can be from 1 to 32. Default is 4.",
NULL, NULL,
- 1, /* Default setting */
+ 4, /* Default setting */
1, /* Minimum value */
32, 0); /* Maximum value */
static MYSQL_SYSVAR_ULONG(page_cleaners, srv_n_page_cleaners,
PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_READONLY,
- "Page cleaner threads can be from 1 to 64. Default is 1.",
- NULL, NULL, 1, 1, 64, 0);
+ "Page cleaner threads can be from 1 to 64. Default is 4.",
+ NULL, NULL, 4, 1, 64, 0);
/* The number of page cleaner threads to use.*/
-ulong srv_n_page_cleaners = 1;
+ulong srv_n_page_cleaners = 4;
/* The number of purge threads to use.*/
-ulong srv_n_purge_threads = 1;
+ulong srv_n_purge_threads = 4;
Apart from this, we don't need to change others.