Thread: Performance difference between kernel 3.10 and 3.12

Performance difference between kernel 3.10 and 3.12

From
Tatsuo Ishii
Date:
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:
CPU 4
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
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp