JMeter 性能测试实例

Posted xioacd99

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter 性能测试实例相关的知识,希望对你有一定的参考价值。

JMeter 性能测试实例

1. 实验目的

熟悉 Badboy + JMeter 的自动化测试流程

2. 实验内容

2.1 使用 Badboy 录制脚本

2.2 使用 JMeter 进行性能测试

2.3 分析测试结果

3. 实验步骤

3.1 下载图 1 所示的文件并解压

图 1. 本实验需要的相关文件

3.2 双击运行 strawberry-perl-5.10.1.0.msi(自动安装),安装 perl 环境。

3.3 双击 BadboyIntaller-2.1.1 安装 Badboy。

3.4 在 WebTours-v2 文件夹下找到 StartServer.bat 文件,如图 2 所示,双击运行

图 2. 运行 StartServer.bat

正常情况下,出现的界面如图 3 所示。如果有不一样的,考虑是否发生了端口占用等错误

图 3. StartServer.bat 正常启动页面

3.5 打开 Badboy,在地址框输入测试网站,点击上方的小红原点,再点击右边的箭头开始进入录制。具体操作如图 4、图 5 所示

图 4. 打开 Badboy

图 5. 依次添加实验相关参数

3.6 进入后点击页面中出现的 sign up now,按要求填写注册信息,这里以 xioacd99,123 为例,如图 6 所示

图 6. 添加注册信息

3.7 点击 continue、再点击 continue,然后点击 sign off,完成后点击上方的小红原点结束录制,结果如图 7 所示

图 7. 脚本录制完成

3.8 点击上方选项卡 File,在下拉框中选择 Export to JMeter,将录制的脚本导出为.jmx 文件,具体操作步骤如图 8 所示

图 8. 导出为 JMeter 脚本

导出的文件的内容如图 9 所示所示

图 9. 导出的 JMeter 脚本的内容

3.9 在 apache-jmeter-5.4.1\\bin 下找到 ApacheJMeter.jar 文件,双击,进入 JMeter 程序界面

3.10 点击上方的选项卡“文件”,在下拉框中选择打开,选中我们在 Badboy 中刚导出的 Script.jmx 脚本,具体操作步骤如图 10、图 11 所示

图 10. 导入 JMeter 脚本

图 11. 导入 JMeter 脚本(续)

3.11 将鼠标移动到 Thread Group,右键,添加一个察看结果树和聚合报告(添加察看结果树是为了查看每一个请求的响应结果,添加聚合报告是为了分析多用户并发测试的性能),具体操作步骤如图 12、图 13 所示

图 12. 添加察看结果树和聚合报告

图 13. 添加完成后的文件树示意

3.12 点击上方的启动按钮,验证我们录制的脚本是否存在问题,如果没有问题的话,结果如图 14 所示

图 14. 脚本正常运行,没有问题

3.13 在 login.pl 中,在 username 的值那里右键,点击 Replace values with variables,如图 15、图 16 所示

图 15. 替换用户名的值为变量

图 16. 替换完成后的结果

3.14 使用 excel 创建 user 数据,然后导出为 user.txt 文件,内容如图 17 所示

隐私关系,这里就放图了

图 17. 用户数据

3.15 在 Thread Group 那里右键添加一个 CSV 数据文件设置,具体操作步骤和参数设置如图 18、图 19 所示

图 18. 添加 CSV 数据文件设置

图 19. CSV 数据文件参数设置

3.16 然后点击 Thread Group,将线程数调成 100,开始运行

如图 20 所示,由于测试并不是在本机上运行的,所以 CPU 和内存的使用率并没有明显提升,但 WIFI 的传输量有明显提升

图 20. 测试运行时资源消耗情况

可以看到 100 个虚拟用户很快就跑完了,具体的运行结果和性能分析如图 21、图 22 所示

图 21. 测试完成后的察看结果树

图 22. 测试完成后的聚合报告

4. 结果分析

从图 22 所示的聚合报告可以看出,用户响应时间的中位数还不错,但是平均值和 90%百分位、95%百分位、99%百分位的响应时间都有点长,以第一个响应为例,分别是 8213ms、23904ms、25067ms。

而且出现了响应最小值和最大值偏差较大的情况,不知道是什么原因产生的。我用 GTmetrix 测了一下,结果如图 23 所示,不能分析,估计就是直接简单地把 html 文件上传到云了

图 23. GTmatrix 测试 webtours

以上是关于JMeter 性能测试实例的主要内容,如果未能解决你的问题,请参考以下文章

JMeter 性能测试实例

使用Jmeter进行Web站点性能测试实例

Jmeter---一个简单的性能测试实例(聚合报告)

性能测试之JMeter远程模式

Jmeter Web 性能测试入门 :一个小实例带你学会 Jmeter 脚本编写

Jmeter性能测试 入门