因為公司要開發一個高並發的接口,為了節省伺服器資源,所以對一些常見的框架進行調查,判斷哪一款性能符合要求
前期準備
安裝壓力測試工具(我用的是ab)
ab全稱為:apache bench
在官網上的解釋如下:(推薦學習:PHP程式設計從入門到精通)
AB是Apache的超文本傳輸協定(HTTP)的效能測試工具。其設計意圖是描繪目前所安裝的的Apache的執行效能,主要是顯示你安裝的Apache的每秒可以處理多少個請求。
安裝框架
我這裡安裝了yii2、ci、lumen5.0、tp5、biny框架
進行測試
將每個框架都連結本地資料庫,開啟緩存,進行兩輪測試,分別為純html頁面和資料庫運算頁面
電壓測量為並發數20,總量300
測試結果
資料庫運作壓力測結果如下:
#純html介面壓測結果如下:
#結果分析
原生腳本的抗壓能力最強,但是開發效率低下,後期維護成本高,而且,這裡只是簡單的測試了一下資料庫運算,具體項目的差距可能沒有這麼大
ci和biny的並發效果是最好的,但是ci版本已經很老了,更新可能是個問題,而biny是騰訊最近開源的框架,在某些地方還有缺陷,而且,文檔也不夠友好,目前只有框架中內嵌了官方文檔,沒有手冊,且閱讀性很差
tp5的效率雖然比不上上述三種框架,但是性能也還可以,對php7支援很好,問題是框架目錄混亂,不利於大型專案開發
lumen和yii2的並發支援都不是很好,但是這兩個框架本身功能非常強大,其中yii2對restful介面支援更友好,如果不差錢,還是建議用yii2進行restful接口規範進行開發
以上是php怎麼壓力測試的詳細內容。更多資訊請關注PHP中文網其他相關文章!