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 错误)
    • 稳定性(是否崩溃或拒绝服务)

常见调整参数

  1. 降低负载(如果服务器崩溃):

    • 减少并发用户数(如 -c50)。
    • 减少重复次数(如 -r2)。
  2. 增加负载(测试极限性能):

    • 提高并发数(如 -c200)。
    • 延长测试时间(如 -t60s 替换 -r5,表示持续 60 秒)。
  3. 更详细的日志

    • 添加 -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
  • 关键指标:成功率、平均响应时间、每秒处理请求数。

如果需要帮助分析测试结果或调整参数,可以进一步讨论!

posted @ 2025-05-16 11:00  Haloiwuhan  阅读(6)  评论(0)    收藏  举报