locust系列-开篇

我用 locust 为游戏项目实现了一个压力测试工具。

在着手开发之前,我曾怀疑 locust 能否胜任游戏服务器的压测。因为无论是官方示例还是网上能搜到的资料,绝大多数都集中在 Web 压测上,几乎找不到关于二次开发或针对特定协议编写压测逻辑的内容。

编写压测逻辑时,可以直接使用 locust 内置的 TaskSetSequentialTaskSet。但游戏项目通常会自定义网络层:例如采用 TCP 长连接而非 HTTP,使用自定义的数据格式而非 JSON/XML,异步请求而非同步。这些场景都需要在 locust 的基础上进行二次开发。

在实际实现过程中,网上能参考的资料非常有限。我遇到问题时,首先查阅 locust 的官方文档,如果文档中没有涉及,就去翻看对应的源码和ai辅助阅读

基于locust==2.32.1,本系列文章索引:

  • locust系列-延时定义user.tasks
  • 自定义 task 的收集与组织(待)
  • 压测逻辑中使用协程时,如何被 locust 管理(待)
  • locust 对请求与响应数据的统计机制(待)
  • 分布式压测中如何保证 robot 账号 ID 唯一(待)
  • 批量管理多台机器:代码同步、启动/停止脚本(待)
  • 数据包的录制与回放(待)

原文:
https://lizijie.github.io/2026/03/24/locust%E7%B3%BB%E5%88%97-%E5%BC%80%E7%AF%87.html

作者github:
https://github.com/lizijie </b>

PREVIOUSlocust系列-延时定义user.tasks
NEXTskynet我的一种lua代码组织方式