一、nGrinder 元件介紹
1、ngrinder包含Controller、agent 和 monitor 三部分
2、Controller
×××能測試的web接口
協調測試程序
調整和顯示測試的統計結果
讓使用者建立和修改腳本
3、Agent
在代理伺服器上加載運作測試程序和線程
可以部署多台,提升壓測能力
最好是能部署在單獨的伺服器上,如果沒有條件的話,也可以跟Controller在一台伺服器
但是不能部署在被測伺服器上
4、Monitor
用于監控被測伺服器的系統性能(例如:CPU/MEMORY)
必須部署在被測伺服器上
二、nGrinder 環境搭建
$ java -XX:MaxPermSize=512m -jar ngrinder-controller-3.4.war --port 80
可在下載下傳ngrinder後,直接通過上面的指令運作
也可以通過下面的方式,把war包放在tomcat容器中運作
1、安裝JDK,配置環境變量
2、安裝Tomcat
3、下載下傳nGrinder:https://github.com/naver/ngrinder/releases
4、把下載下傳好的包放到Tomcat的webApps檔案夾中
5、啟動Tomcat,并通路nGrinder
nGrinder首頁:http://localhost:8080/ngrinder-controller-3.4/ 看到下圖表示搭建成功。
如果想直接通過http://localhost:8080/通路,把檔案名改為ROOT.war即可
6、安裝Agent
登入 nGrinder 管理台,預設賬号和密碼都是admin,點選右上角,選擇 Download Agent(如果使用的是admin帳号登入,下載下傳的agents包中的配置可以分享給所有的使用者使用。如果使用非admin帳号登入,下載下傳連結将變成“Download Private Agent” ,下載下傳的agent包中的配置隻能目前使用者使用)
把 ngrinder-agent 壓縮包解壓到用作Agent的伺服器上,運作 run_agent.sh 即可
7、安裝Monitor(需要安裝在被測伺服器上)
下載下傳Monitor安裝包,方法類似Agent
把 ngrinder-monitor 壓縮包解壓到被測伺服器上,運作 run_monitor.sh 即可
補充說明:
ngrinder支援開箱即用,不需要額外配置,第一次啟動時,系統配置自動生成
預設使用H2資料庫,且schema自動建立
版本更新時,資料庫schema自動更新
agent 、monitor子產品從controller下載下傳,無需配置
版本更新時,隻需更新controller,agent和monitor會自動更新
線上修改系統配置,多資料修改無需重新開機
即使用cluster模式,配置也很簡單
三、快速使用
1、輸入測試URL,選擇腳本語言,然後點選開始測試,會自動生成測試腳本并進入配置頁面或者通過點選管理後上方的 script 或 腳本 按鈕,進入腳本管理頁面,建立腳本,效果相同。
在建立腳本時,可以選擇使用的語言為Groovy或Jython,但是由于這兩種語言執行性能上的差别,建議優先使用性能更好的Groovy來編寫壓測腳本(官方驗證相同情況下groovy比jython支援2倍左右的并發數)
2、基本的壓測配置
代理:是指壓測所需要的server的數量
虛拟使用者有兩個名額:
程序數:每個server起多少程序去跑
線程數:每個程序建立的線程數量
并發量=代理數x程序數x線程數
Ramp-Up:設定增量測試,逐漸向最大的的并發量增長,隻有勾選該框時,初始數、增量、初始等待時間、程序增長間隔的值才有效
測試時間:表示壓測需要持續運作的時間
測試次數:腳本執行的次數,同測試時間二選一
3、運作測試
在配置頁面右上角點選儲存并運作,啟動測試。
4、監控測試,檢視結果
當啟動測試後,會在頁面顯示目前的TPS、虛拟使用者、測試成功與否的數量等資訊。測試完成後,會顯示測試結果。