1. 如果需要支撐百萬級同時在線數,需要對linux默認內核參數進行調整,我們的典型配置是在
/etc/sysctl.conf增加以下內容:
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_max_syn_backlog = 120000
net.core.netdev_max_backlog = 120000
net.core.somaxconn = 12000
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_tw_buckets = 1000
net.ipv4.tcp_abort_on_overflow = 1
net.ipv4.tcp_sack = 0
net.ipv4.tcp_rmem = 4096 8192 32768
net.ipv4.tcp_wmem = 4096 8192 32768
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_mem = 3075840 4101120 12303360
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_syncookies = 0
修改/etc/security/limits.conf配置:
* soft nofile 1200000
* hard nofile 1200000
部分ubuntu系統需要這麼修改
root hard nofile 1000000
root soft nofile 1000000
root soft core unlimited
root soft stack 10240
ubuntu hard nofile 1000000
ubuntu soft nofile 1000000
ubuntu soft core unlimited
ubuntu soft stack 10240
* hard nofile 1000000
* soft nofile 1000000