本文介绍压测是什么,解释压测的专属名词,教大家如何压测。介绍市面上的常见压测工具(ab、locust、Jmeter、go实现的压测工具、云压测),对比这些压测工具,教大家如何选择一款适合自己的压测工具,本文还有两个压测实战项目:
- 单台机器对 HTTP 短连接 QPS 1W+ 的压测实战
- 单台机器 100W 长连接的压测实战
- 对 grpc 接口进行压测
- 支持 http1.1 和 2.0 长连接
简单扩展即可支持 私有协议
go 实现的压测工具,每个用户用一个协程的方式模拟,最大限度的利用 CPU 资源
- 可以在 mac/linux/windows 不同平台下执行的命令
go-stress-testing 压测工具下载地址
查看帮助信息go-stress-testing-mac --help
- 有 go 环境安装
安装最新版本
go install github.com/link1st/go-stress-testing@latest
安装路径在echo $GOBIN
目录下,配置了export PATH=$PATH:$GOROOT/bin:$GOBIN
可以在任意目录下执行
查看帮助信息go-stress-testing --help
参数说明:
-c
表示并发数
-n
每个并发执行请求的次数,总请求的次数 = 并发数 *
每个并发执行请求的次数
-u
需要压测的地址
# 运行以 mac 为示例
./go-stress-testing-mac -c 1 -n 100 -u https://www.baidu.com/