感谢 Dennis Williamson 的出色工作,我现在能够通过 ethtool -S 输出计算无限数量的 NIC 的平均吞吐量。可在此处找到其详细信息:
现在,平均吞吐量是一个非常有用的调整工具,但是我还需要确定同一时间段内的最大流量突发。占流量的 95% 一切都很好,但是如果我无法对每个 NIC 看到的最大突发量进行简单/准确的测量,我就无法占其他 5% 的时间。
Dennis 都是用 awk 写的,很遗憾我不太精通。我无法修改他现有的代码来做我想做的事。是否可以在 bash 中执行此操作?
作为参考,您可以在此处找到我们需要解析的示例日志文件:http: //pastebin.com/p1pwZeBN
丹尼斯的代码在这里:
awk '
BEGIN {
OFMT = "%.4f"
}
/^[[:blank:]]*$/ { next }
! ($1 in prevrx) {
prevrx[$1] = $2
prevtx[$1] = $3
next
}
{
count[$1]++
drx = $2 - prevrx[$1]
dtx = $3 - prevtx[$1]
rx[$1] += drx
tx[$1] += dtx
prevrx[$1] = $2
prevtx[$1] = $3
}
END {
for (iface in rx) {
print iface, rx[iface] / count[iface], tx[iface] / count[iface]
}
}'
感谢您的所有帮助!:)
编辑:: 作为一个例子来帮助详细说明我想看到的内容。如果新脚本可以解析日志文件(例如,对于 DMZ 入站),它应该确定最大的 delta 在 IE 的第 121 行和第 113 行之间:
DMZ 36195731362 vs DMZ 36195255177
= 668659 / 131072 = 5.1~mbps