jmeter 分布式压测配置Linux

jmeter 分布式压测配置Linux,第1张

本文只讲jmeter分布式压测怎么在Linux环境下配置:

使用分布式压测,是因为单个压测机并发到不到系统要求,所以多个压测机同时去压。

一般是由一个主机(master)和几台压力机(slave)组成。

主机 主要是起到启动和收集结果功能(当然也可以参与压测但不建议),测试脚本jmx在这台机器下,执行的时候会发送给每台压力机。

压力机 主要接受主机发送的压测脚本,同时进行压测,并把结果回传给主机。

以下是本人的压测环境,可以参考的去配置:

都是在Linux环境下(有些是主机Windows,压力机Linux,都是这样配置)

master主机:10.244.162.8

slave压测机(三台):10.244.162.9,10.244.162.10,10.244.162.11

主机ping一下压测机,是否可以ping通,否则关闭防火墙或者多个网卡(一台机器可能配置多个网卡多个IP,尤其是Windows当做主机)。

jdk,jmeter安装在主机和压力机下,尽量版本统一,jmeter在这几个机器服务都可以启动jmeter -v,如果权限不够到bin/目录下,命令: chmod 777 jmeter jmeter-server jmeter.sh 。(安装比较简单,这里就不多赘述)

保存。

在apache-jmeter-5.1.1/bin下执行./jmeter-server(代表jmeter启动,监听状态,等待主机发送测试脚本和执行命令) ,

有些启动命令:./jmeter-server -Djava.rmi.server.hostname=10.244.162.10(当前机器的ip),我觉得都行,没编辑配置文件那一项这样启动。

启动就设置完成。

如果是Windows当主机,重启一下jmeter在运行-远程启动既可以看到压测机。

如果是Linux下主机,需要用到命令:

我是在测试jmx脚本的目录下执行,这样方便收集信息。

sh (jmeter启动)  -n -t (jmx脚本) -R  (压力机ip,多个中间用英文逗号隔开) -l (test.jtl)  -e -o  (压测报告结果html文件夹)

sh /app/apache-jmeter-5.2.1/bin/jmeter.sh -n -t test.jmx -R 10.244.162.9,10.244.162.10 -l test.jtl  -e -o  test

注意:主机只传jmx给压力机,如果压测脚本有引用变量文件,比如csv,txt文件等是不传的,压力机也要有这些变量文件,复制过去存放的目录和上面压力机./jmeter-server启动的目录一致(就是你在哪个目录启动的就放在哪个目录下),否则压力机找不到变量文件,执行会报错或者直接结束无测试结果。

jmeter性能

jmeter P函数应用

${__P__(thread,200)}

${__P__(step,20)}

${__P__(steptime,30)}

${__P__(duration,30)}

${__P__(duration,300)}

jmeter  -n -t  待执行的性能脚本.jmx  -l  结果文件(名字自己取).jtl  -j  执行的log.log -e -o 路径/测试报告名  -Jthread=20  -Jstep=20 (参数不加则默认)

$ nvidia-smi 查看显存使用情况命令

$ watch -n 10 nvidia-smi 周期性地查看GPU使用情况 10 表示每10秒刷新一次GPU状态

vmstat interval count

      间隔时间  需要输出多少次结果

vmstat 2 10

      每隔两秒输出10次结果

top  ps(使用时间C列 time为进程持续时间)

CPU 占用率 = (进程 cpu时间/ 进程持续时间)

ps -ef -elf

ps -au -aux

%cpu %men

CPU 中央处理器 GPU图形处理器

GPU 是图形处理器,在测试手机/游戏性能会用到(模型性能也会用到),如果是测试web后台性能,应该不用

查看和杀死Jmeter进程

jps | grep ApacheJMeter | awk '{print $1}'

jps | grep ApacheJMeter | awk '{print $1}'|xargs kill -9

后台执行

nohup jmeter -n -t 执行的脚步.jmx -l 结果文档.jtl &  后台执行,即使关闭窗口后也执行

jmeter -n -t 执行的脚步.jmx -l 结果文档.jtl &后台执行,关闭窗口后不执行

linux下测试性能 不含事务控制器的情况下打印的信息:

其中主要有两种信息 summary + 和 summary = ,其它项都是类似的

summary +4386 in 00:00:30 :在30秒内增加了4386个请求,其中时间间隔由配置文件中的interval统计频率的值决定

summary = 27455 in 00:03:12 :在3分12秒内产生的总请求数是27455个,其中的时间段是从脚本运行开始计算到当前时间为止,一般在脚本运行过程中主要关注"summary="信息即可

146.2/s :系统每秒处理的请求数,相当于TPS

Avg : 684 :平均响应时间

Min:201 :最小响应时间

Max:1499 :最大应时间

Err : 0 (0.00%) :错误数/率

Active :100 活动的线程数

当没有遇到性能瓶颈的时候:

F=VU * R /T

其中F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间

linux环境还是windows环境? 如果是linux环境,到bin目录下:./jmeter.sh XX.jmx(所要运行的测试脚本,没有的话,examples目录下有个) 如果有进程启动,且jmeter.log中没有错误信息就安装成功了; 如果是windows环境,双击“jmeter.bat”文件,如...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9015564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-24
下一篇 2023-04-24

发表评论

登录后才能评论

评论列表(0条)

保存