news image

Ever since AMD launched their EPYC CPU for servers I needed to confirm it, however I didn’t contain the opportunity till currently, when Packet.glean started offering bare steel servers for a cheap ticket. So I started a pair of cases to confirm Percona Server for MySQL under this CPU. In this benchmark, I came all the draw via some attention-grabbing discrepancies in efficiency between  AMD and Intel CPUs when working under systemd .

The command up

To test CPU efficiency, I aged a learn-finest in-memory sysbench OLTP benchmark, because it burns CPU cycles and no IO is performed by Percona Server.

For this benchmark I aged Packet.glean c2.medium.x86 cases powered by AMD EPYC 7401P processors. The OS is exposed to forty eight CPU threads.

For the OS I tried

  • Ubuntu 16.04 with default kernel Four.Four and upgraded to Four.15
  • Ubuntu 18.04 with kernel Four.15
  • Percona Server started from SystemD and with out SystemD (for reasons which is in a neighborhood to change into obvious later)

To contain some aspects for comparison, I also ran a identical workload on my 2 socket Intel CPU server, with CPU: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz. I look here’s no longer most most fashioned Intel CPU, however this used to be the correct I had at the time, and it also gave forty eight CPU Threads.

Ubuntu 16

First, let’s review the effects for Ubuntu 16

Or in tabular format:

Threads Ubuntu 16, kernel Four.Four; systemd Ubuntu 16, kernel Four.Four;

NO systemd

1 943.forty Four 948.7 899.82
2 1858.fifty eight 1792.36 1774.45
Four 3533.2 3424.05 3555.94
8 6762.35 6731.Fifty seven 7010.51
12 10012.18 9950.three 10062.82
16 13063.39 13043.55 12893.17
20 15347.Sixty eight 15347.fifty six 14756.27
24 16886.24 16864.81 16176.seventy six
30 18150.2 18160.07 17860.5
36 18923.06 18811.Sixty Four 19528.27
forty two 19374.86 19463.08 21537.Seventy 9
forty eight 20110.81 19983.05 23388.18
fifty six 20548.51 20362.31 23768.forty 9
Sixty Four 20860.51 20729.fifty two 23797.14
72 21123.Seventy one 21001.06 23645.ninety five
80 21370 21191.24 23546.03
ninety 21622.fifty four 21441.seventy three 23486.29
100 21806.sixty seven 21670.38 23392.72
128 22161.forty two 22031.Fifty three 23315.33
192 22388.51 22207.26 22906.forty two
256 22091.17 21943.37 22305.06
512 19524.forty one 19381.69 19181.Seventy one
Read More:  Quiz: Who's been to an IPL final before?

 

There are few conclusions we can survey from this files

  1. AMD EPYC CPU scales quite well to the sequence of CPU Threads
  2. Basically the most fashioned kernel helps to lift the throughput.

Ubuntu 18.04

Now, let’s review the effects for Ubuntu 18.04

Threads Ubuntu 18, systemd
1 833.14 843.Sixty eight
2 1684.21 1693.93
Four 3346.forty two 3359.82
8 6592.88 6597.forty eight
12 9477.92 9487.93
16 12117.12 12149.17
20 13934.27 13933
24 15265.1 15152.74
30 16846.02 16061.16
36 18488.88 16726.14
forty two 20493.Fifty seven 17360.fifty six
forty eight 22217.forty seven 17906.Four
fifty six 22564.Four 17931.Eighty three
Sixty Four 22590.29 17902.ninety five
72 22472.seventy five 17857.seventy three
80 22421.ninety 9 17766.seventy six
ninety 22300.09 17773.Fifty seven
100 22275.24 17646.7
128 22131.86 17411.55
192 21750.8 17134.sixty three
256 21177.25 16826.Fifty three
512 18296.sixty one 17418.72

 

This is the place the consequence stunned me: on Ubuntu 18.04 with SystemD working Percona Server for MySQL as a provider the throughput used to be as a lot as 24% higher than if Percona Server for MySQL is started from a bash shell. I quit no longer know exactly what causes this dramatic distinction—systemd uses completely different slices for products and providers and particular person instructions, and in some way it affects the efficiency.

Baseline benchmark

To place a baseline, I ran the identical benchmark on my Intel box, working Ubuntu 16, and I tried two kernels: Four.Thirteen and Four.15

Threads Ubuntu 16, kernel Four.Thirteen, systemd Ubuntu 16, kernel Four.15, systemd

Ubuntu 16, kernel Four.15, NO systemd

1 820.07 798.forty two 864.21
2 1563.31 1609.ninety six 1681.91
Four 2929.sixty three 3186.01 3338.forty seven
8 6075.seventy three 6279.forty 9 6624.forty 9
12 8743.38 9256.18 9622.6
16 10580.14 11351.31 11984.Sixty Four
20 12790.ninety six 12599.seventy eight 14147.1
24 14213.Sixty eight 14659.forty 9 15716.sixty one
30 15983.seventy eight 16096.03 17530.06
36 17574.forty six 18098.36 20085.9
forty two 18671.14 19808.92 21875.eighty Four
forty eight 19431.05 22036.06 23986.08
fifty six 19737.92 22115.34 24275.72
Sixty Four 19946.Fifty seven 21457.32 24054.09
72 20129.7 21729.seventy eight 24167.03
80 20214.93 21594.51 24092.86
ninety 20194.seventy eight 21195.sixty one 23945.93
100 20753.forty Four 21597.26 23802.16
128 20235.24 20684.34 23476.82
192 20280.fifty two 20431.18 23108.36
256 20410.55 20952.Sixty Four 22775.sixty three
512 20953.seventy three 22079.18 23489.three
Read More:  Test-nation gravitas spices up World Cup Qualifier

 

Right here we survey the reverse consequence with SystemD: Percona Server working from a bash shell reveals the higher throughput in comparison with the SystemD provider. So for some cause, systemd works in a different way for AMD and Intel CPUs. Please let me know in case you’ve any solutions on the final note technique to kind out the impact that systemd has on efficiency.

Conclusions

So there are some conclusions from these results:

  1. AMD EPYC reveals a factual efficiency scalability; the fresh kernel helps to reinforce it
  2. systemd reveals completely different results on throughput for AMD and Intel CPUs
  3. With AMD the throughput declines for a high concurrent workload with 512 threads, while Intel does no longer display camouflage a decline.

Vadim Tkachenko

Vadim Tkachenko co-based Percona in 2006 and serves as its Chief Know-how Officer. Vadim leads Percona Labs, which specializes in abilities look at and efficiency critiques of Percona’s and 1/three-celebration merchandise. Percona Labs designs no-gimmick tests of hardware, filesystems, storage engines, and databases that surpass the same old efficiency and functionality scenario benchmarks.
Vadim’s abilities in LAMP efficiency and multi-threaded programming aid optimize MySQL and InnoDB internals to remove corpulent objective correct thing about fashioned hardware. Oracle Company and its predecessors contain integrated Vadim’s supply code patches into the mainstream MySQL and InnoDB merchandise.
He also co-authored the e-book High Performance MySQL: Optimization, Backups, and Replication 3rd Model.

Read More:  Once Upon a Time star Sean Maguire welcomes second son