nGrinder安装指南 - 玩转压测nGrinder
先决条件
- nGrinder是web应用程序(控制器)和Java应用程序(代理、监视器)的组合。如果您不知道什么是控制器和代理,请参考 nGrinder简介。
要安装nGrinder控制器和代理,您需要Oracle JDK 1.6~或OpenJDK 1.7~。 - 如果您的java路径位于路径的开头,请检查PATH环境变量,以便能够运行合适的java。
- nGrinder使用多个端口与agent及agent进行通信。如果防火墙阻止了一些端口,您应该要求网络管理员打开防火墙中的以下端口。这些端口可以通过配置进行配置。
- 代理端:Any ==> 控制器:16001
- 代理端:Any ==> 控制器:12000 ~ 12000+(允许并发测试次数)
- 控制器:Any ==> 监视器:13243
- 控制器 ==> 公共用户:这取决于您的tomcat配置。默认情况下,它被设置为8080。
下载
您可以从以下链接下载 nGridner控制器。
安装控制器
nGrinder是作为一个自执行web存档文件(WAR)分发的,就像Jenkins一样,您可以将此存档文件放入您熟悉的web应用服务器(如Tomcat)或在命令行中运行包。
!小心,永远不要将war文件放在包含像这样的文件夹的空间中 "C:\Program Files\Tomcat\webapps"
通过Docker运行
如果你喜欢通过docker运行。请参阅 https://hub.docker.com/r/ngrinder/controller/
作为可执行文件运行
1、请确保您提前正确配置了PATH和JAVA_HOME。
2、使用以下命令运行nGrinder控制器。
java -jar ngrinder-controller-X.X.war
3、然后您将看到以下错误消息。nGrinder需要非常大的PermGen内存,因为它包含很多库,比如SVNKit、maven、Jetty webserver、groovy和python。重新运行ngrinder,并添加PermGen设置。nGrinder需要相当大的perm-gen内存。请使用以下命令运行nGrinder。
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war
4、默认情况下,nGrinder为web服务器端口使用8080。如果您想使用另一个端口,请指定--port port_number作为参数。
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war --port 80
5、当执行war文件时,将提取war到 ~/.ngrinder/webapp
目录,并创建多个默认数据文件,比如DBs到.ngrinder
目录
6、如果您可以在屏幕上看到以下日志,那么ngridner控制器现在就可以运行了。
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
,然后把下面的内容放在文件的开头。
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通过集群多个控制器支持多个区域(运行独立的代理集属于多个网络区域)。参见 控制器集群指南
2、nGrinder有许多可配置选项,可根据每种需求定制nGrinder。参见 控制器配置指南
安装代理端
与以前的nGrinder不一样,nGrinder 3.3 agents是从controller中下载的。下载的代理程序包已经包含连接到控制器的默认代理配置。只要打开tar文件和运行run_agent.sh
或者run_agent.bat
就能让代理连接到控制器。
1、以admin身份登录。默认的管理密码也是admin。
登录界面
2、单击右上角菜单并单击下载代理菜单。
下载代理端
因为您是以admin身份登录的,所以可下载的代理包包含允许所有用户共享代理的配置。
如果您以非admin帐户的身份登录,链接将被更改为“下载私有代理”,其中包含允许代理只被当前用户占用的配置。
详情请见私人代理。
3、包含代理的tar存档将很快下载。
在widows系统,tar文件能被7zip提取,或者使用tar xvf tar_file.tar
命令
4、解压tar并运行run_agent.sh
或run_agent.bat
。代理将使用以下逻辑执行。
① 检查~/.ngrinder_agent
文件夹,可以看到配置(agent.conf
)是否存在
② 如果不存在,复制当前文件夹的__agent.conf
配置文件到~/.ngrinder_agent/agent.conf
和加载它。
③ 如果它存在,只需使用现有配置~/.ngrinder_agent/agent.conf
直接运行
5、如果您想用最新的配置覆盖现有的配置,请将-o
选项作为参数
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、要批准代理,请转到代理管理菜单并单击approve按钮。
代理管理
9、如果在Linux中运行代理,可能需要配置ulimit以运行多个线程。请检查下面的内容。
> 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
时,如果你的机器设置的max user processes
和open files
很小, 请至少设置到10000以上。打开/etc/security/limits.conf
文件,并使用root权限添加一下内容:
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
默认情况下,每台机器只支持一个代理。但是,如果希望在一台机器上运行多个代理,则必须配置一些代理选项。请参考 代理配置指南
安装监控器
nGrinder监控器是代理程序包的子集,安装在目标机器中以收集负载下的系统统计信息(如CPU、MEM和网络)。
你也可以从控制器下载监视器。
1、下载监视器。
下载监控器
2、然后解压监视器包并运行批处理或shell文件。
run_monitor_bg.sh # 运行在 linux/mac
run_monitor.bat # 运行在 windows
3、如果要停止监视器,运行以下命令。
stop_monitor.sh # 运行在 linux / mac
stop_monitor.bat –o # 运行在 windows
好了。现在可以运行第一个性能测试了。快速入门
更多内容请查看: 压力测试平台(nGrinder)入门到精通教程