百万级并发连接_linux服务器配置

To support over 500k users, you *need* 

- A 64 bits hardware/kernel (AMD64, Opterons) 
- At least 8GB of ram 
- A recent linux kernel (2.6.x) 

About tuning, I prefer to not fully disclose them because servers are targets of many attacks, so it's better not help hackers. 

The most touchy thing is the IP route cache : You have to tune it or else the machine drops many connections 

(hint : rhash_entries=... in the boot append string) 
hints : 
echo 1 > /proc/sys/net/ipv4/route/gc_interval 
echo 150 >/proc/sys/net/ipv4/route/gc_timeout 
echo 2 >/proc/sys/net/ipv4/route/gc_elasticity 

- Use of hugeTLB pages 
hint : 
echo xxx >/proc/sys/vm/nr_hugepages 

Tune tcp : 
echo "4096 49152 131072" >/proc/sys/net/ipv4/tcp_wmem 
echo xxxx >/proc/sys/net/ipv4/tcp_max_syn_backlog 
echo xxxx >/proc/sys/net/core/somaxconn 
echo 1200000 > /proc/sys/net/ipv4/tcp_max_tw_buckets 
echo 7 >/proc/sys/net/ipv4/tcp_retries2 
echo "600000 650000 700000" >/proc/sys/net/ipv4/tcp_mem 
echo 0 >/proc/sys/net/ipv4/tcp_timestamps 
echo 0 >/proc/sys/net/ipv4/tcp_window_scaling 
echo 0 >/proc/sys/net/ipv4/tcp_sack 
echo 330000 >/proc/sys/net/ipv4/tcp_max_orphans 
echo "10000 62000" >/proc/sys/net/ipv4/ip_local_port_range 


others : 
echo 1300000 >/proc/sys/fs/file-max

你可能感兴趣的:(linux)