Seven days and one server: how we tested AMD-based machines
We had one server based on a new AMD processor, a bunch of benchmarks that we wanted to run, and a week to test the machine under real load. Not that this was enough time for a close acquaintance with a fresh piece of hardware, but when you constantly test new items and customize services, it is difficult to stop.
What tests did we manage to run, in which tasks the “newbie” outplayed our workhorse from the flagship pool, and where he lost – we tell under the cut.
Introducing the test subjects
We have been waiting for the opportunity to take a server with the latest generation of AMD processors for testing. Recently, such an opportunity presented itself to us. Meet the Dell EMC PowerEdge R6515 Powered by AMD EPYC 7742 Processor.
Key CPU characteristics:
-
64 cores;
-
128 threads;
-
base frequency 2.25GHz;
-
maximum frequency per core (boost) up to 3.4GHz;
-
L1 cache – 4MiB;
-
L2 cache – 32MiB;
-
L3 cache – 256MiB.
Agree, it looks promising. Recently, we have already taken for a test servers with processors from AMD of the previous generation. The result, alas, was not impressive – approximately at the level of Intel five years ago.
And then enthusiastic articles about new CPUs began to appear on the Internet. This inflamed skepticism in us – there is a lot of talk, but no one has objective test indicators. Everyone wrote that there was more performance, reduced power consumption. That Dell EMC PowerEdge servers with AMD processor are suitable for demanding resource-intensive applications and cloud services (they use AMD EPYC chips with 8 to 64 cores and support high-speed PCIe 4.0). Therefore, we decided to get fresh processors at any cost and run at least the main set of tests on them. Since we are engaged in virtualization – roughly speaking, we give the cores to customers – we were interested in how the CPU would behave under load.
We will compare this server with our current “workhorse” – Dell Poweredge R740 with two Intel Xeon Gold 6254 on board. We have been actively using these servers for about a year now. The processors there are excellent and suitable for any task. Except, perhaps, 1C. Higher frequency CPUs are needed here. For 1C we use Intel Xeon Gold 6244. Here wrote how the Gilev tests were carried out on them.
Pool of test tasks
Our standard testing procedure is at two levels:
-
a series of tests on the server itself, “through the eyes of a provider”;
-
testing from virtual machines located on the server – “through the eyes of the client”.
Unfortunately, the process of debugging the server inside our infrastructure took some of our precious time, and we only managed to run a few sysbench tests. Nevertheless, the results are quite interesting.
Test suite
Test |
cmdline |
sysbench, max prime, one core |
taskset -c 0 sysbench –test = cpu –cpu-max-prime = 20000 run |
sysbench, max prime, all cores |
sysbench –test = cpu –cpu-max-prime = 100000 –num-threads = 8 run |
sysbench, oltp-mysql, i thread |
sysbench –test = oltp –db-driver = mysql –mysql-db = test –mysql-user = root –mysql-socket = / var / lib / mysql / mysql.sock –mysql-table-engine = innodb –max-requests = 0 –oltp-table-size = 1000000 –max-time = 300 –num-threads = $ i run |
All tests were run on a virtual machine with 8 vCPUs and 32Gb RAM.
Results: CROC standard pool
For starters, let’s look at the numbers from the reference Dell EMC PowerEdge R740:
Test |
Result |
sysbench, max prime, one core |
total time: 19.1545s |
sysbench, max prime, all cores |
total time: 22.1102s |
sysbench, oltp-mysql, 1 thread |
828.69 tr. per sec. |
sysbench, oltp-mysql, 2 threads |
1605.72 tr. per sec. |
sysbench, oltp-mysql, 4 threads |
2992.22 tr. per sec. |
sysbench, oltp-mysql, 8 threads |
5927.20 tr. per sec. |
Results: AMD based server
The results of the tested Dell R6515 with AMD EPYC 7742:
Test |
Result |
sysbench, max prime, one core |
total time: 15.6657s |
sysbench, max prime, all cores |
total time: 18.9329s |
sysbench, oltp-mysql, 1 thread |
1023.46 tr. per sec. |
sysbench, oltp-mysql, 2 threads |
1709.39 tr. per sec. |
sysbench, oltp-mysql, 4 threads |
3231.34 tr. per sec. |
sysbench, oltp-mysql, 8 threads |
4533.65 tr. per sec. |