在本系列中,咱們將討論Linux性能衡量,以及如何正確測量它。 Linux性能是一個很是普遍的主題,所以,咱們將重點關注一般會提升系統性能的四個主要資源--CPU,內存,磁盤存儲和網絡。
在網絡方面,咱們應該研究三件事:帶寬,延遲和數據包丟失(也被視爲錯誤)。 linux
您能夠從全局的角度考慮網絡,實際上很難觀察,而您和交換機之間的本地則很難觀察。緩存
就延遲而言,因爲各類緣由,衡量延遲的最佳方法是在您的應用程序級別。 網絡
這只是兩個端點之間的ping
操做,可能會讓您對網絡延遲有所瞭解,尤爲是在網絡加載時。至於外部測量,咱們能夠執行ping
或mtr
操做,這爲咱們提供了有關可能發生丟包以及延遲發生的位置的更多信息。 工具
我認爲常常沒法衡量的有關網絡的另外一有趣部分是DNS查找的一部分。您一般會說:「咱們進行DNS查詢時,DNS的速度很慢,彷佛已經被緩存了」。 性能
但實際上,這不會太慢,尤爲是對於反向DNS。咱們可使用BCC集合中的工具,爲咱們提供了很大的便利。大數據
對於網絡帶寬,只要有網絡存儲限制,您只需知道您的限制。也許將某些東西做爲VM放置在雲上,而且若是您要使網絡飽和100%,則會看到排隊的狀況。 spa
這對您的應用程序不利,特別是對於某些依賴發送大量小數據包的應用程序而言。當您經過網絡推送一些大數據包時,可能會餓死。
從本地網絡的角度來看,另外一件事是您要確保沒有錯誤。翻譯
這是另外一件重要的事情,由於兩個端點之間發生了許多網絡性能問題,這是由於數據包丟失和從新傳輸,而不是由於網速太慢。
重傳必定會發生,但不該該過高。在這種狀況下,我以爲3%的重傳率很是高。code
PS: 本文屬於翻譯,原文orm