Comment 2 for bug 952920

Revision history for this message
Hui Liu (hickey) wrote :

For the later test, we found the another interesting issue (not using the separated purge thread feature):
When the history list length to be purged grows larger and large (more than 300K) which occurs 30mins later in the test scenario, one loop of purging(10 seconds interval) lasts from seconds to several minutes, and server's TPS drops very very much during this period.

Therefore, to control the purging stage for some special case, we need to control the purging number of pages for stable performance, yet another dynamic variables is introduced: innodb_max_purge_size. Once the large purge begins, we need to set innodb_max_purge_size to be some value, such as 500, the threshold of pages to be purged for one purge chance. And it's reset to 0(no control for purge) if the history list length drops to normal value. The test result shows that it works as we expected, stable performance during large purging stage.

The new patch is attached, with this new variable and related test cases/results.