In this recipe, we are going to cover some of the disk performance optimization techniques by selecting an I/O scheduler and tuning the block I/O using Linux control groups, for the virtual guest and the host.
There are three I/O schedulers to choose from on the host OS and in the KVM instance:
- noop: This is one of the simplest kernel schedulers; it works by inserting all incoming I/O requests into a simple FIFO (First In, First Out) queue. This scheduler is useful when the host OS should not attempt to reorder I/O requests when multiple virtual machines are running.
- deadline: This scheduler imposes a deadline on all I/O operations to prevent starvation of requests, giving priority to read requests, ...