Physical or virtualization? Continued tests Intel Xeon 6242R



In the previous article, we talked about the basic assessment of the performance of new servers in our cloud project using the example of Gilev's test for 1C and 7zip in a physical "native" environment.

Now that we have prepared the servers for working in our virtualized cluster, we can share the test results in comparison with the results of similar tests when installing the OS on a physical server without using virtualization. Thus, we will try to see if there is a decrease in performance and how critical it is (if any). So let's get started!



First, we will describe what was compared with what in our small experiment.

The physical server was the same - Dell PowerEdge R640 (2x Intel Xeon Gold 6242R , 12x64GB DDR4 3200MHz, 2x240GB SSD) in the factory assembly. The OS in which the tests were carried out was the same on the physical server and on the virtual machine further - this is CentOS 8 (4.18.0-240.1.1.el8_3.x86_64). For tests in a virtual environment, we used VMware ESXi 6.7.0, build 15160138.



As for the characteristics of the compared configurations, we get the following:



1. Physical server:



  • 2 processors with 20 physical / 40 virtual cores (Hyper-Threading)
  • 768 GB of RAM (in fact, the volume does not play a critical role)
  • About 240GB of usable space on the C drive


2. Virtual machine:



  • 2 virtual processors with 40 virtual cores
  • 64 GB of RAM (enough for tests)
  • About 200GB of usable space on the C drive


What tests are we going to check?



We will restrict ourselves here to the following set of tests:



  1. Sysbench
  2. 7zip
  3. Geekbench


An important point: all tests were run with Turbo Boost enabled and maximum performance settings in BIOS. The power mode for ESXi is Balanced (default).



So, what are the results:



1. "sysbench --test = cpu --num-threads = 40 run"



On a physical server ...
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)



Running the test with following options:

Number of threads: 40

Initializing random number generator from current time



Prime numbers limit: 10000



Initializing worker threads...



Threads started!



CPU speed:

events per second: 47238.17



General statistics:

total time: 10.0009s

total number of events: 472487



Latency (ms):

min: 0.68

avg: 0.85

max: 1.46

95th percentile: 0.99

sum: 399892.63



Threads fairness:

events (avg/stddev): 11812.1750/824.36

execution time (avg/stddev): 9.9973/0.00









On a virtual machine ...
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)



Running the test with following options:

Number of threads: 40

Initializing random number generator from current time



Prime numbers limit: 10000



Initializing worker threads...



Threads started!



CPU speed:

events per second: 46474.85



General statistics:

total time: 10.0009s

total number of events: 464850



Latency (ms):

min: 0.74

avg: 0.86

max: 53.87

95th percentile: 1.01

sum: 398802.05



Threads fairness:

events (avg/stddev): 11621.2500/1156.95

execution time (avg/stddev): 9.9701/0.02







In short, the results can be summarized in the following table:

Parameter Server VM Difference
Events per second 47238.17 46474.85 -1.62%
Latency (avg) 0.85 ms 0.86 ms + 1.2%


Not that much difference ... Let's see what happens next.



2. 7zip



On a physical server ...
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,80 CPUs Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHz (50657),ASM,AES-NI)



Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHz (50657)

CPU Freq: - - - - - - - - -



RAM size: 772271 MB, # CPU hardware threads: 80

RAM usage: 17650 MB, # Benchmark threads: 80



Compressing | Decompressing

Dict Speed Usage R/U Rating | Speed Usage R/U Rating

KiB/s % MIPS MIPS | KiB/s % MIPS MIPS



22: 219383 7214 2959 213417 | 2433655 7750 2678 207532

23: 207598 7028 3010 211518 | 2418901 7873 2660 209301

24: 204763 7174 3069 220162 | 2364952 7826 2652 207568

25: 198526 7168 3162 226669 | 2384016 7909 2682 212138

---------------------------------- | ------------------------------

Avr: 7146 3050 217941 | 7839 2668 209135

Tot: 7493 2859 213538









On a virtual machine ...
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,80 CPUs Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHz (50657),ASM,AES-NI)



Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHz (50657)

CPU Freq: 3769 3775 3772 3772 3773 3771 3772 3772 3772



RAM size: 64134 MB, # CPU hardware threads: 80

RAM usage: 17650 MB, # Benchmark threads: 80



Compressing | Decompressing

Dict Speed Usage R/U Rating | Speed Usage R/U Rating

KiB/s % MIPS MIPS | KiB/s % MIPS MIPS



22: 190208 6089 3039 185035 | 2001333 6449 2646 170665

23: 179252 5785 3157 182637 | 2077835 6995 2570 179789

24: 184889 6251 3181 198793 | 2069792 7037 2582 181662

25: 192625 6794 3237 219932 | 2157590 7441 2580 191990

---------------------------------- | ------------------------------

Avr: 6230 3154 196599 | 6981 2595 181027

Tot: 6605 2874 188813









Results in brief:

Parameter Server VM Difference
Total CPU usage% 7493 6605 -11.8%
Total R / U MIPS (normalized 100% CPU usage) 2859 2874 + 0.5%
Total MIPS 213538 188813 -11.6%


Here the results are more interesting. We see that MIPS is directly correlated with the Usage indicator. Perhaps 7zip somehow takes into account the processor frequency that the guest OS determines. Since Turbo Boost is a hardware technology, it is not translated to the OS level of virtual machines, but is available only to the hypervisor. However, the actual usable frequency of each VM core can easily reach Turbo Boost frequencies. This can be seen in esxtop .



3. The last one is next in line today - Geekbench 5. Let's see what happened.



Physical Server

Virtual Machine

Parameter Server VM Difference
Single-Core Score 1186 1052 -11.3%
Multi-Core Score 31093 28872 -7.1%


These are the results. It is difficult to draw any specific conclusions from this. You can only notice that the final performance of a particular application depends on many factors and a properly configured virtual environment and guest OS will not always give a performance drawdown, as we can see from the Sysbench results.



And, of course, do not forget about the advantages of virtualization in general (higher density of services placement, lower capital and operating costs, energy optimization, speed of deployment and recovery of services).



I hope the article was interesting and useful for you. Well, we went to add this host to our cluster !



All Articles