netperf的时间测量值得分析

本文通过分析netperf的源代码,探讨了netperf测量的网络延迟波动较大的原因,发现netperf主要统计的是send调用的时间,而真正网络时间需要通过开启TCP时间戳并使用tcpdump和Wireshark进行分析。

最近载一个项目中发现用netperf测试的网络延时波动较大,于是分析原因,同时也发现了netperf本身测量的问题。

发现netperf的结果

ELAPSED_TIME=60.03

         MIN_LATENCY=2

         MAX_LATENCY=20888

         MEAN_LATENCY=399.72

         P90_LATENCY=6

         P99_LATENCY=11800

         STDDEV_LATENCY=2084.31

         THROUGHPUT=655.23

         LOCAL_CPU_UTIL=1.13

         REMOTE_CPU_UTIL=1.86

         LOCAL_SD=1.132

         REMOTE_SD=5.575

         REQUEST_SIZE=-1

         RESPONSE_SIZE=-1

         ELAPSED_TIME=60.03

最小值极小,根据传输的数据包大小计算应该远远大于2us。分析了netperf代码,

在send_omni_inner函数里有如下代码:

HIST_get_stats(time_hist,
  &min_latency,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值