先決條件
- nGrinder是web應用程序(控制器)和Java應用程序(代理、監(jiān)視器)的組合。如果您不知道什么是控制器和代理,請參考 nGrinder簡介。
要安裝nGrinder控制器和代理,您需要Oracle JDK 1.6~或OpenJDK 1.7~。 - 如果您的java路徑位于路徑的開頭,請檢查PATH環(huán)境變量,以便能夠運行合適的java。
- nGrinder使用多個端口與agent及agent進行通信。如果防火墻阻止了一些端口,您應該要求網(wǎng)絡管理員打開防火墻中的以下端口。這些端口可以通過配置進行配置。
- 代理端:Any ==> 控制器:16001
- 代理端:Any ==> 控制器:12000 ~ 12000+(允許并發(fā)測試次數(shù))
- 控制器:Any ==> 監(jiān)視器:13243
- 控制器 ==> 公共用戶:這取決于您的tomcat配置。默認情況下,它被設(shè)置為8080。
下載
您可以從以下鏈接下載 nGridner控制器。
安裝控制器
nGrinder是作為一個自執(zhí)行web存檔文件(WAR)分發(fā)的,就像Jenkins一樣,您可以將此存檔文件放入您熟悉的web應用服務器(如Tomcat)或在命令行中運行包。
!小心,永遠不要將war文件放在包含像這樣的文件夾的空間中 "C:\Program Files\Tomcat\webapps"
通過Docker運行
如果你喜歡通過docker運行。請參閱 https://hub.docker.com/r/ngrinder/controller/
作為可執(zhí)行文件運行
1、請確保您提前正確配置了PATH和JAVA_HOME。
2、使用以下命令運行nGrinder控制器。
java -jar ngrinder-controller-X.X.war
3、然后您將看到以下錯誤消息。nGrinder需要非常大的PermGen內(nèi)存,因為它包含很多庫,比如SVNKit、maven、Jetty webserver、groovy和python。重新運行ngrinder,并添加PermGen設(shè)置。nGrinder需要相當大的perm-gen內(nèi)存。請使用以下命令運行nGrinder。
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war
4、默認情況下,nGrinder為web服務器端口使用8080。如果您想使用另一個端口,請指定--port port_number作為參數(shù)。
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war --port 80
5、當執(zhí)行war文件時,將提取war到 ~/.ngrinder/webapp 目錄,并創(chuàng)建多個默認數(shù)據(jù)文件,比如DBs到.ngrinder目錄
6、如果您可以在屏幕上看到以下日志,那么ngridner控制器現(xiàn)在就可以運行了。
INFO 14. 1. 20 ?? 4:39:liquibase: ChangeSet ngrinder_datachange_logfile/db.changelog_schema_22.xml::22::ngrinder.3.3 r
an successfully in 4ms
INFO 14. 1. 20 ?? 4:39:liquibase: ChangeSet ngrinder_datachange_logfile/db.changelog_schema_23.xml::23::ngrinder.3.3 r
an successfully in 7ms
INFO 14. 1. 20 ?? 4:39:liquibase: ChangeSet ngrinder_datachange_logfile/db.changelog_schema_24.xml::24::ngrinder.3.3 r
an successfully in 2ms
INFO 14. 1. 20 ?? 4:39:liquibase: ChangeSet ngrinder_datachange_logfile/db.changelog_schema_25.xml::25::ngrinder.3.3 r
an successfully in 7ms
INFO 14. 1. 20 ?? 4:39:liquibase: ChangeSet ngrinder_datachange_logfile/db.changelog_schema_26.xml::26::ngrinder.3.3 r
an successfully in 8ms
2014-01-20 16:39:30.633:INFO:/:Initializing Spring FrameworkServlet 'appServlet'
2014-01-20 16:39:31.141:INFO::Started SocketConnector@@0.0.0.0:8080
7、然后打開瀏覽器,進入 http://localhost:8080/
運行在TOMCAT
1、將war文件放到tomcat的webapps文件夾${TOMCAT_HOME}/webapps中。如果您想在沒有ngrinder-controller上下文路徑的情況下訪問ngrinder,您應該將war文件名更改為ROOT.war。
2、打開 catalina.sh 或者 catalina.bat ,然后把下面的內(nèi)容放在文件的開頭。
JAVA_OPTS="-Xms600m -Xmx1024m -XX:MaxPermSize=200m" # for catalina.sh
set JAVA_OPTS=-Xms600m -Xmx1024m -XX:MaxPermSize=200m # for catalina.bat
3、運行 ${TOMCAT_HOME}/startup.sh 或者 startup.bat
4、打開瀏覽器訪問http://localhost:8080/ngrinder-controller-X.X ,或者如果你將war文件重命名為ROOT.war 則訪問 http://localhost:8080
更多
1、nGrinder通過集群多個控制器支持多個區(qū)域(運行獨立的代理集屬于多個網(wǎng)絡區(qū)域)。參見 控制器集群指南
2、nGrinder有許多可配置選項,可根據(jù)每種需求定制nGrinder。參見 控制器配置指南
安裝代理端
與以前的nGrinder不一樣,nGrinder 3.3 agents是從controller中下載的。下載的代理程序包已經(jīng)包含連接到控制器的默認代理配置。只要打開tar文件和運行run_agent.sh或者run_agent.bat就能讓代理連接到控制器。
1、以admin身份登錄。默認的管理密碼也是admin。

2、單擊右上角菜單并單擊下載代理菜單。

因為您是以admin身份登錄的,所以可下載的代理包包含允許所有用戶共享代理的配置。
如果您以非admin帳戶的身份登錄,鏈接將被更改為“下載私有代理”,其中包含允許代理只被當前用戶占用的配置。
詳情請見私人代理。
3、包含代理的tar存檔將很快下載。
在widows系統(tǒng),tar文件能被7zip提取,或者使用tar xvf tar_file.tar命令
4、解壓tar并運行run_agent.sh或run_agent.bat。代理將使用以下邏輯執(zhí)行。
① 檢查~/.ngrinder_agent文件夾,可以看到配置(agent.conf)是否存在
② 如果不存在,復制當前文件夾的__agent.conf配置文件到~/.ngrinder_agent/agent.conf和加載它。
③ 如果它存在,只需使用現(xiàn)有配置~/.ngrinder_agent/agent.conf直接運行
5、如果您想用最新的配置覆蓋現(xiàn)有的配置,請將-o選項作為參數(shù)
run_agent.sh -o # 在 linux/mac 運行
run_agent_bg.sh -o # 在 linux/mac 后臺運行
run_agent.bat –o # 在 windows 上運行
6、如果你想停止代理程序。
stop_agent.sh # 在 linux/mac 運行
stop_agent.bat # 在 windows 運行
7、從nGrinder 3.3開始,控制器將自動批準所連接的代理,如果你在控制器中提供下面配置,那您必須自己批準代理。
controller.enable_agent_auto_approval=true
8、要批準代理,請轉(zhuǎn)到代理管理菜單并單擊approve按鈕。

9、如果在Linux中運行代理,可能需要配置ulimit以運行多個線程。請檢查下面的內(nèi)容。
> ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 30676
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 16000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 32768
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
當你運行ulimit -a時,如果你的機器設(shè)置的max user processes和open files很小, 請至少設(shè)置到10000以上。打開/etc/security/limits.conf文件,并使用root權(quán)限添加一下內(nèi)容:
your_account soft nproc 32768
your_account hard nproc 32768
root soft nproc 32768
root hard nproc 32768
your_account soft nofile 16000
your_account hard nofile 16000
root soft nofile 16000
root hard nofile 16000
默認情況下,每臺機器只支持一個代理。但是,如果希望在一臺機器上運行多個代理,則必須配置一些代理選項。請參考 代理配置指南
安裝監(jiān)控器
nGrinder監(jiān)控器是代理程序包的子集,安裝在目標機器中以收集負載下的系統(tǒng)統(tǒng)計信息(如CPU、MEM和網(wǎng)絡)。
你也可以從控制器下載監(jiān)視器。
1、下載監(jiān)視器。

2、然后解壓監(jiān)視器包并運行批處理或shell文件。
run_monitor_bg.sh # 運行在 linux/mac
run_monitor.bat # 運行在 windows
3、如果要停止監(jiān)視器,運行以下命令。
stop_monitor.sh # 運行在 linux / mac
stop_monitor.bat –o # 運行在 windows
好了?,F(xiàn)在可以運行第一個性能測試了。快速入門
更多內(nèi)容請查看: 壓力測試平臺(nGrinder)入門到精通教程