Wednesday, April 16, 2014

More details on disk IO-bound, update only for MongoDB, TokuMX and InnoDB

This has a few more details on the results for update-only sysbench using a disk IO-bound workload. I describe the impact from changing innodb_flush_neighbors. The parameter can be set to write back some dirty pages early when other pages in the same extent must be written back. The goal is to reduce the number of disk seeks consumed by page writeback and this can help on disk based servers.

There might be a small impact from changing innodb_flush_neighbors on this workload from both the TPS results and the amount of data written to disk per update.  In a previous blog post I explained the impact of this parameter on the insert benchmark for pure-disk servers. The benefit there was much greater than here. I think there are fewer dirty pages per extent in this workload because the database is much larger than RAM so the feature is less likely to be used.

The test configuration is described in a previous post. The only difference here is that I repeated the test for innodb_flush_neighbors set to 0, 1 and 2.

TPS
configuration      8 clients  16 clients  32 clients  64 clients
flush_neighbors=0        498         677         926         969
flush_neighbors=1        506         692         848        1004
flush_neighbors=2        543         737         913        1043

KB/update written to disk
configuration      8 clients  16 clients  32 clients  64 clients
flush_neighbors=0       7.95        6.75        5.88        6.55
flush_neighbors=1       7.91        6.71        6.53        6.50
flush_neighbors=2       7.78        6.68        6.68        6.74




No comments:

Post a Comment

Fixing some of the InnoDB scan perf regressions in a MySQL fork

I recently learned of Advanced MySQL , a MySQL fork, and ran my sysbench benchmarks for it. It fixed some, but not all, of the regressions f...