2019独角兽企业重金招聘Python工程师标准>>>
apache-jmeter-3.3.zip 解压后cd bin 双击启动 或者命令行./jmeter 就有GUI界面了
启动前需要有java环境,需要安装jdk8,不支持jdk9 我下的是比较新的jdk-8u151-macosx-x64.dmg
首先,我们先用GUI模式下测试调试,再把跑通的脚本保存出来,放到非GUI下压测,这是官方推荐的。
1. 添加一个线程组,每个任务都要线程去处理
名称:可以给线程组设置一个个性化的命名,注意尽量不要使用中文(测试计划也是)
线程组属性
线程数 Number of Threads(users): 一个用户占一个线程,200个线程就是模拟200个用户
Ramp-Up Period(in seconds): 设置线程需要多长时间全部启动。如果线程数为200 ,准备时长为10 ,那么需要1秒钟启动20个线程。也就是每秒钟启动20个线程。
循环次数 Loop Count: 每个线程发送请求的次数。如果线程数为200 ,循环次数为10 ,那么每个线程发送10次请求。总请求数为200*10=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。
Delay Thread creation until needed:直到需要时延迟线程的创建
调度器:选中之后可以配置启动时间,立即或者预定的时间。
启动时间:测试计划什么时候启动,启动延迟会覆盖它。当启动时间已过或手动运行脚本时,当前时间也会覆盖它(但启动时间页面显示不会变)。
结束时间:测试计划什么时候结束,持续时间会覆盖它。
持续时间(秒):测试计划持续多长时间,会覆盖结束时间。
启动延迟(秒):测试计划延迟多长时间启动,会覆盖启动时间。
2.取样器(sampler)可以认为所有的测试任务都由取样器承担,有很多种,如:HTTP请求。
这里我们选择添加HTTP请求,现在演示的是HTTP接口做性能测试
HTTP请求界面详解
Web服务器
服务器名称或IP 就是写域名,如果这里写了,下面的路径就不需要些域名了,当然你也可以把完整URL写到路径里面去,如果出现乱码,填写content encoding
3. 添加一个聚合报告,也就是查看运行结果
Jmeter 聚合报告---测试结果分析
Lable 请求对应的name属性值。
#samples 具有相同标号的样本数,总的发出请求数。
Average 请求的平均响应时间。单位毫秒,1000毫秒为1秒
Median 50%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第50%的值。
90%Line 90%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第90%的值。
95%Line 95%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第95%的值。
99%Line 99%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第99%的值。
Min 最小响应时间。
Max 最大响应时间。
Error% 错误率,本次测试中出现错误的请求的数量/请求的总数
Throughput 百分比吞吐量,吞吐量是以每秒/分钟/小时的请求量来度量的。这里表示每秒完成的请求数。
Received KB/sec 收到的千字节每秒的吞吐量测试。
Sent KB/sec 发送的千字节每秒的吞吐量测试。
4.添加断言
为了判断结果的正确性,我们有时需要增加响应的断言.比如响应代码必须是200才作数
但我们经常判断返回的JSON一个字段,比如code为多少是处理成功
调试好了脚本,那么我们可以放到非GUI界面上压一压了。。
To run Apache JMeter in NON_GUI mode and generate a report at end :
Open a command prompt (or Unix shell) and type:
jmeter.bat(Windows)/jmeter.sh(Linux) -n -t test-file [-p property-file] [-l results-file] [-j log-file] -e -o [Path to output folder]
然后结果到test_report_01目录下查看index.html
sh /Users/longquan/Downloads/apache-jmeter-3.3/bin/jmeter.sh -n -t ceshi.jmx -l test_report_01.log -e -o test_report_01
/Users/longquan/Downloads/apache-jmeter-3.3/bin/jmeter.sh -?
-n run JMeter in nongui mode
-t the jmeter test(.jmx) file to run. "-t LAST" will load last used file 压测脚本文件jmx
-l the file to log samples to 将样本记录到的文件
-j jmeter run log file (jmeter.log)
-e generate report dashboard after load test 在加载测试后生成报告仪表板
-o output folder for report dashboard 报告仪表板的输出文件夹,文件夹需要不存在