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

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
Message-ID: (view raw, whole thread or download thread mbox)
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: bench.png
Description: image/png (77.6 KB)

pgsql-hackers by date

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

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