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