Little Alice grows again - the I/O scheduler dance
- The I/O scheduler decides who goes into the elevator - and when.
- It may do I/O re-ordering - to reduce seek time for the disk device.
- It may do I/O merging (or coalescing) to increase disk bandwidth utilization, based on /sys/block/<device>/queue/ parameters:
- max_sectors_kb - maximum number of sectors to send in a single request.
- max_hw_sectors_kb - maximum number of sectors to that the (disk) driver
can support in a single request.
- nr_requests - maximum number of in-flight requests to the device.
- We can use the "iostat" command to see what's going on during I/O.
- For full details:
iostat -k 1 -x
.
- See the iostat man-page for the details.
- Of note: transaction sizes, queue sizes, average request wait time...
Originally written by
guy keren