jmeter分布式压测、定位性能瓶颈、性能监测工具
一、分布式和集群的概念
分布式:是指 多个系统协同合作完成一个特定任务的系统(比如前端、后端)
集群:多个人在一起作同样的事
二、分布式压测
今天和同事用2台电脑模拟了分布式压测,暂时的总结就这些,性能检测工具比较欠缺,也不会分析
1、准备
a、同一个局域网
b、我的当主控机、同事的电脑当代理机
c、代理机不需要准备jmx文件,但需要准备csv文件,放相对路径
2、修改配置
jmeter.properties文件修改
1>remote_hosts=localhost:1099,10.50.118.85:1099
添加代理机,逗号隔开,默认端口是1099
2>server.rmi.ssl.disable=true
不启动SSL
3>mode=Standard
为了让主控机在执行后在察看返回的响应信息
jmeter-server文件修改,并启动jmeter-server.bat
4>RMI_HOST_DEF=-Djava.rmi.server.hostname=10.50.10.47
修改为代理机的ip
代理机改一下第二个和第四个就行
3、保证master、slave机器上jdk、jmeter版本保持一致,同时处于同一个局域网
linux服务器上是jdk11,先卸载:sudo apt-get autoremove openjdk-11-jre-headless
再安装jdk8,https://blog.csdn.net/qq_43503670/article/details/125129508
4、运行——远程启动,非gui启动参考 https://www.cnblogs.com/whitewall/p/11534541.html
三、性能瓶颈分析
1、先检查自身脚本以及压力机是否足够
2、网络设备的性能瓶颈(防火墙、负载均衡、交换机)
3、硬件上的性能瓶颈(Cpu,内存,io)
4、应用程序上的性能瓶颈(sql慢查询、程序逻辑等)
5、应用软件上的性能瓶颈(数据库连接数太少、消息队列阻塞等)
四、性能监测
压测之前,一般会先对各个数据流转系统做好监控,比如服务器硬件资源cpu,磁盘,网络,io以及数据库服务器,
数据库连接数,是否有sql慢查询,包括线程状态,JVM,中间件redis,nginx等等做监控;
像一些规模不大的团队简陋一点的可以借助于现有的开源平台和工具做监控。
比如Grafana+Prometheus可以监控服务器操作系统资源和数据库。
jvisualvm 可以监控JVM和线程状态,包括线程阻塞,死锁等等。
nmon 可以监控linux服务器,cpu,磁盘,内存,网络等
1、自己学习时可以用Windows电脑自带的,cmd命令运行:perfmon.msc



浙公网安备 33010602011771号