0

    Jmeter分布式压测

    2023.07.13 | admin | 146次围观

    1.目的

    a.单台压测机通常会遇到客户端瓶颈,对于请求量/并发量很大的情况需求受制于客户机的性能。可能由于网络带宽,CPU,内存的限制不能给到服务器足够的压力.

    b.这个时候你就需要用到分布式方案来解决客户机的瓶颈,压测的结果也会更加接近于真实情况.

    c.随并发用户数量增加,单台压力机已经没法满足用户的业务需求,所以,需要通过分布式多台压测机.

    2.Jmter分布式原理

    a、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。

    b、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。

    c、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

    3.环境准备

    a.JDK版本最好一致(不一致也行,大版本一致就行,比如1.8/1.7)

    b.Jmeter版本一致,插件一致电脑受限制无法连接是那里的问题,csv文件,保存路径一致等(我这里用的jmeter4.0)

    c.jmeter分布式可以跨系统配置 不论是windows还是linux都可以

    b.同一局域网,准备负载机器2/3台或者更多(linux/windows都行)

    4.控制机部署a.打开JMeter/bin/jmeter.properties并编辑

    b.全局搜索下ssl.disable 然后改成true

    c. 为了避免后续压测时开不到负载机的响应结果,需要更改jmeter.propertoes文件,按照下图操作就能解决

    5.Linux负载机部署(多台同理)a.linux打开JMeter/bin/jmeter.properties并编辑(这里的jmeter版本和控制机的一致)

    b.linux负载机启动jmeter-server时可能会报错 编辑文件 vim jmeter-server

    6.Windows部署成负载机(多台同理)a.编辑/bin/jmeter.properties文件

    和控机一样配置,步骤仍是打开JMeter/bin/jmeter.properties并编辑

    注意这里,负载机,只用配置自己的ip和端口就可以了(端口自定义都行)

    b.每个ip对应的不同的网段

    7.控制机生成密匙-负载机授权-分布式才能正常实现a.生成密匙

    Jmeter分布式压测

    接下来因为jmeter4.0版本及以上时,为了安全 分布式压测需要一个密匙才能正常实现

    打开控制机的bin目录运行create-rmi-keystore.bat(或者直接执行改脚本也可以)

    b.然后找到jdk并进入jdk\bin目录

    c.完成后,会生成一个jks文件

    d.配置jks文件

    将文件复制粘贴给所有负载机中的jmeter\bin目录下面(Windows、linux同理)

    案例:

    8.运行所有负载机和控制机jmeter-servera.linux运行方式:

    可能会出现提示权限问题,赋予权限chomd -R 777 xxxx再次运行就行了

    b.Windows运行方式:

    9.启动控制机jmeter-server

    注意控制机也要启动jmeter-server(所有机器启动完后就可以开始测试了)

    a. 打开控制机的jmeter

    选择远程启动某个负载机或者远程启动全部负载机,如果想终止,就点停止

    b.演示:

    c.负载机资源

    d.控制机负载对比

    可能因为量小,不是很显著,但还是看得出来

    10.注意事项

    同个局域网、ip端口要设置对
    负载机和控制机启动jmeter-server挂后台
    jmeter、jdk同版本、特别是jmeter脚本中如有同csv或者引用文件变量什么的,负载机和控制机都要有,且路径是一致
    4.关闭防火墙systemctl stop firewalld
    5.检查是否可以telnet通和互相ping通

    最后发现了一个有趣问题电脑受限制无法连接是那里的问题,负载机的jmeter-server窗口-如果不是点最小化-而是直接点了其他程序占用后,控制机再向负载机发送请求就会卡住,无法连接到负载机了,所以如果负载机是其他同事在用的电脑,就最小化

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论