Skip site navigation (1) Skip section navigation (2)

Performance increase with elevator=deadline

From: "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: <pgsql-performance(at)postgresql(dot)org>
Subject: Performance increase with elevator=deadline
Date: 2008-04-11 11:22:04
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-performance
This refers to the performance problem reported in

After some time of trial and error we found that changing the I/O scheduling
algorithm to "deadline" improved I/O performance by a factor 4 (!) for
this specific load test.

It seems that the bottleneck in this case was actually in the Linux kernel.

Since performance statements are useless without a description of
the system and the type of load, I'll send a few details to make this
report more useful for the archives:

The machine is a PC with 8 AMD Opteron 885 CPUs and 32 GB RAM, attached to
a HP EVA 8100 storage system with 72 disks.

We are running 64-bit Linux 2.6.18-53.1.6.el5 from RedHat Enterprise 5.1.
The I/O queue depth is set to 64.

Our benchmark tools show a possible I/O performance of about 11000 transactions
per second for random scattered reads of 8k blocks.

PostgreSQL version is 8.2.4.

The database system is a cluster with 6 databases containing tables up
to a couple of GB in size. The whole database cluster takes about
200 GB of storage.

The database load is a set of read-only statements, several of which have
miserable execution plans and perform table and index scans.

With the default I/O scheduler we observe a performance of about
600 I/O transactions or 7 MB per second.

After booting with elevator=deadline both values increase by a factor
of up to 4 and the query response times sink drastically.

Laurenz Albe


pgsql-performance by date

Next:From: Florian WeimerDate: 2008-04-11 14:05:00
Subject: Re: Creating large database of MD5 hash values
Previous:From: PFCDate: 2008-04-11 10:41:15
Subject: Re: Partitioned tables - planner wont use indexes

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group