nGrinder簡介
nGrinder是基于Grinder開源項目,由NHN公司的開發團隊進行了重新設計和完善。nGrinder是一款非常易用,有簡潔友好的用戶界面和controller-agent分布式結構的強大的壓力測試工具。
nGrinder測試基于python測試腳本(groovy也可),用戶按照一定規范編寫測試腳本,controller會將腳本一集需要的資源分發到agent,用jython執行。并且在執行的過程中收集運行情況、相應時間、測試目標服務器的運行情況等。并且保存這些數據生成測試報告,以供查看。
這款框架的一大特點就是非常的簡單易用,安裝也很容易,可以說是開箱即用。
為什么是nGrinder
- JMeter
基于UI操作,容易上手,但是不具備編程能力。其次JMeter基于線程模擬數千用戶幾乎不可能。 - Tsung
基于Erlang,能模擬上千用戶并且易于擴展。但是基于XML的DSL,描述場景能力弱,而且需要大量的數據處理才知道測試結果。 - Locust
基于python的gevent,能模擬百萬個用戶。但是需要對python有一定理解。 - Loadrunner
這個可以說是應用最多的一個,很方便,但是還是太重。往后的方向肯定是客戶端工具逐步向平臺化發展,所以loadrunner注定慢慢被淘汰(個人拙見)。而且不開源,擴展性不高,收費。 - nGrinder
單節點支持3000并發、支持分布式、可監控被測服務器、可錄制腳本、開源、平臺化。
綜上可以看出nGrindr還是有很多優勢的。
用nGrinder做一個簡單的壓測
- 安裝controller
nGrinder是一個web應用和java應用的組合,需要裝JDK1.6+的版本。
從下載地址獲取安裝需要的war包后,執行下面的命令啟動nGrinder。如果不指定端口,默認8080端口。
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.3.war --port 80
啟動之后,就可以通過http://localhost:80訪問ngrinder了。
-
安裝agents
1.通過admin/admin登陸nGrinder。
2.下載agent
3.解壓包并運行其中的run_agent.sh或者run_agent.bat即可。
4.可以通過菜單欄中的代理管理進入agent管理頁面。
- 安裝Monitor
Montior是agent的一個子集,用于收集目標服務器的相關數據,比如CPU、MEM、NetWork等信息。
1.下載
通過菜單欄中的下載監控按鈕下載。
2.啟動
解壓包后,運行run_montior.sh(linux/mac)或者bat(windows)。 -
測試步驟
1.輸入一個測試的url,選擇腳本語言,然后開始測試,nGrinder會自動生成測試腳本并進入配置頁面。
2.根據需求修改腳本
3.配置選項
4.運行
在配置頁面右上角點擊保存并運行,啟動測試。
5.結果
當啟動測試后,會在頁面顯示當前的TPS、虛擬用戶、測試成功與否的數量等信息。測試完成后,會顯示測試結果。
可以點擊詳細測試結果查看更詳細的信息,比如TPS、平均時間、首次接受數據平均時間,以及被測服務器的CPU,MEM等信息。