VirtualBox

12 年 前 建立

11 年 前 結束

#11674 closed defect (fixed)

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

回報者: piotrjurkiewicz 負責人:
元件: other 版本: VirtualBox 4.2.8
關鍵字: 副本:
Guest type: other Host type: other

描述

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.

附加檔案 (4)

4.2.6.png (311.0 KB ) - 12 年 前, 由 piotrjurkiewicz 新增
4.2.6 screenshot
4.2.8.png (267.2 KB ) - 12 年 前, 由 piotrjurkiewicz 新增
4.2.8 screenshot
network.png (133.7 KB ) - 12 年 前, 由 piotrjurkiewicz 新增
Network topology (there is no R3 and links bandwidth is not limited)
VBox.log (86.8 KB ) - 12 年 前, 由 piotrjurkiewicz 新增
Log from R2 (the most loaded machine) 4.2.10

下載所有附檔: .zip

更動歷史 (19)

12 年 前piotrjurkiewicz 編輯

附檔: 新增 4.2.6.png

4.2.6 screenshot

12 年 前piotrjurkiewicz 編輯

附檔: 新增 4.2.8.png

4.2.8 screenshot

12 年 前piotrjurkiewicz 編輯

附檔: 新增 network.png

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

comment:1 12 年 前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 12 年 前Frank Mehnert 編輯

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

12 年 前piotrjurkiewicz 編輯

附檔: 新增 VBox.log

Log from R2 (the most loaded machine) 4.2.10

comment:3 12 年 前Frank Mehnert 編輯

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 12 年 前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 12 年 前Frank Mehnert 編輯

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

最後由 Frank Mehnert 編輯於 12 年 前 (上一筆) (差異)

comment:6 12 年 前piotrjurkiewicz 編輯

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

comment:7 12 年 前Frank Mehnert 編輯

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 11 年 前piotrjurkiewicz 編輯

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

comment:9 11 年 前Frank Mehnert 編輯

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

comment:10 11 年 前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 it. When I try to install it again, installation ends prematurely with an error.

最後由 piotrjurkiewicz 編輯於 11 年 前 (上一筆) (差異)

comment:11 11 年 前Frank Mehnert 編輯

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

comment:12 11 年 前piotrjurkiewicz 編輯

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

comment:13 11 年 前Frank Mehnert 編輯

Could you check the officially released VBox 4.2.14?

comment:14 11 年 前piotrjurkiewicz 編輯

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

comment:15 11 年 前Frank Mehnert 編輯

狀態: newclosed
處理結果: fixed

Great, thanks for testing!

注意: 瀏覽 TracTickets 來幫助您使用待辦事項功能

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette