在linux上使用Jmeter进行压力测试

从服务器发起压测的优点:
1.服务器的性能比我们普通的机器性能要好,大多数pc机性能有限,无法同时启太多线程,经常是服务器的压力还没上去,我们pc测试机器已经卡死了。
2.带宽限制:本地测试机器受限于办公网或家庭网络的带宽限制,数据量太大可能被阻塞,服务器上的带宽更大

接下来进入我的实操部分,嘻嘻嘻……
服务器,先进入
ssh jiaxiao@122.24.25.47 -p 10177
去访问
ssh jiaxiao@173.51.120.173 -p 9144
用户名jiaxiao
密码:不列出来了,这个是运维提供
//为什么要用两台服务器,47可以访问外网,然后直接通过外网是无法访问173的,所以通过47作为跳板机来访问

1.先用上面的命令进入目标服务器–配置JDK****
1.1若目标服务器未安装jdk,则先将jdk压缩包jdk-8u151-linux-x64.tar.gz 放到目标服务器的存放路径,我的路径是/home/jiaxiao

1.2配置环境变量
在这里插入图片描述
先使用vim编辑器打开/etc/profile文件:执行命令vim /etc/profile
按i可编辑,配置好后按esc键退出,然后执行wq命令保存并退出,最后执行source /etc/profile //让配置生效

2.目标服务器上已安装jdk,现安装jmeter,linux下专用tgz格式)
先将apache-jmeter-5.3.tgz安装包用xftp工具传到47服务器上存放位置为/home/jiaxiao/apache-jmeter-5.3.tgz
用命令ssh jiaxiao@122.24.25.47 -p 10177进入47的服务器,然后执行下面命令,将安装包从47上传到173(后面传测试脚本和参数化文件可参照此命令)
scp -i /home/jiaxiao/.ssh/id_rsa -P 9144 /home/jiaxiao/apache-jmeter-5.3.tgz jiaxiao@173.51.120.173:/home/jiaxiao/school

执行命令ssh jiaxiao@173.51.120.173 -p 9144
进入173服务器,查看路径/home/jiaxiao/school已有复制过来的安装包文件
注释:
在这里插入图片描述
红色标记的部分是用来做免密的

将安装包解压缩:tar -zxvf 压缩包名字

使用命令sh jmeter.sh -v 可查看jemter安装成功
在这里插入图片描述

将脚本和参数化文件,用上述方式复制到173服务的/home/jiaxiao/school下,在本地将参数化用户的路径设置为linux服务器上该文件的存放路径,
然后将脚本保存,上传到服务器,上传步骤参照传安装包的步骤
传脚本命令:
scp -i /home/jiaxiao/.ssh/id_rsa -P 9144 /home/jiaxiao/jiaxiao_backgroud.jmx jiaxiao@173.51.120.173:/home/jiaxiao/school

将在本地写好的请求保存为测试脚本
在我们之前的Http请求中加入聚合报告,保存并将测试脚本jiaxiao_backgroud.jmx文件上传至要测试的服务器路径下 /home/jiaxiao/school

运行以下命令执行脚本开始测试
jmeter -n -t /home/jiaxiao/school/ jiaxiao_backgroud.jmx -l /home/jiaxiao/school/test.jtl &zz
//&zz:是啥意思,jmeter重定向生成log文件,因为一开始没有权限

执行完成后,会生成一个测试结果文件test.jtl , 将生成的测试结果文件移动到47的服务器,然后用xftp移动到本地,导入jmeter查看
scp -P 10177 /home/jiaxiao/school/test.jtl jiaxiao@122.24.25.47:/home/jiaxiao/school

注意事项:
1.每次执行后需修改测试结果生成文件名字,或把之前生成结果文件删除,才能继续执行测试脚本

2.如果循环执行jmeter脚本,怎么停止呢?? Ctrl+C 停止不了,可以用ps -ef|grep jmeter查进程id再执行kill -9 进程id

***执行Jmeter脚本的命令参数解释:
jmeter -n -t test.jmx -l test.jtl

-n : 非GUI 模式执行JMeter
-t : 执行测试文件所在的位置及文件名
-r : 远程将所有agent启动用在分布式测试场景下,不是分布式测试只是单点就不需要-r
-l : 指定生成测试结果的保存文件, jtl 文件格式
-e : 测试结束后,生成测试报告
-o : 指定测试报告的存放位置
-o 指定的文件及文件夹,必须不存在 ,否则执行会失败,对应上面的命令就是resultReport文件夹必须不存在否则报错


在linux服务器上执行jmeter脚本遇到的问题:
1.运行过程中,出现command not found,是jmeter的环境变量地址未配置,可使用vim编辑器进入

cat /etc/profile //查看环境变量
sudo vim /etc/profile //用管理员权限启动编辑器
I //进入编辑Insert
export PATH=/home/jiaxiao/school/apache-jmeter-5.3/bin/:$PATH //将jmeter的环境变量配置一下
按esc退出编辑
Wq //保存并退出
source /etc/profile //让配置生效
2.出现报错-bash: /usr/local/jmeter/apache-jmeter-3.2/bin/jmeter: Permission denied
说明没有对jmeter的操作权限,需要设置,如下
chmod 777 filename
eg:chmod 777 /home/jiaxiao/school/apache-jmeter-5.3/bin/jmeter

3.JMeter压测结果报错-Error in NonGUIDriver java.lang.RuntimeException: Could not find the TestPlan class!
—出现该原因是由于生成测试脚本时,没有放到testplan里面


linux命令:
修改文件名:mv file1 file2
删除文件:rm -rf ./file1

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值