压测工具nGrinder

nGrinder是一款基于Grinder的开源压测工具,包括controller、agent和monitor三个部分。它提供了一个Web管理后台,支持创建和管理压测脚本,模拟多用户并发压测。本文介绍了nGrinder的安装、脚本创建和使用注意事项,讨论了如何通过脚本控制稳定的TPS,并分析了其优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

压测工具nGrinder

  • 简介
  1. nGrinder简介

nGrinder是一款分布式高并发开源压测软件,它是基于Grinder开源框架基础上由NHN公司所做的二次开发。

        nGrinder工具主要分由controller、agent、monitor三部分组成,其中controller(包含web管理后台)负责管理和控制测试流程、下发测试任务以及查看测试报告,agent负责启动压测进程&线程,压测目标服务器,monitor来监控目标服务器&被压测站点各项性能指标。nGrinder的主体部分由controller和连接它的多个agent组成,用户可以通过web管理界面来创建压测脚本和测试任务,查看测试报告。controller会把压测脚本和压测数据分发到一个或多个agent去执行。用户通过在压测任务中配置多个进程和线程来并发的执行该脚本,依托线程内重复执行压测脚本下发请求到目标服务器,模拟多用户(vuser)并发压测站点的目的。nGrinder的整体结构图如下:

 

 

  • 安装
  1. 服务器环境

Centos7    JDK1.8   tomcat7

//配置JDK略

//下载tomcat7

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.93/bin/apache-tomcat-7.0.93.tar.gz

 

 

  1. 配置nGrinder

tar -zxvf apache-tomcat-7.0.93.tar.gz

cd apache-tomcat-7.0.93/webapps

wget https://github.com/naver/ngrinder/releases/download/ngrinder-3.4.2-20180830/ngrinder-controller-3.4.2.war

cd /opt/apache-tomcat-7.0.93/bin

 

vi catalina.sh

//在第二行添加下面内容:

JAVA_OPTS="-Xms600m -Xmx1024m -XX:MaxPermSize=200m"

 

 

  1. 启动tomcat并访问

sh  startup.sh

启动controller访问http://ip:8080/ngrinder-controller-3.4.2

用户名密码为:admin admin

停止tomcat 并修改server.xml

sh  shutdown.sh

cd /opt/apache-tomcat-7.0.93/conf/

vi server.xml

//添加下面内容:

<Context path="" docBase="/opt/apache-tomcat-7.0.93/webapps/ngrinder-controller-3.4.2" debug="0" reloadable="false"

crossContext="true"/>

 

 

重新启动tomcat,并访问http://ip:8080 登录 admin admin

  1. Agent安装

Controller安装完成后,登陆管理后台站点,点击顶部右侧下拉菜单中的Download Agent进行下载。

在代理服务器上,将下载好的ngrinder-agent-3.4*.tar直接解压,执行目录下的sh run_agent_bg.sh -o 命令即完成agent启动。如果需要停止agent,执行stop_agent.sh。

//下载用户公用的agent

wget http://192.168.172.104:8080/agent/download/ngrinder-agent-3.4.2-192.168.172.104.tar

//解压 

tar –xvf ngrinder-agent-3.4.2-192.168.172.104.tar

//启动并在后台运行:

sh run_agent_bg.sh –o

//停止agent

sh stop_agent.sh

 

启动agent.sh后,可以点击右上角菜单中的Agents Management选项进入agents管理页面,点击已许可,就可以在测试配置里看到可用的代理。

 

  1. Monitor安装

点击右上角菜单中的Download Monitor选项,下载monitor,将monitor安装包解压在被压测机器。执行目录下的启动命令:sh run_monitor.sh即可

wget http://192.168.172.104:8080/monitor/downloa

很好用的网络工具 Linux版 siege的安装 unzip filename.zip cd siege-*.*.* ./configure --prefix=/usr/local/siege --mandir=/usr/local/man --with-ssl=/usr/local/ssl mkdir -p /usr/local/siege/etc mkdir -p /usr/local/siege/var make make install 查看配置文件 /usr/local/siege/bin/siege -C 二、siege的使用 举例说明: 50个用户(每次并发量)重复100次 共产生 50*100 个请求 /usr/local/siege/bin/siege -c 50 -r 100 www.baidu.com 50个用户 重复100次 发送GET参数 /usr/local/siege/bin/siege -c 50 -r 100 http://www.baidu.com/s?wd=siege&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=4&rsv_sug=2&rsv_sug1=4&rsv_sug4=60 50个用户 重复100次 发送POST参数 (注意引号) /usr/local/siege/bin/siege -c 50 -r 100 "https://www.abc.com/a.php POST name=zhangsan" 50个用户 重复100次 发送POST参数(从文件中读取) /usr/local/siege/bin/siege -c 50 -r 100 "https://www.abc.com/a.php POST < /root/ab_test/post.xml" 另外还有挺多参数 详情请man 或 siege -h siege报表解析,请man查看,暂略(有点累了,不想写了。。。。。)。 Transactions: 10 hits :服务器接收的请求数 Availability: 100.00 % :有效情况的比例 Elapsed time: 1.06 secs : 试所用的时间 Data transferred: 0.04 MB :每个模拟用户的数据传输量 Response time: 0.03 secs :响应每个模拟用户请求的平均时间 Transaction rate: 9.43 trans/sec :服务器每秒处理事务的平均数 Throughput: 0.04 MB/sec :服务器每秒跟所有模拟用户的数据传输量 Concurrency: 0.25 :每秒的模拟连接 Successful transactions: 10 :处理成功的事务数(code<400) Failed transactions: 0 : 处理失败的事务数(code>400) Longest transaction: 0.04 :最长的事务处理时间 Shortest transaction: 0.02 :最短的事务处理时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值