千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:广州千锋IT培训  >  技术干货  >  Locust初步应用

Locust初步应用

来源:千锋教育
发布人:qyf
时间: 2022-12-21 19:21:27

  Locust测试本质上是一个Python程序。这使得它非常灵活,尤其擅长实现复杂的用户流。所以如果想要流畅的运用Locust,必须熟悉Python语言编写脚本。

  因此,Locust的简单测试过程,就从这里开始:

  一、编写locustfile脚本文件

  from locust import HttpUser, task

  class HelloWorldUser(HttpUser):

  @task

  def hello_world(self):

  self.client.get("/hello")

  self.client.get("/world")

  这将模拟用户一次又一次地向/hello和/world发出HTTP请求。

  把上面的代码放到一个.py 的Python文件中。然后再该文件所属的目录中运行locust命令:

  二、启动Locust

图片42

  Locust的web界面

  启动Locust之后,打开浏览器并将其指向http://localhost:8089.会看到这样的页面:

图片43

  首先设置用户数量;

  其次设置用户加载和退出的速率;

  最后,将测试指向自己的web服务器并启动它!

  下面的屏幕截图显示了在以0.5用户/s的速度运行这个针对40个并发用户的测试时,将它指向一个响应/hello和/world的服务器。

图片44

  1、Charts模块

  Locust还可以将结果可视化为图表,通过Charts模块,可以查看每秒钟请求数(RPS)、响应时间(RT)、用户量(NU)等。

  每秒请求数(RPS):

图片45

  响应时间(毫秒):

图片46

  虚拟用户数量:

图片47

  注意:

  解释性能测试结果是相当复杂的,而且需要专门的业务知识和性能指标参数的了解,但是如果运行的图开始看起来像上面这样,最有可能的原因是目标服务/系统无法处理遇到的负载(它超载或“饱和”)

图片48

  最明显的迹象是,当达到9个用户时,响应时间开始快速增长,以至于每秒的请求曲线趋于平缓,尽管仍有新用户加入。

  如果无法生成足够的负载使系统饱和,或者需要一些关于如何开始深入研究服务器端问题的指针,请继续关注系列文章的更新。

  2、Failure模块

图片49

  该模块会显示出测试脚本运行中失败的内容、原因等信息。

  这里出现的失败是因为请求没有收到返回的内容也不支持这个请求地址。

  3、Exceptions模块

图片50

  该模块可以显示运行中出现的脚本异常等信息。目前看来是没有异常的,说明脚本运行没有问题。

  4、Tasks模块

图片51

  该模块显示运行中的脚本和任务:

  包括运行的测试脚本的信息;

  每个类别(请求的)的用户比例;

  总比例。

  5、Download Data模块

图片52

  数据下载模块可以提供请求统计、失败情况、异常情况、测试报告等信息的下载。

  三、控制测试脚本的运行

  1、编辑和设计测试脚本

图片53

  通过点击Locust运行状态【status】模块中的【edit】,打开设置,可以设置用户数量和加载速度。

  2、结束测试脚本运行

  可以点击【stop】按钮结束测试场景运行。

  3、重置运行统计数据

  可以点击【Reset stats】按钮重置统计数据。

  四、直接使用命令行/无头

  使用Locust的web UI是完全可选的。可以在命令行上提供加载参数,并以文本形式获得结果报告:

图片54

  要在多个Python进程或机器上运行Locust,可以使用——master命令行参数启动单个Locust主进程,然后使用——worker命令行参数启动任意数量的Locust工作进程。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

瀑布模型的优缺点是什么?

2023-06-06

js滚动到底部

2023-04-21

mysql字符串和二进制数据类型

2023-03-16

最新文章NEW

rpc消息协议设计

2023-06-05

什么是0day和1day漏洞

2023-03-14

Maven集成tomcat插件及使用教程

2023-02-27

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>