- 注册时间
- 2008-5-30
- 最后登录
- 2012-2-3
- 在线时间
- 619 小时
- 阅读权限
- 200
- 积分
- 9973
- 帖子
- 1252
- 主题
- 174
- 精华
- 11
- UID
- 31
  
 - 签到
- 133
- 注册时间
- 2008-5-30
- 最后登录
- 2012-2-3
- 在线时间
- 619 小时
- 阅读权限
- 200
- 积分
- 9973
- 帖子
- 1252
- 主题
- 174
- 精华
- 11
- UID
- 31
|
发表于 2008-12-26 10:09:39
|显示全部楼层
linux并发连接上百万的配置
从 七猫的藏经阁 作者:Diviner
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 |
|