关闭

使用Locust完成性能测试(二)——持续测试(19)

发表于:2022-10-17 09:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈磊    来源:51Testing软件测试网原创

  在性能测试过程中,运行界面的顶部除显示Locust的Logo之外,还显示被测系统的根地址、虚拟用户的运行状态、RPS(每秒请求数)和实时的失败率。右上角的两个按钮分别用于停止测试和重置统计数据,如图3-7所示。
图3-7  运行界面中右上角的两个按钮
  我们既可以查看当前所有虚拟用户的运行状态,也可以通过单击虚拟用户运行状态下方的Edit来实时修改虚拟用户的数量及每秒启动的虚拟用户数。要停止测试,单击STOP按钮。若单击Reset Stats按钮,则会重置下方实时显示的列表,如图3-8所示。
图3-8  实时显示的列表
  在图3-8所示的列表中,部分字段的含义如下。
  Type:请求的类型,如GET或POST。
  Name:请求的路径(主要相对于主机而言)。
  # Requests:当前请求的数量。
  # Fails:当前请求失败的数量。
  Median(ms):中间值,单位是毫秒。通常情况下,50%的服务器响应时间短于中间值,而剩下50%的服务器响应时间长于中间值。
  Average(ms):平均值,单位是毫秒,表示所有请求的平均响应时间。
  Min(ms):请求的最短服务器响应时间,单位是毫秒。
  Max(ms):请求的最长服务器响应时间,单位是毫秒。
  Average size(bytes):平均请求的大小,单位是字节。
  Current RPS:当前的每秒请求数。
  Current Failures/s:当前的请求失败数。
  Charts标签页显示了各种实时统计的曲线,如图3-9所示。每次刷新后,历史数据并不会保留,而根据实时数据重新绘制不同的曲线,涵盖的信息包括每秒请求数、响应时间(如响应时间的中位数和95分位数)与虚拟用户数。
  Failures标签页显示了在测试过程中出现的所有错误和失败数据的统计信息。Exceptions标签页实时显示了抛出的异常。Tasks标签页显示了性能测试过程中任务的全部信息。通过Download Data标签页,下载收集的数据,包括请求数据、响应数据及使用脚本捕获的异常等。
图3-9  实时统计曲线
  除上述UI交互的场景设置和运行方式之外,Locust还提供了一种无UI的性能场景启动方式,通过这种方式我们可以实现Locust与CI的无缝衔接。无UI的场景设置是通过命令完成的,如代码清单3-6所示。
代码清单3-6
  选项的作用如下。
  -f:用于指定测试脚本。
  --host:用于指定被测应用的URL。
  --headless:表示使用无UI启动方式。
  -u:等同于UI启动方式下的Number of users(peak concurrency),用于设置想要模拟的用户数。
  -r:等同于UI启动方式下的Spawn rate(users started/second),用于设置每秒启动的虚拟用户数。
  --run-time:用于设置测试运行的时长,也就是LoadRunner中的压力持续时间。
  配置好场景设置参数后,按Enter键,就会出现图3-10所示的内容。
图3-10  无UI的控制台中的内容
  每秒都会有一张实时快照输出到控制台,所有测试都执行完之后,控制台将会显示整体的测试结果,如图3-11所示。
图3-11  整体的测试结果
  这里会显示和UI启动方式下一样的结果,不仅会统计50分位数、66分位数、75分位数、80分位数、90分位数、95分位数、98分位数、99分位数、99.9分位数、99.99分位数和100分位数的响应时间,还会显示一共发出多少个请求。部分分位数的含义如表3-3所示。
表3-3  部分分位数的含义
  虽然Locust支持UI和无UI两种模式,但Locust提供的部分参数却不完全支持这两种模式。例如,有些参数只对UI模式起作用,而有些参数只对无UI模式起作用。
  只对UI模式起作用的参数包括用于指定UI控制台访问地址的--web-host,以及用于指定UI控制台访问端口的-P、--web-port等,这些参数严格区分大小写,如代码清单3-7所示。
代码清单3-7
  按Enter键启动成功后,便可通过在浏览器中输入192.168.1.2:8888访问控制台。
  只对无UI模式起作用的参数包括用于设置并发用户数的-u、用于设置每秒启动人数的-r,以及用于设置测试运行时间的--run-time(时间单位m表示分钟,h表示小时,s表示秒),如代码清单3-8所示。
代码清单3-8
  无论是对UI模式还是无UI模式,都起作用的参数如下。
  用于保存测试结果的参数--csv,最终的测试结果都会自动保存到指定的CSV文件中,读者可以从当前目录下或指定的其他目录下查看。
  用于设置日志级别的参数--loglevel,日志级别包括DEBUG、INFO、WARNING、ERROR和CRITICAL,默认的日志级别是INFO。
  用于设置日志文件路径的参数--logfile,如果不进行设置,Locust默认会将日志输出到交互窗口中。
  注意,在DEBUG日志级别下,Locust将会输出大量的信息,通常只有出现问题后才会使用DEBUG日志级别;在INFO日志级别下,一切都将按预期进行,输出的信息要比DEBUG日志级别稍微少一些;在WARNING日志级别下,只有当一些意想不到的事情发生时才会输出信息;在ERROR日志级别下,只有当发生错误且未能使用一些预期的功能时才会输出信息;在CRITICAL日志级别下,仅当发生严重的错误且无法运行时才会输出信息。
  Locust支持分布式架构,可通过master和slave方式完成性能测试。其中,master配置如代码清单3-9所示。
代码清单3-9
查看《持续测试》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号