You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Siege测试的最终统计结果重定向至日志文件?

解决Siege统计结果无法重定向到日志的问题

我来帮你搞定这个Siege统计捕获的问题~ 你遇到的核心问题是Siege把最终统计数据输出到了标准错误流(stderr),而普通的>>只能捕获标准输出流(stdout),所以才会漏掉这部分内容。下面给你几个实用的解决方案:

方案1:同时捕获所有输出(包括统计数据)

直接把stderr和stdout都重定向到日志文件,用2>&1实现这个效果,命令示例:

siege -c 10 -t 10s https://your-target-url.com >> siege_results.log 2>&1

解释一下:2>&1就是告诉系统把标准错误(文件描述符2)的内容,重定向到标准输出(文件描述符1)的位置,这样所有输出都会被写入日志文件,包括你需要的最终统计。

方案2:只提取最终统计数据(过滤冗余输出)

如果不想把测试过程中的所有请求日志都存下来,只想保留最后的统计,可以结合grep提取关键部分。Siege的统计通常以Transactions:开头,你可以用grep的上下文参数来抓取这部分内容:

siege -c 10 -t 10s https://your-target-url.com 2>&1 | grep -A 20 "Transactions:" > siege_summary.log

这里的-A 20表示匹配到Transactions:后,再抓取后面20行内容,你可以根据实际统计的行数调整这个数字(比如改成15或25),确保把完整的统计信息包含进去。

方案3:利用Siege自带的日志功能(清空旧日志后仅保留本次测试)

Siege默认会把日志写到/var/siege/log/siege.log,但这个文件会累积所有测试记录。如果你想用这个方式,先清空旧日志再执行测试,就能只保留本次的内容:

# 先清空旧日志
> /var/siege/log/siege.log
# 执行测试并写入日志
siege -c 10 -t 10s https://your-target-url.com --log=/var/siege/log/siege.log
# 提取最后30行(统计部分)到单独文件
tail -30 /var/siege/log/siege.log > last_test_summary.log

测试完后,打开对应的日志文件就能看到你需要的最终统计数据啦~

内容的提问来源于stack exchange,提问作者Santiago de Diego

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:52:03