歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 淺談linux性能調優之十四:調節socket緩沖區

淺談linux性能調優之十四:調節socket緩沖區

日期:2017/3/1 15:43:19   编辑:關於Linux
淺談linux性能調優之十四:調節socket緩沖區 淺談linux性能調優之十三:性能分析相關概念 http://www.2cto.com/os/201307/229890.html 應用程序通過socket系統調用和遠程主機進行通訊,每一個socket都有一個讀寫緩沖區。讀緩沖區保存了遠程主機發送過來的數據,如果緩沖區已滿,則數據會被丟棄,寫緩沖期保存了要發送到遠程主機的數據,如果寫緩沖區已慢,則系統的應用程序在寫入數據時會阻塞。可知,緩沖區是有大小的。 BDP 給出了一種簡單的方法來計算理論上最優的 TCP socket 緩沖區大小(其中保存了排隊等待傳輸和等待應用程序接收的數據)。如果緩沖區太小,那麼 TCP 窗口就不能完全打開,這會對性能造成限制。如果緩沖區太大,那麼寶貴的內存資源就會造成浪費。如果您設置的緩沖區大小正好合適,那麼就可以完全利用可用的帶寬 BDP = 帶寬 * 延遲 (單位: 字節) 帶寬*延時/8*2^20 = ***B 帶寬: Mebibites 延時:s (RTT) 注意:調整tcp前,必須調整core,對於tcp,udp來說不能超出core的限制 默認值: net.core.rmem_max = 131071 128K net.core.rmem_default = 124928 net.core.wmem_max = 131071 net.core.wmem_default = 124928 net.ipv4.tcp_rmem = 4096 87380 2691072 net.ipv4.tcp_wmem = 4096 16384 2691072 示例: 帶寬:1.5M 100M 延時:500ms 3000ms 1.5 * 0.5 / 8 * 2^20 ======= net.ipv4.tcp_wmem 100 * 3 / 8 * 2^20 ======= net.ipv4.tcp_wmem
Copyright © Linux教程網 All Rights Reserved