Performance difference between kernel 3.10 and 3.12

From: Tatsuo Ishii <ishii(at)postgresql(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Performance difference between kernel 3.10 and 3.12
Date: 2015-02-03 08:46:37
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

I see significant performance difference between systems using Linux
kernel 3.10 and 3.12. We did tests on CentOS7 (kernel 3.10) and SuSE
Enterprise Linux Server 12 (kernel 3.12).

Both systems run on VMWare ESXi 5.5.0.
Xeon CPU E52650 2GHz x 2 (16 cores in total)
Mem 96GB, 10,000 RPM SAS drive

Guest OS setting:
Mem 6GB
file system ext4
PostgreSQL 9.3.5 compiled from source code (all parameters are default)

The benchmark tables are created by "pgbench -i -s 500". "pgbench -S
-c NUM -T 500" runs 3 times for each NUM concurrent users and
we calculate the average TPS for the each run.

We ran pgbench in 4 patters:

1) SLES12 (kernel 3.12)
2) CentOS7 (kernel 3.10 with default deadline scheduler)
3) CentOS7 (kernel 3.10 with cfq scheduler)
4) CentOS7 (kernel replaced with 3.12 with cfq scheduler)

The result is roughly:

#1 > #4 >> #2 >> #3

So it seems the performance difference is dominated by the kernel
version difference (3.10 vs. 3.12). Does anybody know the cause?

Note that kernel parameter "sched_autogroup" (which is available only
with 3.10 kernel) did not give much difference.

Best regards,
Tatsuo Ishii
SRA OSS, Inc. Japan

Attachment Content-Type Size
bench.png image/png 77.6 KB

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro HORIGUCHI 2015-02-03 09:23:36 Re: Performance improvement for joins where outer side is unique
Previous Message Heikki Linnakangas 2015-02-03 08:38:28 Re: Missing markup in pg_receivexlog.sgml