📜 ⬆️ ⬇️

A small test of necessity (or uselessness) of VT when working with Virtualbox

The motherboard died at the main home file storage, I had to buy a new one. At the same time, the processor was changed (there was a PDC E2160, it became a Celeron DC E3200).

In addition to the home file server and router, a couple of webservers are running on the server in Virtualbox (guests are Linux). And new Celerons, unlike previous low-cost Intel processors, have a hardware virtualization (VT) function. I wanted to check whether it is useful when using the virtualbox. Because Google provided links only to very old tests, in which the inclusion of VT slowed down the work.

The main difficulty was to find some small benchmark for Linux. I know that the generally accepted way to measure performance is to build a kernel, but I wanted something simpler.

In search of "simpler" went to the procbench . Just a very simple program with several tests. It is clear that synthetics have a weak attitude to real life, but in this case I just had to compare the performance in parrots.
')
To measure the performance of the disk subsystem used bonnie ++ (available in the distribution), with default settings (bonnie).

Host: Celeron Dual-Core E3200 @ 2.4GHz, 3.5GB RAM, Windows Web Server 2008 x64, VirtualBox 3.0.4
Guest: Debian Lenny, 1GB RAM, vbox guest additions installed.
The first series of tests - VT is disabled, Nested Paging is disabled.
The second series of tests - VT is enabled, Nested Paging is enabled.
100 procbench launches were made, then the average result was considered.
bonnie was launched five times, the results are also average. A restart of the host was performed between runs - to completely clear the cache (as it turned out, the host caches information for the guest. For example, if I copied the file to / dev / null, then rebooted the guest, after the restart the file was copied in a second - i.e. disk cache did not reset by guest reboot).

CPU

Virtualization is disabled:

1. ctest1 (multiplication 1x10 ^ 9 times in nested loop)1339 ms
2. ctest2 (Ackermann's function of (3, 12))3979 ms
3. ctfibo (Fibonacci number of 42)5167 ms
4. ctheapsort (Heap sort on 40mb random data)4223 ms
5. ctmatrix (Matrix multiplication)3734 ms
6. ctrandom (Random number generation)1975 ms

Virtualization is enabled:

1. ctest1 (multiplication 1x10 ^ 9 times in nested loop)1282 ms
2. ctest2 (Ackermann's function of (3, 12))3647 ms
3. ctfibo (Fibonacci number of 42)4945 ms
4. ctheapsort (Heap sort on 40mb random data)3673 ms
5. ctmatrix (Matrix multiplication)3556 ms
6. ctrandom (Random number generation)1889 ms

Performance comparison (percentage increase):

1. ctest1 (multiplication 1x10 ^ 9 times in nested loop)4.26%
2. ctest2 (Ackermann's function of (3, 12))8.34%
3. ctfibo (Fibonacci number of 42)4.30%
4. ctheapsort (Heap sort on 40mb random data)13.02%
5. ctmatrix (Matrix multiplication)4.77%
6. ctrandom (Random number generation)4.35%


HDD

Virtualization is off:

  Version 1.03d ------ Sequential Output ------ --Sequential Input- --Random-
                     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
 Machine Size K / sec% CP K / sec% CP K / sec% CP K / sec% CP K / sec% CP / sec% CP
 banshee.xxxxxxxx 2G 22737 86 34572 61 18864 41 30355 84 71007 76 562.9 21
                     ------ Sequential Create ------ -------- Random Create --------
                     -Create-- --Read --- -Delete-- -Create-- --Read --- -Delete--
               files / sec% CP / sec% CP / sec% CP / sec% CP / sec% CP / sec% CP
                  16 6218 97 +++++ +++ 8799 99 6651 99 +++++ +++ 7900 1
 banshee.xxxxxxxxx.xx, 2G, 22737,86,34572,61,18864,41,30355,84,71007,76,562.9,21,16,6218,97, ++++++++, 8799.99, 6651.99, +++++, +++, 7900.1 


Virtualization is enabled:

  Version 1.03d ------ Sequential Output ------ --Sequential Input- --Random-
                     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
 Machine Size K / sec% CP K / sec% CP K / sec% CP K / sec% CP K / sec% CP / sec% CP
 banshee.xxxxxxxx 2G 43997 86 33739 13 29359 10 41485 79 88934 15 406.5 6
                     ------ Sequential Create ------ -------- Random Create --------
                     -Create-- --Read --- -Delete-- -Create-- --Read --- -Delete--
               files / sec% CP / sec% CP / sec% CP / sec% CP / sec% CP / sec% CP
                  16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 banshee.xxxxxxxxx.xx, 2G, 43997,86,33739,13,29359,10,41485,79,88934,15,406.5,6,16, +++++, +++, +++++, ++ +, +++++, +++, +++++, +++, +++++, +++, +++++, +++

www.textuality.com/bonnie/advice.html - a small legend

Conclusion

The average performance increase in the tests of the processor was 6.51%. Nice, but not critical.
But the speed of disk operations has grown very noticeably - there is either an increase in the speed of disk operations, or a decrease in processor load during disk operations. Or both that, and another.

In general, my doubts about the need for VT were dispelled. It is clear that the increase in performance it should have provided, but now I at least see what and how much I get.

Source: https://habr.com/ru/post/67736/


All Articles