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