草帽路飞UU 发表于 2022-10-18 16:36:33

Locustt完成性能测试之持续测试!

在性能测试过程中,运行界面的顶部除显示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













页: [1]
查看完整版本: Locustt完成性能测试之持续测试!