如何使用Apache JMeter对Web性能进行测试

jackwangcumt 发表于 2021/05/19 16:49:31 2021/05/19
【摘要】 对于多并发的性能测试和疲劳测试,如果不借助工具,则工作量非常巨大。这里推荐一个开源的测试工具Apache JMeter 。Apache JMeter 使用起来非常的简单,可以根据向导完成具体API的性能测试。当然,它也支持插件,为了更好的进行测试,可以手工安装插件管理器。

      当我们开发一个系统后,需要经过严格的测试才能正式发布。在系统发布前,需要将系统部署到一个模拟的服务器上,并性能模块功能测试和性能测试。性能测试往往需要模拟多并发场景下,来查看服务器系统的响应时间。另外,需要对系统进行疲劳测试,即持续运行几个小时,看是否有内存泄漏或者CPU持续走高的情况,即系统是否可以稳定长期运行。

      对于多并发的性能测试和疲劳测试,如果不借助工具,则工作量非常巨大。这里推荐一个开源的测试工具Apache JMeter 。Apache JMeter 使用起来非常的简单,可以根据向导完成具体API的性能测试。当然,它也支持插件,为了更好的进行测试,可以手工安装插件管理器。插件管理器地址为:

https://jmeter-plugins.org/install/Install/

QQ截图20210519162742.jpg

下载后的文件为jmeter-plugins-manager-1.6.jar 将其放入Apache JMeter安装目录的lib/ext目录下,重启Apache JMeter。可以从菜单中查看到此插件管理器,如图所示。

QQ截图20210519162934.jpg

单击【Plugins Manager】菜单项,可以打开具体的插件管理界面,这里可以根据需要安装插件:

QQ截图20210519163134.jpg

在【Avaliable Plugins】页签中可以选择本地没有安装的插件,最后需要单击【Apply Changes and Restart JMeter】按钮重启生效。至此,可以在测试计划中添加插件中的线程组【jp@gc - Ultimate Thread Group】,如图所示。

QQ截图20210519163431.jpg

添加完成后,需要设置并发规则,设置如下:

QQ截图20210519163516.jpg

这里创建的就是一个测试场景为:10s内启动100个线程,持续运行600s,最后在10s内都结束访问:举例来说,系统10s内涌入了100个用户并发,他们访问系统持续时间600s,在最后的10s钟都退出了系统。

自此,可以添加一个HTTP请求,用于测试Web系统具体的模块API,如登录系统的API。并在此HTTP请求下添加监听器,具体如下:

QQ截图20210519163550.jpg

单击运行按钮,执行测试,等测试完成后,可以单击停止按钮,并查看监视器的数据:

QQ截图20210519164327.jpg

QQ截图20210519164459.jpg

QQ截图20210519164518.jpg

由此可见,当持续进行并发访问时,从图形上看,最后46秒后,API响应时间明显增长,从聚合报告中可以看出,有异常率为2.81%,说明100并发长时间访问,存在拒绝访问或者服务失败的情况。这里需要排查,并根据情况改进API设计,或者服务器配置升级来解决多并发的问题。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。