web環境下的hhvm效能測試

2021-06-22 10:50:04 字數 2270 閱讀 9351

hiphop vm(hhvm)是facebook推出的用來執行php**的虛擬機器,它是乙個php的jit(just-in-time)編譯器,同時具有產生快速**和即時編譯的優點。根據facebook透漏,hhvm在速度方面獲得了顯著改進,比目前使用的php直譯器快60%,而使用記憶體減少90%。

hhvm虛擬機器以jit和fastcgi方式執行php程式的效能,比php原生效能是否有提高。

伺服器系統:centos release 6.3 (final)

cpu:16核  intel(r) xeon(r) cpu  e5620  @ 2.40ghz

記憶體: 16g

軟體環境: hhvm虛擬機器版本:hiphop vm 3.1.0

php版本:php5.3.28

nginx版本:

nginx 

1.2.8

apachebench(ab)版本:  apachebench 2.3

根據hhvm官網提供,大概總結了hhvm有這三種執行方式。

(1)nginx + hhvm fastcgi(nginx作為伺服器,hhvm作為fastcgi方式開啟)

(2)hhvm(本身作為server)

(3)nginx + hhvm server(hhvm本身作為伺服器,nginx作為proxy)

但是據官方建議使用fastcgi模式執行,所以將進行如下的測試對比。

(nginx + php fastcgi)     vs    (nginx + hhvm fastcgi)

1、下面將分為三個層面的邏輯對hhvm和php進行對比測試

1)、test.php(簡單的輸出helloworld)

2)、caculate.php(簡單的動態累加計算輸出計算結果)

3)、login.php(**直播業務**輸出登陸頁面)

2、測試效果圖如下:

1、cacultate.php(累加計算並輸出計算結果)

2、fibonacci.php(斐波拉契數列計算並輸出計算結果)

在cpu達到將近跑滿的情況下,檢視每秒鐘的請求數量。來判斷cpu效率情況。

備註:之所以對斐波拉契數列進行對比測試,是因為發現官網上說hhvm在執行斐波拉契數列計算的時候比php效果更佳。如下官網截圖:

我的測試效果圖如下:

經過測試效果來看,的確,在處理斐波拉契數列計算上,在cpu將近跑滿的狀態下,hhvm每秒鐘處理的請求數確實比php的多了數倍。

但是從動態累加計算來看,php比hhvm效果要好。

該測試中斐波拉契相關結果與《

hhvm2.4基準測試》 一致。

1、以上rps資料表明對於普通動態業務而言,hhvm3.1併發效能不如php。

2、以上tpr資料表明在併發數相同的情況下,hhvm3.1的耗時比php高。

3、從cpu的測試效果來看,對於cpu密集型業務,hhvm和php各有優勢。(譬如在斐波拉契數列計算上hhvm效果好,但是在累加計算上php表現更好)

綜上所述:hhvm可能適合比較複雜的計算,而對於一般的動態業務並不需要hhvm來替代php。我個人覺得其一可能是hhvm本身作為server穩定性相對來說不是很穩定,其二,它本身可能不夠成熟,支援php的擴充套件也不是很好。其三,它提供的fastcgi的介面可能沒有php完善。不過hhvm可能還有很多優點和不足,個人理解能力有限。我只能從我測試的角度看出一些不足,如果大家發現其他的優點和不足,希望大家給我更好的建議,多多學習,多多益善。

全棧效能測試 04敏捷環境下的效能測試

最主要的一點就是這麼把功能測試的場景,這麼轉化為效能場景 效能測試的2個難點 1 不知道測什麼 2.不知道怎麼調優 效能測試計畫 doc文件可以參考 xx都市 專案 效能測試方案與計畫書 版本 v0.2 修訂記錄 版本號 修訂人 修訂日期 修訂描述 0.1 小豬 2019 12 1 新建 0.2 小...

併發環境下的快取容器效能優化(下) 效能測試

需要強調一點的是,我們這裡討論的僅僅是符合我提出的特定場景的快取容器,而不是乙個 執行緒安全的字典 或者說,其實我這裡更強調的是 併發環境下 的 讀 效能,而不涉及idictionary的其他操作 如count 更不會關心如copyto remove這類功能的效能。public inte ce ic...

web效能測試(ab siege)

web效能測試工具apachebench和siege使用。一.apachebench ab 是apache自帶的web效能測試工具,安裝apache預設安裝ab,ab是命令列工具,linux下安裝apache後可以直接使用 1.ab簡單使用和測試指標介紹 使用ab需要注意,如果url後面沒問具體文件...