Mac 上安装jmeter
- 1、下载安装包:Mac jmeter安装包和拓展包,提取密码:iw1v
- 2、配置jmeter在Mac上的环境变量:终端:vim ~/.bash_profile,输入如下:
export JMETER_HOME=/Users/apache-jmeter-5.1.1
export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar
- 3、保存了文件之后,终端输入:source ~/.bash_profile,使他生效
- 4、cd到jmeter的下载目录的bin 目录:输入:sh jmeter,看到下面这块就算是成功了
jmeter 录入脚本
- 创建线程-创建http请求-录入要做接口测试的脚本-做参数化
- 添加监听
- 如果要多服务器分布式集群
-@被测试耽误的民工 具体的写到了分布式集群该如果做,这里就不从重复造轮子了
压测前期准备
- 1、确保压测环境和线上环境一致或相差无几,压测数据要有参考价值
- 2、确认压测的接口中,调用了几个接口,比如说,我准备测一个下单的接口,这一个接口中就调用了17个接口,那么当你设置线程数时,就不是✖️1的了,那就是要✖️17,那就完全不是一个量级了
- 3、预测最大并发数和最小并发数(这个你要提前询问好,当前你们的线上环境的平均PV和UV是多少)
- 4、测算方式:
平稳型(正常的访问量,用户访问的数据是按照用户的作息时间访问,没有过多的诱导性访问)
每台服务器每秒处理请求的数量=((80%总PV量)/(24小时60分60秒20%)) / 服务器数量
((80%500万)/(24小时60分60秒20%))/1 = 231.4个请求/秒爆发型:爆发式(带有比较强的推广和规则的诱导,造成用户某一时间内的访问量发量比较集中)
这个需要跟进自身需求的来定义α系数 * (PV/246060)
举例100W的转换率的活动, 会在上午1小时内完成,α系数 =请求量占比/请求时间一天占比= 1/(1/24)=24
24*(50W/(24小时60分60秒))=138.9 个请求/秒
压测数据的查看
所有压测到的服务器都要到liunx的环境下去查看服务器被压测的情况
- 通过top 命令去查看@怀瑾握瑜 这里详情的解释了top命令的解释,可以结合的看一下