在日常数据库开发与优化过程中,我们经常会遇到这样的问题:
- 新建索引之后,性能到底提升了多少?
- 某个 SQL 语句在高并发下是否稳定?
- 存储过程在真实业务压力下是否会出现瓶颈?
如果没有可用的企业级压测工具,可以尝试一下这款免费易用的经典工具:SqlQueryStress。

SqlQueryStress 是一个免费开源的轻量级 SQL Server 查询压力测试工具,用于针对单个 SQL 语句或存储过程进行高并发压力测试。
SqlQueryStress 工具采用 C# 语言开发,遵循 MIT 开源协议,代码托管在 GitHub:
https://github.com/ErikEJ/SqlQueryStress
功能特性
- 并发执行(Threads):支持设置线程数(并发用户),用于模拟真实线上高并发流量。
- 迭代次数(Iterations):指定每个线程执行多少次 SQL 查询,总执行次数等于线程数乘以迭代次数。
- 参数化查询(Parameter Substitution):支持在查询语句中使用变量替换,支持随机数据参数,用于测试缓存一致性、执行计划稳定性等。

- 性能指标:SQLQueryStress 工具自动采集多个维度的性能指标,包括平均客户端耗时(Client Seconds)、平均 CPU 耗时(CPU Seconds)、平均实际执行时间(Actual Seconds)以及平均逻辑读(Logical Reads)。
- 异常统计:自动统计运行错误,可以查看详细异常信息,适合验证并发下是否有死锁或者错误。
- 双发布模式 :SQLQueryStress 图形工具支持 Windows 系统,适合手动测试;sqlstresscmd 命令行工具支持跨平台,适合批量测试或者集成 CI/CD。

- 选项配置:SQLQueryStress 还提供了一些高级配置,包括连接超时、执行超时、连接池、IO 统计、时间统计、强制取回数据等;同时还支持保存和加载配置,方便进行重复测试。

下载安装
SQLQueryStress 桌面版(Windows)官方下载网址如下:
https://github.com/ErikEJ/SqlQueryStress/releases
下载完成之后进行解压,双击 SqlQueryStress.exe 运行:

sqlstresscmd 命令行工具可以使用 dotnet 命令进行安装:
bash
dotnet tool install -g sqlstresscmd
具体使用可以参考文档:
https://github.com/ErikEJ/SqlQueryStress/blob/master/src/SqlQueryStressCLI/README.md