摘要:在壹個基於Vagrant的本地環境中,可能是某個錯誤的原因,導致HHVM測試結果很差;在HHVM夥伴們協助下,該原因仍在研究中!然而,在DigitalOcean的壹個4GB虛擬機中,HHVM甚至蓋過了最新版的PHP-NG的風頭!
結論:它們反映出HHVM的功效更佳(在JIT熱啟動後),雖然出於某些原因,我們不能在所有裝備中獲取這些結果。
如果妳記得我們在幾個月前寫過壹篇文章,那時WordPress 3.9表明是完全支持HHVM的,當時是那麽令我們歡欣鼓舞。最初的基準測試結果顯示,HHVM要比驅動著當前所有PHP構建的Zend引擎高級得多。後來,問題就出來了:
HHVM只能以單個用戶運行,這意味著(在***享環境中)安全性差了
HHVM在崩潰後不會自動重啟,而不幸的是,它至今仍然經常發生
HHVM在啟動時使用大量內存,雖然,它和同規模的PHP-FPM比較,單個請求的內存使用量更低
很顯然,妳不得不根據妳的(或者更確切地說是妳的站點)的需求采取折中方案,然而這值得嗎?切換到HHVM後,妳期望獲得多少性能改善呢?
在Kinsta,我們真的想要測試所有新技術,並通常會優化這壹切來為我們的客戶提供最佳的環境。今天,我最終花了點時間來配置測試環境並進行了壹些測試來對比兩個不同的構建,壹個是全新出爐的WordPress安裝,另外壹個則添加了大量內容的WooCommerce!為了計量腳本的運行時間,我只是簡單地添加了
<?php timer_stop(1); ?>
這壹行到footer.php的/body標記前。
這裏是配置環境的詳情:
DigitalOcean 4GB 雨滴容器 (2 CPU核心, 4GB RAM)
Ubuntu 14.04, MariaDB10
測試站點: 已導入演示內容的Munditia主題,WooCommerce 2.1.12 & WordPress 3.9.1
PHP 5.5.9, PHP 5.5.15, PHP 5.6.0 RC2, PHP-NG (20140718-git-6cc487d)和HHVM 3.2.0 (版本是PHP 5.6.99-hhvm)
沒有進壹步大費周章,這些就是我的測試結果,數值越低越好,以秒為單位:
DigitalOcean 4GB 雨滴容器
單位是秒,運行10次,越低越好
看起來似乎PHP-NG在它首次運行後就獲得了峰值性能!HHVM需要更多幾次重載,但是它們的性能貌似差不多!我等不及PHP-NG合並到開發主幹了!:)
壹分鐘命中數,越高越好。
PHP 5.5.15禁用OpCache
執行: 236 hits
可用性: 100.00 %
消耗時間: 59.03 secs
傳輸的數據: 2.40 MB
回應時間: 2.47 secs
執行率: 4.00 trans/sec
吞吐量: 0.04 MB/sec
並發數: 9.87
成功的執行: 236
失敗的執行: 0
最長執行: 4.44
最短執行: 0.48
PHP 5.5.15啟用OpCache
執行: 441 hits
可用性: 100.00 %
消耗時間: 59.55 secs
傳輸的數據: 4.48 MB
回應時間: 1.34 secs
執行率: 7.41 trans/sec
吞吐量: 0.08 MB/sec
並發數: 9.91
成功的執行: 441
失敗的執行: 0
最長執行: 2.19
最短執行: 0.64
PHP 5.6 RC2禁用OpCache
執行: 207 hits
可用性: 100.00 %
消耗時間: 59.87 secs
傳輸的數據: 2.10 MB
回應時間: 2.80 secs
執行率: 3.46 trans/sec
吞吐量: 0.04 MB/sec
並發數: 9.68
成功的執行: 207
失敗的執行: 0
最長執行: 3.65
最短執行: 0.54
PHP 5.6 RC2啟用OpCache
執行: 412 hits
可用性: 100.00 %
消耗時間: 59.03 secs
傳輸的數據: 4.18 MB
回應時間: 1.42 secs
執行率: 6.98 trans/sec
吞吐量: 0.07 MB/sec
並發數: 9.88
成功的執行: 412
失敗的執行: 0
最長執行: 1.93
最短執行: 0.34
HHVM 3.2.0(版本是PHP 5.6.99-hhvm)
執行: 955 hits
可用性: 100.00 %
消耗時間: 59.69 secs
傳輸的數據: 9.18 MB
回應時間: 0.62 secs
執行率: 16.00 trans/sec
吞吐量: 0.15 MB/sec
並發數: 9.94
成功的執行: 955
失敗的執行: 0
最長執行: 0.85
最短執行: 0.23
PHP-NG啟用OpCache(構建: Jul 29 2014)
執行: 849 hits
可用性: 100.00 %
消耗時間: 59.88 secs
傳輸的數據: 8.63 MB
回應時間: 0.70 secs
執行率: 14.18 trans/sec
吞吐量: 0.14 MB/sec
並發數: 9.94
成功的執行: 849
失敗的執行: 0
最長執行: 1.06
最短執行: 0.13