我們切換到新的開發服務器,並體驗到我們的測試套件需要兩倍的時間。我們測試了數據庫,文件系統等,但這些東西速度相當快,甚至比以前更快。與OpenVZ的6S後根據虛擬化引擎,Ruby在虛擬機上運行緩慢
機:11,5
所以我們寫了一個小紅寶石基準測試(斐波那契),並執行了幾次(平均低於):
time_start = Time.now
f = lambda { |x| x < 2 ? x : f.call(x-1) + f.call(x-2) }
f.call(35)
time = Time.now - time_start
puts "#{time.round(4)}s needed"
機之前,XEN
在兩臺機器上是Debian的擠壓安裝RVM( - >編譯)紅寶石1.9.3-P194。這些機器沒有高負載,內存也可以。
或多或少唯一的區別是虛擬化引擎。在生產中我們使用VMware ESXi。那裏的基準需要大約11s。 我們用KVM測試了另一臺服務器,那裏的基準需要2,5s。
- 機與XEN:6S
- 機與OpenVZ的:11,5s
- 機與VMware ESXi的:11S
- 機與KVM:2,5s
那麼我們可以通過虛擬化改變我們的紅寶石速度?或者你有另一個想法是什麼問題?
野趣的問題,但在我看來,這是很難在不同的虛擬化技術來比較的基準! – Robin
@Sam:不幸的是,我們沒有其他想法可以解決什麼問題...... – MMore
我會在所有系統上運行非Ruby的CPU基準測試,以確保問題與Ruby相關。所有機器都運行64位嗎? – claasz