VirtualBox

Ticket #11674 (closed defect: fixed)

Opened 13 months ago

Last modified 10 months ago

Significant performance regresion (40%) (also present in 4.2.10)

Reported by: piotrjurkiewicz Owned by:
Priority: major Component: other
Version: VirtualBox 4.2.8 Keywords:
Cc: Guest type: other
Host type: other

Description

I have noticed a significant performance regression in CPU and network intensive operation from version 4.2.6 to 4.2.8. Regression is also present in 4.2.10. I am running Windows 7 x64 host with Debian 6 x32 guests. Intel i5-3570k.

Introduction

I am running a scientific project related to routing and traffic management algorithms. We are testing new algorithms with own software routing suite containing Click Modular Router and XORP ( AGH Live Router).

Before deploying an experimental network into the real lab, I am testing it on virtual machines. VirtualBox is very useful tool because of its performance and simplicity of creating internal networks between VMs.

Details

Click kernel module processes packets. It is a CPU intensive operation. It means that the router's throughput is limited by the CPU, not by the throughput of the interface. For example using Intel PRO/1000 virtual adapters I was able to reach 40MB/s with CPU ~95% loaded by the kernel Click thread.

However, after upgrading to version 4.2.10 I have noticed a performance regression. Throughput dropped to 24 MB/s. I started to investigating what is the cause of regression and I have found out that performance drop appears in version 4.2.8.

I tested this on another machine (Core2Duo T7700, Win7 64x). Interestingly, in that case there is no performance degradation or it is very small (13 to 12 MB/s).

How to reproduce this

You can find all the files there:  https://www.dropbox.com/sh/ccenilhx7l53z8u/raMCVeuwc-

  1. Start all three virtual machines (R1, R2, R4). Each machine should boot from the appropiate live cd (R1 from r1.iso, R2 from r2.iso, etc.).
  1. System will start. After the system boot application called Clicky starts automatically. With Clicky you can inspect currently loaded configuration of the Click kernel module. Don't mind with that. If you only see a graph inside a Clicky it means that the configuration has been loaded correctly.
  1. All three machines have running OSPF daemons. After boot you should wait ~30s in order to let them to establish adjaciencies. You can check the propagation of routing information with linux command "route". Basically you should only check if R1 "sees" network 192.168.4.0. If not - wait a minute more. Sometimes XORP has problems with setting routes to the kernel. If you don't see proper routes 2 minutes after boot, reboot the R1.
  1. Create a sample large file on R4. You can use "dd" command (see screenshots). After that invoke "python -m SimpleHTTPServer 80" in the directory containing created file.
  1. Download this file to R1 with command "wget 192.168.4.2/largefile".
  1. Uninstall VirtualBox and install verion 4.2.6. Do not make any changes in VMs configurations. Just start machines and perform a test starting from the point 1.

Attachments

4.2.6.png Download (311.0 KB) - added by piotrjurkiewicz 13 months ago.
4.2.6 screenshot
4.2.8.png Download (267.2 KB) - added by piotrjurkiewicz 13 months ago.
4.2.8 screenshot
network.png Download (133.7 KB) - added by piotrjurkiewicz 13 months ago.
Network topology (there is no R3 and links bandwidth is not limited)
VBox.log Download (86.8 KB) - added by piotrjurkiewicz 13 months ago.
Log from R2 (the most loaded machine) 4.2.10

Change History

Changed 13 months ago by piotrjurkiewicz

4.2.6 screenshot

Changed 13 months ago by piotrjurkiewicz

4.2.8 screenshot

Changed 13 months ago by piotrjurkiewicz

Network topology (there is no R3 and links bandwidth is not limited)

comment:1 Changed 13 months ago by piotrjurkiewicz

Writing "with CPU ~95% loaded by the kernel Click thread" I mean of course R2 (the router in the middle) which all the traffic goes through.

comment:2 Changed 13 months ago by frank

Please add a VBox.log file of such a VM session, preferably from VBox 4.2.10.

Changed 13 months ago by piotrjurkiewicz

Log from R2 (the most loaded machine) 4.2.10

comment:3 Changed 13 months ago by frank

I have only a wild guess about the cause of the regression you saw. Would you mind testing  this build and check if the performance regression is gone?

comment:4 Changed 12 months ago by piotrjurkiewicz

I have tested the build provided by you and I can confirm that the performance regression is gone (performance is again as high as in 4.2.6).

comment:5 Changed 12 months ago by frank

In that case I assume that the recently released 4.2.12 build again shows the same performance regression? Can you confirm this?

Last edited 12 months ago by frank (previous) (diff)

comment:6 Changed 12 months ago by piotrjurkiewicz

Yes, I confirm that. Performance regression is again present in 4.2.12.

comment:7 Changed 11 months ago by frank

The VT-x code got a major rewrite. The next major release should fix a number of bugs and should also increase the performance. Could you check if  this test build still shows the performance problems you saw with VBox 4.2.12?

comment:8 Changed 11 months ago by piotrjurkiewicz

In 4.2.51-85830 you have provided performance dropped yet more, to 17 MB/s.

comment:9 Changed 11 months ago by frank

Thanks for your test. Could you also test  this 4.2.13 build? The performance regression should be fixed.

comment:10 Changed 10 months ago by piotrjurkiewicz

I have problems with the installation of this build. First time I managed to install it, but starting a VM resulted in bluescreen and system crash, so I removed that. When I try to install it again, installation ends prematurely with an error.

Version 0, edited 10 months ago by piotrjurkiewicz (next)

comment:11 Changed 10 months ago by frank

Could you completely uninstall VirtualBox and try again to install this build?

comment:12 Changed 10 months ago by piotrjurkiewicz

Installation ends with an error and message that system has not been modified.

comment:13 Changed 10 months ago by frank

Could you check the officially released VBox 4.2.14?

comment:14 Changed 10 months ago by piotrjurkiewicz

With the 4.2.14 I am able to reach 40MB/s, so it seems that the regression is gone. Thanks.

comment:15 Changed 10 months ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

Great, thanks for testing!

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use