使用 Jmeter 測試 easyswoole 接口

服務器配置:

cpu:2核、內存:4GB  帶寬:帶寬:1Mbps

環境:nginx + php7.2 + mysql 5.7

測試工具:Jmeter 

接口的代碼和地址在前面兩篇文章中可以找到。

首先在window系統安裝jmeter,配置JDK就可以使用了。

打開jmeter,新建測試計劃,登錄接口測試。

然後創建線程組:

線程數填1000,ramp-up爲0,持續時間爲1秒,模擬 一秒 有一千個用戶註冊,即一秒鐘一千個用戶調用註冊接口。

然後創建接口請求:

填寫協議、ip、地址參數,模擬post提交 要勾選圖中兩項:keepAlive 和 對post使用 form-data 不然接收不到數據,然後參數中設置post提交的數據,這裏我用的是變量代碼 參數值,變量值從csv數據源中讀取。

接下來是設置csv數據源 

文件內容:

設置http header信息:

我的接口驗證是通過 appid 和 jwt 一起驗證的,所以header 需要這兩個參數。

然後設置相應斷言:

最後創建測試結果報告:

我用結果樹來觀察返回值,聚合報告和觀察總體概況。

接下來修改一下mysql配置 和 easyswoole mysql連接池,

mysql 最大連接數:

easyswoole 數據庫連接池數量

我沒有改nginx 支持最大請求數,可能高併發下需要優化一下nginx配置。

然後我的服務器安裝了elasticsearch ,redis,我這兩個程序關掉,elasticsearch佔的內存有點大。把數據庫user相關的清空。

準備測試:

 

 結果上來看服務器運行都很正常。一千多個請求全部執行成功,並沒有出錯,系統吞吐量 199/sec ,這還是我裝了集成環境的情況。如果換做單獨的數據庫服務器,性能還能提升不少。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章