jmeter 压力测试

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值不一致是因为我从新运行重新获取了一份,真正做的时候一致即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容