本文以Ubuntu 12.04 LTS Desktop (x64)默認配置爲例(機器的內存爲4GB),推薦先閱讀《TCP鏈接的狀態與關閉方式,及其對Server與Client的影響》、《Windows系統下的TCP參數優化》,以瞭解TCP優化的相關知識。cookie
/proc/sys/net目錄 全部的TCP/IP參數都位於/proc/sys/net目錄下(請注意,對/proc/sys/net目錄下內容的修改都是臨時的,任何修改在系統重啓後都會丟失),例以下面這些重要的參數:網絡
/etc/sysctl.conf文件tcp
/etc/sysctl.conf是一個容許你改變正在運行中的Linux系統的接口。它包含一些TCP/IP堆棧和虛擬內存系統的高級選項,可用來控制Linux網絡配置,因爲/proc/sys/net目錄內容的臨時性,建議把TCPIP參數的修改添加到/etc/sysctl.conf文件, 而後保存文件,使用命令「/sbin/sysctl –p」使之當即生效。具體修改方案參照上文:優化
net.core.rmem_default = 256960.net
net.core.rmem_max = 513920接口
net.core.wmem_default = 256960ip
net.core.wmem_max = 513920內存
net.core.netdev_max_backlog = 2000cookies
net.core.somaxconn = 2048配置
net.core.optmem_max = 81920
net.ipv4.tcp_mem = 131072 262144 524288
net.ipv4.tcp_rmem = 8760 256960 4088000
net.ipv4.tcp_wmem = 8760 256960 4088000
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 2048