我想测量SNMP GET请求的网络延迟。有一个免费的命令行工具time
,可用于查找各种命令的计时统计信息。例如,可以通过snmpget
以下方式使用它:
$ time snmpget -v 2c -c public 192.168.1.3 .1.3.6.1.2.1.2.2.1.10.2
IF-MIB::ifInOctets.2 = Counter32: 112857973
real 0m0.162s
user 0m0.069s
sys 0m0.005s
根据该手册,统计信息包括:
调用和终止之间经过的实时时间,
用户CPU时间(
由
times(2)返回的结构tms 中的tms_utime和tms_cutime值的总和),系统CPU时间(
由
times(2)返回的结构tms中tms_stime和tms_cstime值的总和)。
如您所见,这些选项均无法测量实际网络延迟时间(不包括其他程序执行时间统计信息)。有什么办法吗?也许不使用时间工具,而是使用一些内核技巧?
在开始编写自己的程序之前,我想问一下。
谢谢,皮奥特
-ttttt
也可能很有用-它不显示自上一个数据包以来的微秒,而是显示自跟踪开始以来的微秒。