ngrinder 快速上手,写出自己的第一个脚本

本贴最后更新于 1561 天前,其中的信息可能已经水流花落

ngrinder快速上手,写出自己的第一个脚本

简介

nGrinder是基于Grinder开源项目,由NHN公司的开发团队进行了重新设计和完善。nGrinder是一款非常易用,有简洁友好的用户界面和controller-agent分布式结构的强大的压力测试工具。

它的脚本,支持Jython、Groovy两种语言。

官方网站http://naver.github.io/ngrinder/

github地址https://github.com/naver/ngrinder

ngrinder工作原理

它由一个Controller 和与它相连的多个 Agent 组成。用户通过web界面管理和控制测试,以及查看测试报告。

Controller 会把测试分发到每个Agent上去执行,用户可以在web管理界面中,设置多个使用多个线程进程来并发的执行脚本。

nGrinder的脚本是python语言写的。Controller把这些脚本分发到各个Agent中,然后用Jython来执行。并在执行的过程中,收集运行情况、响应时间、测试目标服务器的运行情况等,并保存数据生成报告。

ngrinder安装

image.png

image.png

[root@localhost ngrinder]#tar -xvf ngrinder-agent-3.4.4-192.168.114.130.tar
[root@localhost ngrinder]# cd ngrinder-agent/
[root@localhost ngrinder-agent]# ./run_agent_bg.sh

[root@localhost ngrinder]# tar -xvf ngrinder-monitor-3.4.4.tar
[root@localhost ngrinder]# cd ngrinder-monitor/
[root@localhost ngrinder-monitor]# ./run_monitor_bg.sh

代理服务启动后,在页面 admin > 代理管理,就能看到代理服务器

image.png

制作脚本

在首页,Quick Start 文本框中输入 要录制脚本的地址,第二个文本框,选择生成脚本的语言类型,点击 开始测试 按钮,就可生成脚本。或者点击,菜单栏中的‘脚本

image.png

点击‘新建脚本’按钮,弹窗中,选择脚本类型,填写脚本名称,被测URL(可选),点击‘创建’即可创建出一个对应脚本语言的脚本

image.png

点击脚本列表 ‘脚本名称’列中的脚本名称,即可打开对应的脚本详情,不懂的groovy或jython的同学,可抓紧这个机会,看看自动生成的脚本,长什么样子哦。当然,这些脚本支持修改、也支持上传自己写好的脚本文件。

性能测试

点击顶部菜单栏中的‘性能测试’菜单

image.png

再点击 ‘创建测试

image.png

在这个页面中,填写‘测试名称’,填写‘代理’数量(根据后面的提示), 选择‘脚本’,如果脚本中有服务器地址,则可以不选择目标主机,如果没有,则需要添加‘目标主机’,然后点击右上角的‘保存 并运行’,这样就可以按照你的设计,进行性能测试了。

注意: Ⅰ、ngrinder性能测试,支持 进程\线程 两种模式运行。

Ⅱ、想要进行负载测试,需要勾选

Ramp-Up可用 复选框,然后才能进行负载场景配置

性能测试执行过程成功,状态为绿色(红色为执行过程中出错),执行成功,会展示一份测试报告概要。

image.png

点击‘ 详细测试结果’ 可以看到更加详细的测试报告

image.png

扩展

Ⅰ、8080端口可能备用,可以指定其他端口

java -XX:MaxPermSize=200m -jar ngrinder-controller-xx.war --port 指定端口号

Ⅱ、想要后台运行

nohup java -XX:MaxPermSize=200m -jar ngrinder-controller-xx.war --port 指定端口号 &

Ⅲ、想要用docker方式部署

$ docker run -d -v ~/ngrinder-controller:/opt/ngrinder-controller --name controller -p 80:80 -p 16001:16001 -p 12000-12009:12000-12009 ngrinder/controller

$ docker pull ngrinder/agent
docker run -d --name agent --link controller:controller ngrinder/agent

好了,这么详细的介绍,你是不是已经可以快速上手,使用ngrinder了呢?

1 操作
Allen 在 2020-08-06 16:29:14 更新了该帖
回帖
请输入回帖内容 ...