siege -c100 -r5 -i -f urls.txt --log=high_pressure.log
这个命令使用 Siege(一款 HTTP 压力测试和性能基准测试工具),对指定 URL 列表进行并发负载测试。以下是详细解释:
命令分解:
siege -c100 -r5 -i -f urls.txt --log=high_pressure.log
1. -c100
- 作用:设置并发用户数为 100。
- 解释:模拟 100 个用户同时访问服务器,用于测试高并发场景下的服务稳定性。
2. -r5
- 作用:设置每个用户的重复请求次数为 5。
- 解释:每个并发用户会发送 5 次请求,总请求数 =
100 用户 × 5 次 = 500 次。
3. -i
- 作用:启用 随机访问模式(Internet 模式)。
- 解释:从
urls.txt中 随机选择 URL 进行测试,而不是按顺序访问。- 适用于模拟真实用户行为(用户不会固定顺序访问页面)。
4. -f urls.txt
- 作用:指定包含测试 URL 列表的文件(
urls.txt)。 - 文件格式示例:
http://example.com/api/1 http://example.com/page/2
5. --log=high_pressure.log
- 作用:将测试结果保存到日志文件
high_pressure.log。 - 解释:默认结果会输出到终端,此选项可记录详细测试数据(如响应时间、错误率等),便于后续分析。
测试目的
- 模拟 100 用户 × 5 次请求 = 500 次总请求 的高并发场景。
- 通过随机访问
urls.txt中的链接,测试服务器在压力下的:- 响应时间
- 吞吐量(Transactions/sec)
- 错误率(如 HTTP 500 错误)
- 稳定性(是否崩溃或拒绝服务)
常见调整参数
-
降低负载(如果服务器崩溃):
- 减少并发用户数(如
-c50)。 - 减少重复次数(如
-r2)。
- 减少并发用户数(如
-
增加负载(测试极限性能):
- 提高并发数(如
-c200)。 - 延长测试时间(如
-t60s替换-r5,表示持续 60 秒)。
- 提高并发数(如
-
更详细的日志:
- 添加
-v参数输出实时调试信息。
- 添加
日志文件内容示例
生成的 high_pressure.log 可能包含:
Transactions: 500 hits
Availability: 98.00 %
Elapsed time: 12.34 secs
Response time: 0.25 secs
Transaction rate: 40.52 trans/sec
- 关键指标:成功率、平均响应时间、每秒处理请求数。
如果需要帮助分析测试结果或调整参数,可以进一步讨论!

浙公网安备 33010602011771号