###
再次系统的整理一下深入一下性能测试
###
一,为什么要分布式压测
就是因为单台压测机不能达到想要的并发数,
因为单机的性能,cpu,内存,网络io,硬盘io,这些都是有瓶颈的,这是执行机的瓶颈,
jmeter分布式压测使用场景
1.当一台jmeter并发数达到瓶颈时,需要多台jmeter一台控制机,多台负载机来进行分布式压测 扩大并发数
2.当测试多台服务器时,需要同时通过多个ip压测同一个服务器时需要使用jmeter的分布式压测,也能更好的测试出服务器的均衡负载
3.什么是分布式测试:分布式测试是指通过局域网和Internet,把分布于不同地点、独立完成特定功能的测试计算机连接起来,以达到测试资源共享、分散操作、集中管理、协同工作、负载均衡、测试过程监控等目的的计算机网络测试
4.在使用Jmeter进行接口的性能测试时候,由于JMeter是java应用,对CPU和内存消耗比较大,所以当需要模拟数以万计的并发用户时,使用单台机器模拟所有的并发用户就会出现电脑卡死等现象,或者会引起java内存溢出的错误。为
了Jmeter工具提供了更大的负载能力,这个时候就可以使用Jmeter提供分布式来控制多台电脑进行压力测试
###
二,jmeter分布式压测配置
分布式压测配置分为两部分
1,控制机部署,
2,工作节点部署,就是执行机部署,或者叫做负载机部署
###
1.jmeter分布式可以跨系统配置 不论是windows还是linux都可以
2.jmeter分布式前置条件 master(控制机)与slave(负载机)jdk版本一致,同一局域网,jmeter版本一致 本次演示是jmeter4.0版本
1 控制机部署,
3.master控制机配置 编辑jmeter.properties配置文件
2 负载机部署
4.slave负载机1与slave负载机2一样的配置 注意ip即可 我的控制机是windows的,两个负载机是linux的所以 vim jmeter.properties
5.linux负载机启动jmeter-server时可能会报错 编辑文件 vim jmeter-server
6.这样一来算是配置完成了
接下来因为jmeter4.0版本及以上时,为了安全 分布式压测需要一个密匙才能正常实现 打开控制机的bin目录运行create-rmi-keystore.bat
但是可能因为权限问题导致无法运行,用notepad++打开文件 复制这个命令
7.进入jdk的bin目录路径 使用cmd运行这个命令
8.打开cmd进入jdk的bin目录 运行create-rmi-keystore.bat的命令 生成密匙时会问一些问题 设置答案,最后输入Y 敲击键盘enter键确认即可
9.这里有一个坑 如果是win10系统 运行这个命令的时候会报错 拒绝访问 是因为没有管理员运行权限 使用管理员运行cmd 执行命令即可
10.命令运行成功后 会在jdk的bin目录下生成一个rmi_keystore.jks文件 把这个文件复制到控制机与负载机的jmeter的bin目录下即可
11.控制机 负载机1 负载机2 传入rmi密匙文件
12.运行控制机jmeter.bat 运行负载机jmeter-server
13.因为我把控制机的ip也配上了 所以我的控制机启动jmeter-server 与jmeter.bat 在运行哪里点击远程全部启动
14.所有的运行结果将在控制机展示
15.察看结果树的响应数据没有数据 是正常的 因为数据量很大的话会增加控制机的负担,所以一定设置好响应断言,来判断请求是否成功.
####