这门课解决什么问题
很多后端开发者在写完接口后,往往只验证了单次请求的逻辑正确性,却对系统在真实高并发下的承载能力心里没底。这门课正是针对这种“接口跑得通,上线就打挂”的痛点,教你如何对 Go 服务进行基础的压力测试。课程聚焦在具体的压测工作流上,通过 Locust 配合 Boomer,以及 Wrk 工具的实际操作,帮你量化接口的吞吐量和响应延迟。它不谈宏大的微服务架构演进,只解决一个核心场景:如何用压测工具向你的 API 发起批量请求,拿到 QPS 和耗时数据,从而判断当前代码和数据库查询是否能扛住预期的流量。
适合什么基础与建议学习顺序
课程定位为初级篇,适合已经掌握 Go 基础语法、能跟着文档用 Gin 和 GORM 写出简单增删改查接口的开发者。如果你之前没写过任何 Web 服务端代码,直接学压测会难以理解被测对象的瓶颈在哪。资料包里的内容循序渐进,建议先看基于 Docker 的环境搭建部分,把被测服务和压测工具跑通;接着重点学习 Locust 结合 Go 框架进行多 API 压测的手法,以及针对 MySQL 的 SQL 层压测;最后再看如何用 fasthttp 替换默认请求客户端以提升压测端自身的性能,以及 Wrk 配合 Lua 脚本生成动态请求路径的用法。前四讲是核心主线,掌握了这部分,你就理解了完整的压测链路。
学完能独立做什么与资料配合方式
学完这套资料,你能独立为自己的 Go 项目搭建一套本地压测环境,针对具体的业务接口编写并发请求脚本,输出包含并发数、失败率和响应时间分布的测试报告。在遇到线上接口响应变慢时,你能主动用工具去复现问题,而不是单纯靠猜去优化代码。配合练习时,不要只停留在看文档和跑通现成代码。建议自己用 Gin 写两三个带有不同数据库查询逻辑的接口作为靶子,然后用资料里的 Locust 和 Wrk 方法分别去压它们。尝试对比加索引前后的 QPS 变化,或者观察 fasthttp 与普通请求在极高并发下的压测端数据差异。把资料里的工具手法,切实打到你自己的业务代码上,才算真正消化了这门课。
考虑到实战课程需要更新一大段时间,因此我们把其他和开发相关的内容单独拉出来讲。本课程主要讲的是压测,使用的工具是locust和boomer。短课程,10课时左右
课程目录
* 第1讲:开张课、环境搭建(基于docker)
* 第2讲:locust:参数说明、多个API压测(结合gin和gorm)
* 第3讲:locust:压测SQL的基本手法(mysql为例)
* 第4讲:locust:使用fasthttp来请求API压测
* 第5讲:Wrk压测:基本使用
* 第6讲:Wrk压测(2):用lua脚本生成请求路径






