nGrinder簡介
nGrinder是基於Grinder開源項目,由NHN公司的開發團隊進行了從新設計和完善。nGrinder是一款很是易用,有簡潔友好的用戶界面和controller-agent分佈式結構的強大的壓力測試工具。
nGrinder測試基於python測試腳本(groovy也可),用戶按照必定規範編寫測試腳本,controller會將腳本一集須要的資源分發到agent,用jython執行。而且在執行的過程當中收集運行狀況、相應時間、測試目標服務器的運行狀況等。而且保存這些數據生成測試報告,以供查看。
這款框架的一大特色就是很是的簡單易用,安裝也很容易,能夠說是開箱即用。java
爲何是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了。python
-
安裝agents
1.經過admin/admin登錄nGrinder。linux
2.下載agentgit
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會自動生成測試腳本並進入配置頁面。github
2.根據需求修改腳本web
3.配置選項
4.運行
在配置頁面右上角點擊保存並運行,啓動測試。
5.結果
當啓動測試後,會在頁面顯示當前的TPS、虛擬用戶、測試成功與否的數量等信息。測試完成後,會顯示測試結果。編程
能夠點擊詳細測試結果查看更詳細的信息,好比TPS、平均時間、首次接受數據平均時間,以及被測服務器的CPU,MEM等信息。