先決條件
- nGrinder是web應(yīng)用程序(控制器)和Java應(yīng)用程序(代理京郑、監(jiān)視器)的組合宅广。如果您不知道什么是控制器和代理,請(qǐng)參考 nGrinder簡(jiǎn)介些举。
要安裝nGrinder控制器和代理跟狱,您需要Oracle JDK 1.6~或OpenJDK 1.7~。 - 如果您的java路徑位于路徑的開頭户魏,請(qǐng)檢查PATH環(huán)境變量驶臊,以便能夠運(yùn)行合適的java。
- nGrinder使用多個(gè)端口與agent及agent進(jìn)行通信叼丑。如果防火墻阻止了一些端口关翎,您應(yīng)該要求網(wǎng)絡(luò)管理員打開防火墻中的以下端口。這些端口可以通過配置進(jìn)行配置鸠信。
- 代理端:Any ==> 控制器:16001
- 代理端:Any ==> 控制器:12000 ~ 12000+(允許并發(fā)測(cè)試次數(shù))
- 控制器:Any ==> 監(jiān)視器:13243
- 控制器 ==> 公共用戶:這取決于您的tomcat配置纵寝。默認(rèn)情況下,它被設(shè)置為8080星立。
下載
您可以從以下鏈接下載 nGridner控制器爽茴。
安裝控制器
nGrinder是作為一個(gè)自執(zhí)行web存檔文件(WAR)分發(fā)的,就像Jenkins一樣绰垂,您可以將此存檔文件放入您熟悉的web應(yīng)用服務(wù)器(如Tomcat)或在命令行中運(yùn)行包室奏。
!小心劲装,永遠(yuǎn)不要將war文件放在包含像這樣的文件夾的空間中 "C:\Program Files\Tomcat\webapps"
通過Docker運(yùn)行
如果你喜歡通過docker運(yùn)行胧沫。請(qǐng)參閱 https://hub.docker.com/r/ngrinder/controller/
作為可執(zhí)行文件運(yùn)行
1、請(qǐng)確保您提前正確配置了PATH和JAVA_HOME。
2琳袄、使用以下命令運(yùn)行nGrinder控制器。
java -jar ngrinder-controller-X.X.war
3纺酸、然后您將看到以下錯(cuò)誤消息窖逗。nGrinder需要非常大的PermGen內(nèi)存,因?yàn)樗芏鄮?kù)餐蔬,比如SVNKit碎紊、maven、Jetty webserver樊诺、groovy和python仗考。重新運(yùn)行ngrinder,并添加PermGen設(shè)置词爬。nGrinder需要相當(dāng)大的perm-gen內(nèi)存秃嗜。請(qǐng)使用以下命令運(yùn)行nGrinder。
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war
4顿膨、默認(rèn)情況下锅锨,nGrinder為web服務(wù)器端口使用8080。如果您想使用另一個(gè)端口恋沃,請(qǐng)指定--port port_number作為參數(shù)必搞。
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war --port 80
5、當(dāng)執(zhí)行war文件時(shí)囊咏,將提取war到 ~/.ngrinder/webapp
目錄恕洲,并創(chuàng)建多個(gè)默認(rèn)數(shù)據(jù)文件,比如DBs到.ngrinder
目錄
6梅割、如果您可以在屏幕上看到以下日志霜第,那么ngridner控制器現(xiàn)在就可以運(yù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户辞、然后打開瀏覽器庶诡,進(jìn)入 http://localhost:8080/
運(yùn)行在TOMCAT
1、將war文件放到tomcat的webapps文件夾${TOMCAT_HOME}/webapps
中咆课。如果您想在沒有ngrinder-controller上下文路徑的情況下訪問ngrinder末誓,您應(yīng)該將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殊校、運(yùn)行 ${TOMCAT_HOME}/startup.sh
或者 startup.bat
4晴玖、打開瀏覽器訪問http://localhost:8080/ngrinder-controller-X.X ,或者如果你將war文件重命名為ROOT.war
則訪問 http://localhost:8080
更多
1、nGrinder通過集群多個(gè)控制器支持多個(gè)區(qū)域(運(yùn)行獨(dú)立的代理集屬于多個(gè)網(wǎng)絡(luò)區(qū)域)呕屎。參見 控制器集群指南
2让簿、nGrinder有許多可配置選項(xiàng),可根據(jù)每種需求定制nGrinder秀睛。參見 控制器配置指南
安裝代理端
與以前的nGrinder不一樣尔当,nGrinder 3.3 agents是從controller中下載的。下載的代理程序包已經(jīng)包含連接到控制器的默認(rèn)代理配置蹂安。只要打開tar文件和運(yùn)行run_agent.sh
或者run_agent.bat
就能讓代理連接到控制器椭迎。
1、以admin身份登錄田盈。默認(rèn)的管理密碼也是admin畜号。
2、單擊右上角菜單并單擊下載代理菜單允瞧。
因?yàn)槟且詀dmin身份登錄的简软,所以可下載的代理包包含允許所有用戶共享代理的配置。
如果您以非admin帳戶的身份登錄述暂,鏈接將被更改為“下載私有代理”替饿,其中包含允許代理只被當(dāng)前用戶占用的配置。
詳情請(qǐng)見私人代理贸典。
3视卢、包含代理的tar存檔將很快下載。
在widows系統(tǒng)廊驼,tar文件能被7zip提取据过,或者使用tar xvf tar_file.tar
命令
4、解壓tar并運(yùn)行run_agent.sh
或run_agent.bat
妒挎。代理將使用以下邏輯執(zhí)行绳锅。
① 檢查~/.ngrinder_agent
文件夾,可以看到配置(agent.conf
)是否存在
② 如果不存在酝掩,復(fù)制當(dāng)前文件夾的__agent.conf
配置文件到~/.ngrinder_agent/agent.conf
和加載它鳞芙。
③ 如果它存在,只需使用現(xiàn)有配置~/.ngrinder_agent/agent.conf
直接運(yùn)行
5期虾、如果您想用最新的配置覆蓋現(xiàn)有的配置原朝,請(qǐng)將-o
選項(xiàng)作為參數(shù)
run_agent.sh -o # 在 linux/mac 運(yùn)行
run_agent_bg.sh -o # 在 linux/mac 后臺(tái)運(yùn)行
run_agent.bat –o # 在 windows 上運(yùn)行
6、如果你想停止代理程序镶苞。
stop_agent.sh # 在 linux/mac 運(yùn)行
stop_agent.bat # 在 windows 運(yùn)行
7喳坠、從nGrinder 3.3開始,控制器將自動(dòng)批準(zhǔn)所連接的代理茂蚓,如果你在控制器中提供下面配置壕鹉,那您必須自己批準(zhǔn)代理剃幌。
controller.enable_agent_auto_approval=true
8、要批準(zhǔn)代理晾浴,請(qǐng)轉(zhuǎn)到代理管理菜單并單擊approve按鈕负乡。
9、如果在Linux中運(yùn)行代理脊凰,可能需要配置ulimit以運(yùn)行多個(gè)線程抖棘。請(qǐng)檢查下面的內(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
當(dāng)你運(yùn)行ulimit -a
時(shí)笙各,如果你的機(jī)器設(shè)置的max user processes
和open files
很小钉答, 請(qǐng)至少設(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
默認(rèn)情況下,每臺(tái)機(jī)器只支持一個(gè)代理仑性。但是惶楼,如果希望在一臺(tái)機(jī)器上運(yùn)行多個(gè)代理,則必須配置一些代理選項(xiàng)诊杆。請(qǐng)參考 代理配置指南
安裝監(jiān)控器
nGrinder監(jiān)控器是代理程序包的子集歼捐,安裝在目標(biāo)機(jī)器中以收集負(fù)載下的系統(tǒng)統(tǒng)計(jì)信息(如CPU、MEM和網(wǎng)絡(luò))晨汹。
你也可以從控制器下載監(jiān)視器。
1淘这、下載監(jiān)視器钠怯。
2宁脊、然后解壓監(jiān)視器包并運(yùn)行批處理或shell文件并思。
run_monitor_bg.sh # 運(yùn)行在 linux/mac
run_monitor.bat # 運(yùn)行在 windows
3、如果要停止監(jiān)視器音婶,運(yùn)行以下命令。
stop_monitor.sh # 運(yùn)行在 linux / mac
stop_monitor.bat –o # 運(yùn)行在 windows
好了。現(xiàn)在可以運(yùn)行第一個(gè)性能測(cè)試了。快速入門
更多內(nèi)容請(qǐng)查看: 壓力測(cè)試平臺(tái)(nGrinder)入門到精通教程