内网集群linux环境调试jmeter脚本的前置步骤
以下是在新的linux环境下配置jmeter的过程及linux环境下jmeter脚本的运行过程
注意,如果想要把在本地调试成功的jmx文件上传至linux中使用,需要:
1)更换jmeter脚本中的HTTP请求host为内网的host
2)更换内网的dubbo请求的zookeeper连接地址
3)修改脚本所需csv文件的路径为linux中csv文件位置
4)把jmx脚本及csv文件通过Termius的SFTP工具传输到linux中
5)如果是http 接口,需要按需把【客户端实现】 选择 httpclient4 ,httpclient4 的性能会更高,但同时也会消耗更多的肉机内存
若集群liunx机器中没有jmeter脚本运行的环境,可以参考:
1、建议在本地调试好所有接口及脚本,如果集群没有配置过jmeter环境,建议直接使用termius
进行ssh连接,因为可以通过自带的sftp工具实现从本机与linux机器之间传输文件
2、连接好对应的linux机器后,我们可以直接把本机的整个jmeter文件夹传输到需要配置环境的机器中,但是比起主机的,还需要增加几个jar包,根据自己jmeter选择合适的需求jar包
3、注意升级版本的时候,会有个坑
如果虚拟机的java版本是jdk17,那这个3.4.13版本的zookeeper jar在运行dubbo接口的时候会出现 (ip 端口<unresolved>的情况)无法解析对应的zookeeper地址,建议把虚拟机的java版本设为jdk1.8
4、上传好对应的jmeter安装包及jar包后,需要vim /etc/profile,添加jmeter的环境变量,这里可参考
|
修改完后:
|
集群内linux机器上运行jmeter脚本
前提:在本地调试好jmeter 脚本后,需要把host 改为集群内网的host,即可直接上传至linux中进行调试使用
1、配置好环境后,把本地调试成功的jmeter脚本(对应的jmx文件和脚本所需的csv文件)都传输到linux机器中
2、注意你本地调试的jmx文件的csv文件设置的路径也要修改,修改为linux机器中对应的csv文件的路径
3、这里建议一个脚本保留两份jmx文件,一份用于本机公网调试,一份用于linux机器内网调试
4、在linux环境配置以非GUI模式运行jmeter,以下是一些非GUI模式运行jmeter的常用命令:
|
5、把生成的jtl文件传输到本机,可以在本机上用jmeter浏览,在jmeter的结果树和聚合报告元件中均可打开jtl文件
6、查看报告前先清理上一份查看的结果
注意:每次查看结果树和聚合报告之前应该先清除上一份jtl文件的浏览结果,不然会把两份jtl文件的结果合在一起
7、如果在查看结果树的时候,想要查看错误请求的请求内容和响应数据,但是出现了No data to Dispaly
那需要配置:
1)打开\jmeter\apache-jmeter-5.3\bin\jmeter.properties文件
修改:若有对应配置则打开注释并且改为true,若没有配置则追加
|
2)打开\jmeter\apache-jmeter-5.3\bin\user.properties文件
追加配置:
|
3)使配置文件生效:
|
4)配置好后,重新在服务器上执行脚本,并生成新的jtl文件
5)重新把生成的jtl文件导入本机,在本机jmeter的查看结果树即看到请求的数据及响应数据
注意:本机和linux机器上的配置都要一样
在调试过程打开这些配置,方便调试。但是正式压测过程可以关闭,可能会影响发压性能
补充:可使用Taurus工具在linux运行压测脚本
工具背景:
Taurus是一个开源的自动化测试工具,它提供了一种简单易用的方式来运行各种性能测试,如JMeter、Gatling、Selenium等。Taurus使用YAML或者JSON格式的配置文件来定义测试计划。
推荐原因:
1、可直接实时看到压测脚本的数据,包括错误率,99线,90线,压测时间,接口错误原因等数据,更直观
2、运行结果数据更加直观展示
3、生成运行结果的csv数据文件,通过FSTP传输至本机后可直接查看