如何使用Apache JMeter对Web性能进行测试
当我们开发一个系统后,需要经过严格的测试才能正式发布。在系统发布前,需要将系统部署到一个模拟的服务器上,并性能模块功能测试和性能测试。性能测试往往需要模拟多并发场景下,来查看服务器系统的响应时间。另外,需要对系统进行疲劳测试,即持续运行几个小时,看是否有内存泄漏或者CPU持续走高的情况,即系统是否可以稳定长期运行。
对于多并发的性能测试和疲劳测试,如果不借助工具,则工作量非常巨大。这里推荐一个开源的测试工具Apache JMeter 。Apache JMeter 使用起来非常的简单,可以根据向导完成具体API的性能测试。当然,它也支持插件,为了更好的进行测试,可以手工安装插件管理器。插件管理器地址为:
https://jmeter-plugins.org/install/Install/
下载后的文件为jmeter-plugins-manager-1.6.jar 将其放入Apache JMeter安装目录的lib/ext目录下,重启Apache JMeter。可以从菜单中查看到此插件管理器,如图所示。
单击【Plugins Manager】菜单项,可以打开具体的插件管理界面,这里可以根据需要安装插件:
在【Avaliable Plugins】页签中可以选择本地没有安装的插件,最后需要单击【Apply Changes and Restart JMeter】按钮重启生效。至此,可以在测试计划中添加插件中的线程组【jp@gc - Ultimate Thread Group】,如图所示。
添加完成后,需要设置并发规则,设置如下:
这里创建的就是一个测试场景为:10s内启动100个线程,持续运行600s,最后在10s内都结束访问:举例来说,系统10s内涌入了100个用户并发,他们访问系统持续时间600s,在最后的10s钟都退出了系统。
自此,可以添加一个HTTP请求,用于测试Web系统具体的模块API,如登录系统的API。并在此HTTP请求下添加监听器,具体如下:
单击运行按钮,执行测试,等测试完成后,可以单击停止按钮,并查看监视器的数据:
由此可见,当持续进行并发访问时,从图形上看,最后46秒后,API响应时间明显增长,从聚合报告中可以看出,有异常率为2.81%,说明100并发长时间访问,存在拒绝访问或者服务失败的情况。这里需要排查,并根据情况改进API设计,或者服务器配置升级来解决多并发的问题。
- 点赞
- 收藏
- 关注作者
评论(0)