51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 714|回复: 0
打印 上一主题 下一主题

[原创] Locustt完成性能测试之持续测试!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-18 16:36:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
性能测试过程中,运行界面的顶部除显示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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-17 07:15 , Processed in 0.067641 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表