性能分析--网络

跟磁盘一样,如果网路传输环节出现了性能问题,比如网络带宽比较小,或者网卡处理进来的数据包比较慢,最后也有可能会导致应用的性能可能受到影响。

现有的网络监控工具虽然能监控收发的数据包的多少,但是没法说明网络本身是超负载还是欠负载。现在linux上用的比较多的工具,除了netstat之外,还有一个比较有名的工具nicstat. 

nicstat打印出来的数据字段解释

Time列:表示当前采样的响应时间.

lo and eth0 : 网卡名称.

rKB/s : 每秒接收到千字节数.

wKB/s : 每秒写的千字节数.

rPk/s : 每秒接收到的数据包数目.

wPk/s : 每秒写的数据包数目.

rAvs : 接收到的数据包平均大小.

wAvs : 传输的数据包平均大小.

%Util : 网卡利用率(百分比).

Sat : 网卡每秒的错误数.网卡是否接近饱满的一个指标.尝试去诊断网络问题的时候,推荐使用-x选项去查看更多的统计信息.

案例

例如nicstat监控数据如下图:

e1000g1网卡是一个千兆网口,通过该网口写入数据速率为176.2Kbps,读取数据速率为225.7Kbps, 除上1000MB,可以看到该网卡利用率为0.33。

一般情况下,网络的利用率不会超过100%。对于本地以太网,超过40%的网络利用率说明网口的使用已经是饱和状态了。如果网路是包交换(UDP)或者不同的传输介质,网络能达到的最大利用率可能会不一样。对于一些受网络传输速度影响性能比较大的系统,比如消息中间件,当网络利用率或者传输速率成为瓶颈的时候,可以考虑从网络层面进行性能优化,以优化系统的性能

你可能感兴趣的:(性能分析--网络)