I can think of at least two major reasons why systems delay flushing changes to durable storage:
1. So they can do the work when it's more convenient.
2. So they can do less work in total.
Let's look at how the second property can be true.
A commenter on Deva's recent post on InnoDB adaptive flushing asked,
That’s really interesting stuff; am I reading it correctly though that adaptive flush actually increased the IOOPS? Looking at the IO graphs, it looks like both the peak IO rate and average IO rate were higher with adaptive flush nabled (assuming I’m reading properly).
Yes. Adaptive flushing actually increased the overall number of I/O operations performed. Smoothing out the workload can cause more work to be done. To see why, remember that InnoDB works in 16kb pages at a time. Suppose …
[Read more]