性能工具之nGrinder分布式简单环境搭建介绍
- 2019 年 11 月 3 日
- 筆記
背景
nGrinder是一款分布式高并发开源压测软件,它是基于Grinder开源框架基础上由NHN公司所做的二次开发。nGrinder工具主要分由controller、agent、monitor三部分组成,其中controller(包含web管理后台)负责管理和控制测试流程、下发测试任务以及查看测试报告,agent负责启动压测进程&线程,压测目标服务器,monitor来监控目标服务器&被压测站点各项性能指标。 nGrinder的主体部分由controller和连接它的多个agent组成,用户可以通过web管理界面来创建压测脚本和测试任务,查看测试报告。controller会把压测脚本和压测数据分发到一个或多个agent去执行。用户通过在压测任务中配置多个进程和线程来并发的执行该脚本,依托线程内重复执行压测脚本下发请求到目标服务器,模拟多用户(vuser)并发压测站点的目的。
环境部署
Linux环境部署
配置jdk环境变量参考:
vi /etc/profile 向文件里面追加以下内容: JAVA_HOME=/usr/java/j1.8.0_211 JRE_HOME=/usr/java/1.8.0_211/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH ESC 退出编辑模式 :wq 保存退出 source /etc/profile 立即生效
检查:java -version
java version "1.8.0_211" Java(TM) SE Runtime Environment (build 1.8.0_211-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
查看防火墙
参考命令:
1、查看firewall服务状态 systemctl status firewalld 出现Active: active (running)切高亮显示则表示是启动状态。 出现 Active: inactive (dead)灰色表示停止,看单词也行。 2、查看firewall的状态 firewall-cmd --state 3、开启、重启、关闭、firewalld.service服务 # 开启 service firewalld start # 重启 service firewalld restart # 关闭 service firewalld stop 4、查看防火墙规则 firewall-cmd --list-all 5、查询、开放、关闭端口 # 查询端口是否开放 firewall-cmd --query-port=8080/tcp # 开放80端口 firewall-cmd --permanent --add-port=80/tcp # 移除端口 firewall-cmd --permanent --remove-port=8080/tcp #重启防火墙(修改配置后要重启防火墙) firewall-cmd --reload # 参数解释 1、firwall-cmd:是Linux提供的操作firewall的一个工具; 2、--permanent:表示设置为持久; 3、--add-port:标识添加的端口;
检查显示为:

部署tomcat
略
上传ngrinder.war并且进行验证

验证是否启动成功

使用admin/admin登录:

下载Agent

选择

下载agnet到本机
上传agent包
安装上传文件命令:
yum install -y lrzsz

怎么上传你懂的,不用教了
修改配置win的agent配置为

修改linux环境中agent配置

启动linu/win中的agent

登录控制台验证

点击代理管理

验证

以上是简单分布式环境部署
应该还有很多细节需要自己去调试与修改。
分享一个经典冒泡算法
>>> arr = [1,21,3,232,12,8] >>> for i in range(len(arr)-1): ... for j in range(len(arr) - i-1): ... if arr[j] > arr[j +1 ]: ... arr[j],arr[j+1]=arr[j+1],arr[j] ... >>> print(arr) [1, 3, 8, 12, 21, 232] >>> ''' 算法分析: 第一次找到最大值放到最后面 第二次去掉最大值再找到最大值放到最后面 。。。。以此类推 '''