Linux I/O tuning: CFQ vs. deadline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Recently I've made a number of unsubstantiated claims that the deadline scheduler on Linux does bad things compared to CFQ when running real-world mixed I/O database tests. Unfortunately every time I do one of these I end up unable to release the results due to client confidentiality issues. However, I do keep an eye out for people who run into the same issues in public benchmarks, and I just found one: http://insights.oetiker.ch/linux/fsopbench/

The problem analyzed in the "Deadline considered harmful" section looks exactly like what I run into: deadline just does some bad things when the I/O workload gets complicated. And the conclusion reached there, "the deadline scheduler did not have advantages in any of our test cases", has been my conclusion for every round of pgbench-based testing I've done too. In that case, the specific issue is that reads get blocked badly when checkpoint writes are doing heavier work; you can see the read I/O numbers reported by "vmstat 1" go completely to zero for a second or more when it happens. That can happen with CFQ, too, but it consistently seems more likely to occur with deadline.

--
Greg Smith    2ndQuadrant   Baltimore, MD
PostgreSQL Training, Services and Support
greg@xxxxxxxxxxxxxxx  www.2ndQuadrant.com


--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux