Linux中國

PHP 5.5 / PHP5.6 / PHP-NG 和 HHVM 哪個性能更好?

結論:它們反映出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

注意:這裡節略了前一次的測試結果(有誤),如感興趣請訪問原文查看。

via: https://kinsta.com/blog/real-world-wordpress-benchmarks-with-php5-5-php5-6-php-ng-and-hhvm/

作者:Mark Gavalda 譯者:GOLinux 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國