问题:如果给你一个10W并发,你会怎么做
错误回答:做梯度压测––按时间慢慢加线程!
为什么我们在本机上无法处理大量并发的性能测试?
答:电脑承载能力有上线––做性能测试会经常出现服务器没崩,但上压测机报错了!
tips:市场上的电脑标准CPU是2.4GHZ, 在2-3GHz之间的cup的电脑在Jmeter 客户端,最多处理1000~2000个线程,还取决于测试哪类型(电脑经常压测的话可能只能做 1000 个线程)
为什么需要分布式压测
当需要处理大量并发时单台机器时无法处理大量的并发的,所以需要:分布式压测
怎么实现:通过远程运行Jmeter,可以在很多低端计算机上复制测试
,从而实现更大的负载
分布式压测是什么?
含义:多台服务器去组成一个业务的情况
(一台电脑向服务器发送请求跟几台电脑同时向服务器发送请求实际上没什么区别,所以我们可以采用分布式压测,这里需要注意的时我们模拟的多台服务器/电脑,它们之间的数据得是互通的
)
一般情况下:我们会有一个主节点(主服务器/电脑),和多个从节点(服务器/电脑),主节点通常不做性能测试,而是用来控制从节点的(如果主节点用来做性能,主节点崩了就全完了)
tips:负载均衡通常是用来分流的,充当一个交警的角色,负按照顺序将数据分给不同的服务器,保证给到服务器的请求冲击是一样的
重点:分布式压测怎么设置?需要注意什么?
1、主节点和从节点一定要
在同一个局域网内
2、测试过程中有条件的尽量使用网线
3、局域网内最好没有其他太多机器(非必要)
4、所有的防火墙都必须是关闭的
,你的端口
一定记得不要被占用
5、保证主节点运行的服务器都能ping通
其他的从节点(服务器数据是互通的)
我们可以在窗口ping一下试试,输入ping + ip地址,如果成功系统会返回回复,否则返回无法返回目标主机
6、确保所有节点用的jmeter版本是一样
的,主节点及从节点都用同一个jmeter
7、插件
保持一致,如果要做数据驱动CSV,一律使用相对路径
8、JDK 大版本一定要保持一致
,Java -version 大版本号要相同(如:1.8.0为大版本,_181是小版本)
9、Jmeter 不分
Windows 还是liunx版
主节点(控制端)如何进行节点配置?
首先:找到jmeter文件下的bin目录,找到jmeter.properties
用记事本,或者notepad++打开
然后:通过ctrl+f进行查找
找到关键词:server.hosts(第一次找,配置是被注释的,所以许去掉
前面的#号)
配置方式:准备了几台机器,就写多少个,用英文逗号隔开,
找到关键词:server.rmi.ssi.disable=true(代表是否加密)
找到关键词:mode=Standard(代表这台电脑是主机)
tips⚠️:1、一定要注意空格问题,一定要注意英文字符问题,用英文的逗号
2、这个是主机的配置
,协助机与它是不一样的
协作机(从节点)怎么配置?
tips: 1、协作及一般配置在liunx系统上,Windows上也可以配置,因为jmeter windows 和liunx是一样的
2、协作机jdk和插件,jmeter版本必须要与主机一致,否则有可能访问不通,特别注意!!!
3、如果liunx上没有jmetr的,可以将jmeter打包成zip上传
到liunx
首先:1、一样去liunx上找到jmeter下的bin目录,jmeter.properties
2、用vi/vim命令打开,编辑 (从节点只做端口和SSL配置)
找到关键词 server_port(这个port和我们在主节点配置的port一致)
找关键词:sever.rmi.port(也要与你的主节点保持一致)
找关键词:server.rmi.ssl.disable
开始分布式测试:
当部署完后,可以直接采用命令执行,启动从节点
命令:./meter-server
注意:这个命令一定要到jmeter的bin目录去执行
如看到一下字符则代表启动成功
回到主机,打开jmeter在「运行」––「远程启动」––「选择虚拟机IP」可以自由选择运行哪个虚拟机
(远程启动所有:启动所有虚拟机;远程停止/远程停止所有:关掉我们启动大的虚拟机)
启动之后,我们可以看到对应监控事务数据及汇总、聚合报告等可以在jmeter中显示
如果我们需要查单个虚拟机的运行结果的话加上结果树就可以查看了
tips:如果非要让主节点运行,需要在配置文件中写明ip 127.0.0.1,然后在Windows中启动jmeter-server.bat(不推荐)
分布式测试:不是简单的相加这样的操作,实际如:主节点设置了3000线程,如果我有3台从节点去测试,一般家是按情况会平均分配过去的,也就是说一台从节点是1000左右的线程
每个执行点,只处理主节点分配过去的线程数
高级用法––用J参数来传递属性,控制数量(jmeter -n -t xx.jmx -l results.jtl -June Threads=1000 -Jaume Threads=2000)
Xshell工具:
我们在进行性能测试的时候,建议使用这个功能Xshell
,方便操作
用于连接Linux系统,让我们可以直接在本机(windows)上直接操作Linux
在csdn中有很多优秀文章介绍怎么去安装配置Xshell,我找了两篇放地下,大家可以看看
【XShell的安装及使用教程 - CSDN App】