-
配置master机,jmeter.properties里面的配置
1.设置server.rmi.ssl.disable=true
2.设置远程slave机器的地址,格式为:IP+端口。多个机器用英文逗号隔开
remote_hosts=127.0.0.0:2227,192.168.3.334:2229
3.设置端口,下面的2227也可以设置为别的
server_port=2227
server.rmi.localport=2227
-
配置slave机,jmeter.properties和jmeter-server里面的配置
1.配置jmeter.properties
设置server.rmi.ssl.disable=true
设置端口,下面的2229也可以设置为别的
server_port=2229
server.rmi.localport=2229
进入cmd,输入命令netsta -ano,查看端口是否占用
2.配置jmeter-server:
jmeter-server文件,设置RMI_HOST_DEF=-Djava.rmi.server.hostname=本机ip
进入cmd,进入bin目录下,执行jmeter-server,如下结果:
![](https://img-blog.csdnimg.cn/img_convert/ddcfc1f9e42a74e6dd6c048a2cc0d4d8.png)
-
slave机器和master机器注意点
1.保证slave机器和master机器在同一个网段,都用内网
2.jdk版本都用jdk8
3.jmeter版本一致
4.有文件的要注意文件放在指定的目录下
-
分布式压测执行
1.在jmeter选择 运行>远程启动>选择slave机器 即可远程压测
2.也可以选择 运行>远程启动所有 即可以启动所有远程机器进行分布式压测
![](https://img-blog.csdnimg.cn/img_convert/9deb5c420638ffdd0bb402f01b70e6d3.png)
![](https://img-blog.csdnimg.cn/img_convert/ae32753d46698e575cc32ba3b3a077cd.png)
查看负载机cmd界面,会出现:
![](https://img-blog.csdnimg.cn/img_convert/b72d5ba44ef3e3cc36858967a1910b92.png)
运行时jmeter报错:
问题1:
Exception creating connection to: 192.168.1.174; nested exception is: java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
解决方法:
server.rmi.ssl.disable=true (jmeter.properties里面的配置)
问题2:
Connection refused to host: 192.168.1.174; nested exception is:
java.net.ConnectException: Connection refused: connect
解决方法:
在负载机,进入bin目录下,用jmeter-server命令启动
-
压测结果关注的指标
系统性能指标:如并发用户数、错误率、rt响应时间、tps吞吐量(系统每秒处理事务数)。
资源指标:CPU占用率(不超过85%)、内存使用率(不超过85%)、I/O、宽带等。
应用指标:GC/FULL GC次数、空闲线程数、数据库连接数等
-
压测的瓶颈分析需要关注的点
服务器:
JVM垃圾回收机制策略GC,出现频繁full gc的时候,会造成卡顿
redis集群:
需要关注:
1.缓存命中率--最好关闭缓存否则会会从缓存拿数据压不到数据库
2.缓存命容量的设置
数据库:
1.数据库连接池,比如要扛几十万的qps,数据连接池一定要够
2.数据索引和字段是否涉及的合理,不合理的话高并发很大的时候会造成慢查询
3.数据库是否要读写分理,把查询和写入分库设置,比如:让主数据库处理增删改,让从数据库处理select