零基础性能测试实战直播班招生中,多种优惠进行中,优惠无套路,开课你决定       |       python自动化测试班-轻课模式,随到随学

咨询QQ:2083503238、1684129674、480934277(请勿重复咨询) 咨询微信:qiangfans

搭建 nGrinder 性能测试平台并快速使用

2019-05-05 22:02:00
小静
原创 1371 投稿得红包

点击链接加入QQ群229390571(免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5rbudQa

一、nGrinder 组件介绍

1、ngrinder包含Controller、agent 和 monitor 三部分

2、Controller

提供性能测试的web接口

协调测试进程

调整和显示测试的统计结果

让用户创建和修改脚本

3、Agent

在代理服务器上加载运行测试进程和线程

可以部署多台,提升压测能力

最好是能部署在单独的服务器上,如果没有条件的话,也可以跟Controller在一台服务器

但是不能部署在被测服务器上

4、Monitor

用于监控被测服务器的系统性能(例如:CPU/MEMORY)

必须部署在被测服务器上

二、nGrinder 环境搭建

$ java -XX:MaxPermSize=512m -jar ngrinder-controller-3.4.war --port 80

可在下载ngrinder后,直接通过上面的命令运行

也可以通过下面的方式,把war包放在tomcat容器中运行

1、安装JDK,配置环境变量

2、安装Tomcat

3、下载nGrinder:https://github.com/naver/ngrinder/releases

4、把下载好的包放到Tomcat的webApps文件夹中

5、启动Tomcat,并访问nGrinder

nGrinder主页:http://localhost:8080/ngrinder-controller-3.4/ 看到下图表示搭建成功。

如果想直接通过http://localhost:8080/访问,把文件名改为ROOT.war即可


6、安装Agent

登录 nGrinder 管理台,默认账号和密码都是admin,点击右上角,选择 Download Agent(如果使用的是admin帐号登录,下载的agents包中的配置可以分享给所有的用户使用。如果使用非admin帐号登录,下载链接将变成“Download Private Agent” ,下载的agent包中的配置只能当前用户使用)

把 ngrinder-agent 压缩包解压到用作Agent的服务器上,运行 run_agent.sh 即可

7、安装Monitor(需要安装在被测服务器上)

下载Monitor安装包,方法类似Agent

把 ngrinder-monitor 压缩包解压到被测服务器上,运行 run_monitor.sh 即可

补充说明:

ngrinder支持开箱即用,不需要额外配置,第一次启动时,系统配置自动生成

默认使用H2数据库,且schema自动创建

版本更新时,数据库schema自动更新

agent 、monitor模块从controller下载,无需配置

版本更新时,只需更新controller,agent和monitor会自动更新

在线修改系统配置,多数据修改无需重启

即使用cluster模式,配置也很简单

三、快速使用

1、输入测试URL,选择脚本语言,然后点击开始测试,会自动生成测试脚本并进入配置页面或者通过点击管理后上方的 script 或 脚本 按钮,进入脚本管理页面,创建脚本,效果相同。


在创建脚本时,可以选择使用的语言为Groovy或Jython,但是由于这两种语言执行性能上的差别,建议优先使用性能更好的Groovy来编写压测脚本(官方验证相同情况下groovy比jython支持2倍左右的并发数)

2、基本的压测配置


代理:是指压测所需要的server的数量

虚拟用户有两个指标:

进程数:每个server起多少进程去跑

线程数:每个进程新建的线程数量

并发量=代理数x进程数x线程数

Ramp-Up:设置增量测试,逐渐向最大的的并发量增长,只有勾选该框时,初始数、增量、初始等待时间、进程增长间隔的值才有效

测试时间:表示压测需要持续运行的时间

测试次数:脚本执行的次数,同测试时间二选一

3、运行测试

在配置页面右上角点击保存并运行,启动测试。

4、监控测试,查看结果

当启动测试后,会在页面显示当前的TPS、虚拟用户、测试成功与否的数量等信息。测试完成后,会显示测试结果。


可以点击详细测试结果查看更详细的信息,比如TPS、平均时间、首次接受数据平均时间,以及被测服务器的CPU,MEM等信息。

技术交流QQ群 229390571 测试帮日记接口测试群

电影下载QQ群 533341883 XQ电影下载圈