如何衡量Linux性能,避免最典型的錯誤:網絡篇

在本系列中,咱們將討論Linux性能衡量,以及如何正確測量它。 Linux性能是一個很是普遍的主題,所以,咱們將重點關注一般會提升系統性能的四個主要資源--CPU,內存,磁盤存儲和網絡。
在網絡方面,咱們應該研究三件事:帶寬,延遲和數據包丟失(也被視爲錯誤)。 linux

您能夠從全局的角度考慮網絡,實際上很難觀察,而您和交換機之間的本地則很難觀察。緩存

延遲

就延遲而言,因爲各類緣由,衡量延遲的最佳方法是在您的應用程序級別。 網絡

這只是兩個端點之間的ping操做,可能會讓您對網絡延遲有所瞭解,尤爲是在網絡加載時。至於外部測量,咱們能夠執行pingmtr操做,這爲咱們提供了有關可能發生丟包以及延遲發生的位置的更多信息。 工具

我認爲常常沒法衡量的有關網絡的另外一有趣部分是DNS查找的一部分。您一般會說:「咱們進行DNS查詢時,DNS的速度很慢,彷佛已經被緩存了」。 性能

但實際上,這不會太慢,尤爲是對於反向DNS。咱們可使用BCC集合中的工具,爲咱們提供了很大的便利。
大數據

帶寬

對於網絡帶寬,只要有網絡存儲限制,您只需知道您的限制。也許將某些東西做爲VM放置在雲上,而且若是您要使網絡飽和100%,則會看到排隊的狀況。 spa

這對您的應用程序不利,特別是對於某些依賴發送大量小數據包的應用程序而言。當您經過網絡推送一些大數據包時,可能會餓死。

從本地網絡的角度來看,另外一件事是您要確保沒有錯誤。翻譯

數據包丟失和重傳

這是另外一件重要的事情,由於兩個端點之間發生了許多網絡性能問題,這是由於數據包丟失和從新傳輸,而不是由於網速太慢。

重傳必定會發生,但不該該過高。在這種狀況下,我以爲3%的重傳率很是高。code

PS: 本文屬於翻譯,原文orm

相關文章
相關標籤/搜索