在本系列中,我们将讨论Linux性能衡量,以及如何正确测量它。 Linux性能是一个非常广泛的主题,因此,我们将重点关注通常会提高系统性能的四个主要资源--CPU,内存,磁盘存储和网络。
在网络方面,我们应该研究三件事:带宽,延迟和数据包丢失(也被视为错误)。
您可以从全局的角度考虑网络,实际上很难观察,而您和交换机之间的本地则很难观察。
延迟
就延迟而言,由于各种原因,衡量延迟的最佳方法是在您的应用程序级别。
这只是两个端点之间的ping
操作,可能会让您对网络延迟有所了解,尤其是在网络加载时。至于外部测量,我们可以执行ping
或mtr
操作,这为我们提供了有关可能发生丢包以及延迟发生的位置的更多信息。
我认为经常无法衡量的有关网络的另一有趣部分是DNS查找的一部分。您通常会说:“我们进行DNS查询时,DNS的速度很慢,似乎已经被缓存了”。
但实际上,这不会太慢,尤其是对于反向DNS。我们可以使用BCC集合中的工具,为我们提供了很大的便利。
带宽
对于网络带宽,只要有网络存储限制,您只需知道您的限制。也许将某些东西作为VM放置在云上,并且如果您要使网络饱和100%,则会看到排队的情况。
这对您的应用程序不利,特别是对于某些依赖发送大量小数据包的应用程序而言。当您通过网络推送一些大数据包时,可能会饿死。
从本地网络的角度来看,另一件事是您要确保没有错误。
数据包丢失和重传
这是另一件重要的事情,因为两个端点之间发生了许多网络性能问题,这是因为数据包丢失和重新传输,而不是因为网速太慢。
重传一定会发生,但不应该太高。在这种情况下,我觉得3%的重传率非常高。
PS: 本文属于翻译,原文
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。