性能关注点
接口响应时间:50毫秒-1000毫秒
吞度量 10000万每天
tPs 每秒处理事务数
压测需求与业务操作步骤
压测对象 - http://news.baidu.com
压测页面 -首页 国际频道 财经频道
步骤:
访问首页
单击 国际频道
单击 财经频道
录制脚本
新建压测脚本
添加 HTTp(S)Test Script Recorder
添加 Thread Group线程组
线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。
1.线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数
2.准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程
3.循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本
在线程组添加 Recording Controller
录制脚本配置
打开HTTP(S) Test Script Recorder
设定 port = 8088
设定 Target Controller = Test Plan >Thread Group >Recording Controller
在 Request Filtering 添加 include 与 Exclude URL正则匹配表达式
目的 避免录制过多不需要的请求
Include .*\.(baidu\.com).*
Exclude .*\.(js|css|PNG|jpg|ico|png|gif).*
正则表达式:
$ 匹配输入字符串的结尾位置,如果设置了RegExp对象的Multiline属性,则$也匹配'\n' ,要匹配$字符串本身,使用\$
() 标记一个子表达式的开始和结束位置,子表达式可以获取以后使用,要匹配这些字符,请使用\( 和 \)
. 匹配前面的子表达式零次或多次 要匹配*字符,请使用\*
+ 匹配前面的子表达式一次或多次 要匹配+字符,请使用\+
?匹配前面的子表达式一次或零次 要匹配+字符,请使用\?
. 匹配除换行符外的任意字符
\ 将下一个字符标记为或特殊字符,或原义字符,或向后引用,如 'n'匹配字符'n' ,'\n匹配换行字符' ,'\\'匹配'\'
接下来开始录制,设置FirFox浏览器代理:
点击start 按钮开始录制
录制如下:
添加监听器 View Result Tree 回放验证
添加聚合报告查看聚合测试报告
聚合报告如下所示:
label:每个JMeter的http request都有一个name属性,这里就是name属性的值
samples:表示这次测试中一共发出了多少个请求,例如这次我们模拟20个用户,每个用户迭代10次,那么这里显示的是200
average:平均响应时间
median:50%用户的响应时间
90%line:90%用户的响应时间
min:最小响应时间
max:最大响应时间
error%:本次测试中出现错误的请求的数量/请求总数
throughput:吞吐量-每秒完成的请求数(流量)
KB/sec:每秒从服务器接收到的数据量