测试案例分享:使用Jmeter进行性能测试实战

一:实施背景

打开凤凰新闻,查看更多高清图片

1.1 任务目标

钉钉方对此次压测任务解释如下:

1.稳定性专项的目的是希望和服务商一起保障服务稳定可用,为用户提供更可靠的服务;主要包括以下内容:

2.系统架构,包括服务器、数据、容器等

3.监控配置,报告系统监控(cpu、内存等)和业务监控(QPS、RT等)

4.首页性能情况

5.压测情况

6.降级方案,用于流程突增时,系统及时处理保证服务运行

a.峰值RT<=100ms

b.峰值错误率(统计非200)<=0.1%

c.峰值总cpu利用率<=70%

d.峰值load1<=cpu总核数-0.5

e.峰值内存利用率<=80%

(2)ISV服务端授权激活场景,服务端响应时间整体小于3s

这样一来,我们的目标很明显,就是验证QPS是日常峰值3~5倍情况下,服务器的资源占用,RT,QPS是否满足要求。

1.2 调研选型

由于时间仓促,我在选型压测工具时只对比了自己比较熟悉的工具Jmeter和LR,而LR只能使用破解版的(HP和微软这些厂商很鸡贼的,你想用破解版的那就用吧,等把你养肥了啃你一口大的,他们的策略也很套路 就是广撒网,总有那么几家会上钩的,对吧),并且钉钉方明确建议使用Jmeter,那就没啥好说的了,直接上Jmeter吧。

二:环境配置&安装目录解释

2.1Windows环境下安装Jmeter

Step1:配置Java开发环境,话不多说。

Step2:下载Jmeter:

解压后设置环境变量JMETER_HOME(设置为Jmeter的安装目录)

2.2 Mac下配置Jmeter

Step1:配置Java开发环境。

Step2:下载Jmeter并解压。

Step3:配置bash_profile(切换到当前用户主目录即:cd,然后查看隐藏文件ls –al即可看到这个文件,若无,自己建),加入以下内容。

export JMETER_HOME=/Users/mc/Applications/apache-jmeter

PATH=$JMETER_HOME/bin:$PATH:.

export PATH

然后执行,source .bash_profile即可,我们输入jmeter.sh验证下结果如下:

2.3 目录解释

bin:可执行文件目录。以下文件是我们经常会用到的。

jmeter.bat 可以设置jemeter使用的内存(ps:建议配置为负载机物理内存的1/4~1/2)

jmeter.sh:Linux和Mac下启动Jmeter GUI

jmeter-server(.bat):jmeter联系负载设置文件。

jmeter.properties:jmeter的80%以上的配置项均在该文件中配置;一旦该配置文件被改动,只有重启jmeter才生效。

docs:jmeter API文档

extras:Jmeter拓展。

lib: jmeter启动时默认的classpath。使用jmeter进行测试时所有需要import的包和类必须存在该目录下。

lib/ext:存放jmeter的组件/插件,第三方组件和插件也要放置在该目录下。

所有图形化GUI中可见,可使用的部分必须放置在lib/ext目录下。

printable_docs:jmeter官方帮忙文档。