Locust
Locust 是比较常见的性能测试工具,底层基于 gevent。官方介绍 它是一款易于使用、可编写脚本且可扩展的性能测试工具,可以让我们使用常规 Python 代码定义用户的行为,而不必陷入 UI 或限制性领域特定语言中.
Locust
具有无限的可扩展性(只要提供客户端python 代码,适用于所有协议的性能测试).
本文为开发性能自动化对比平台时学习相关内容的记录整理。
我们为什么选择locust
Locust的核心部件
Master节点
负责协调和管理整个测试过程,包括启动和停止测试、分发任务、收集和汇总测试结果等。
Worker节点
实际执行测试任务的节点,根据Master节点分配的任务进行模拟用户行为。
Web UI
提供可视化的测试界面,方便用户查看测试结果、监控测试进度等。
测试脚本(Load Test Script)
测试脚本,定义模拟用户行为的逻辑和参数,由Worker节点执行。
Locust内部运行调用链路
时序图如下:
sequenceDiagramautonumberRunner->>EventHook: start()EventHook->>Environment: fire()Runner->>Environment: create Environment and add user classesRunner->>User: start users and run tasksUser->>TaskSet: run()TaskSet->>Environment: send requests and record statisticsUser->>User: wait for other users to finishTaskSet->>User: returnRunner->>User: stop users and tasksRunner->>EventHook: stop()EventHook->>Environment: fire()
07-09 08:19