WL#8316: Enabled multiple page cleaners and purge threads by default in 5.7
Status: Complete
We make the following compiled-in defaults changes in 5.7GA: innodb_page_cleaners=4 innodb_purge_threads=4 We would like to do a round of QA and SysQA tests to ensure that this causes no stability or performance issues.
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.
Copyright (c) 2000, 2024, Oracle Corporation and/or its affiliates. All rights reserved.