歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

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

淺談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