16 April 2012

Increase of Linux IO scheduler queue size might lower performance

The blog post Linux I/O scheduler queue size and MyISAM performance explains a good way to increase performance when using Mysql and the Myisam database table engine. I have tried this an can confirm that it will increase performance for this typical application.

I have unfortunately discovered that it may not always increase the overall performance if you have other IO intensive operations besides an Mysql database running on your server. I have a system that runs both Mysql with Myisam and also a custom written database application that uses a lot (like 10000) small files to save data.

The system handles a stream of "messages". I measure performance by looking at graphs of how many messages are buffered (0 to 100000) and how many messages that has been discarded because the buffer is full.

For nr_requests = 128

For nr_requests = 10000

As seen from the graphs the configuration with default nr_requests (128) performs better. My advice is thus to benchmark if your specific application benefits an increased queue size.

No comments:

Post a Comment