天天看點

核心優化相關

net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 30

net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 30

net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 30 

echo 100000 > /proc/sys/net/netfilter/nf_conntrack_max

net.ipv4.tcp_fin_timeout = 30 修改系統預設的TIMEOUT時間(預設120)

net.ipv4.tcp_max_syn_backlog = 3096  半連接配接隊列長度

net.ipv4.tcp_keepalive_time = 300 表示當keepalive起用的時候,TCP發送keepalive消息的頻度。預設是2小時,改為5分鐘。

net.ipv4.tcp_syncookies = 1 表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防範少量SYN攻擊,預設為0,表示關閉;

net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連接配接中TIME-WAIT sockets的快速回收,預設為0,表示關閉

net.ipv4.tcp_timestamps = 1 時間戳 關閉timestamps後,tw_recycle功能是失效的問題

net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許将TIME-WAIT sockets重新用于新的TCP連接配接,預設為0,表示關閉;

net.ipv4.ip_local_port_range = 4096 60000

net.ipv4.icmp_echo_ignore_all = 0 允許Ping

net.ipv4.tcp_ecn = 0

net.ipv4.tcp_synack_retries = 1 防SYN Flood(洪水攻擊) 預設為5,表示重發5次,每次等待30~40秒,即“半連接配接”預設hold住大約180秒

表示回應第二個握手包(SYN+ACK包)給用戶端IP後,如果收不到第三次握手包(ACK包)後,不進行重試,加快回收“半連接配接”,不要耗光資源。 

net.ipv4.tcp_max_tw_buckets = 655360  新的解決TIME_WAIT連接配接過多的方法

#系統允許的檔案句柄的最大數目,因為連接配接需要占用檔案句柄

fs.file-max = 819200

#用來應對突發的大并發connect 請求

net.core.somaxconn = 65536

#最大的TCP 資料接收緩沖(位元組)

net.core.rmem_max = 1024123000

#最大的TCP 資料發送緩沖(位元組)

net.core.wmem_max = 16777216

#網絡裝置接收資料包的速率比核心處理這些包的速率快時,允許送到隊列的資料包的最大數目

net.core.netdev_max_backlog = 165536

#本機主動連接配接其他機器時的端口配置設定範圍

net.ipv4.ip_local_port_range = 10000 65535

小米的優化

net.ipv4.tcp_ecn=0 

net.ipv4.route.flush=1 

net.ipv4.tcp_rfc1337=1 

net.ipv4.ip_no_pmtu_disc=0 

net.ipv4.tcp_sack=1 

net.ipv4.tcp_fack=1 

net.ipv4.tcp_window_scaling=1 

net.ipv4.tcp_timestamps=1 

net.ipv4.tcp_rmem=4096 39000 187000 

net.ipv4.tcp_wmem=4096 39000 187000 

net.ipv4.tcp_mem=187000 187000 187000 

net.ipv4.tcp_no_metrics_save=1 

net.ipv4.tcp_moderate_rcvbuf=1 

本文轉自 freeterman 51CTO部落格,原文連結:http://blog.51cto.com/myunix/1621374,如需轉載請自行聯系原作者

上一篇: nginx
下一篇: read -u

繼續閱讀