Jmeter录制
jmeter版本:3.0
火狐
选项 》 隐私与安全 》 查看证书 》导入jmeter证书
证书在jmeter所在目录的bin目录下
代理设置(win10为例)
Windows设置 》 网络和internet》以太网 》 网络和共享中心 》 internet选项 》连接 》局域网设置(如下图),端口同后续的jmeter代理配置相同
Jmeter
打开jmeter
Jmeter目录 》 bin目录》jmeter.bat
添加线程组
添加http代理
点击启动
使用火狐打开需要压测的页面,并录制整套操作流程
线程组下出现请求信息表示录制成功,如下图
录制完成后添加查看结果树
点击查看结果树,运行一次压测,删除掉红色部分,如果不需要也可以删除静态文件部分
删除操作
选中后delete删除
也可以在录制前添加过滤条件
.*\.(js|css|PNG|jpg|ico|png|gif).*
类似于登录登出的压测,在录制完成后只留下登录和登出的操作就可以了。
使用
例如本次每秒线程数50,执行一次,也就是一次50个并发发送给服务器后等待服务器处理,上面是开始后的用时
运行后通过聚合报告可以看出登录和登出操作都执行了50次,Throughput为吞吐率,当增加线程数后再次运行,吞吐率不变,可能说明已经达到并发瓶颈,瓶颈就是吞吐率,此时可以通过zabbix监控上的各个性能,如:CPU、内存、网络、io、数据库等查看是哪些资源造成的瓶颈。
下图是我的一个聚合图形,可以看出压测期间cpu剩余为0
在服务器上通过top找到占用cpu最大的进程号,通过进程号发现就是此java程序占用的cpu资源,一般程序运行是先占内存。这里可以看到内存并没有明显变化,说明程序可能有问题。
接口压测
例如接口地址:
https://www.aaa.com/api/works/f44ccda356e93ce
添加HTTP请求默认值
注意域名后面的路径要去掉,因为是https,所以端口号为443,协议也是https
添加http请求
将剩余的路径添加上
执行一次,通过查看结果树查看是否成功并返回接口相应信息。
完成后可以开始压测。
需登录接口压测
有些接口需要登录压测,此时如果通过在此接口http默认请求上面配置登录接口,那么压测结果会限制于登录接口。
使用cookie压测解决此问题
建立两个http请求
登录
需要登录后压测的接口
尝试运行是否成功,成功后会看到cookie下的session
在测试计划中创建cookie管理器,将上面的session粘贴到cookie中
域,指的就是压测的接口域名
上面图的session值不一致是因为我从新运行重新获取了一份,真正做的时候一致即可。