千万并发连接注意点

对于一台服务器来说,支撑千万并发连接是一个挑战,我们来看看有哪些限制,并且如何解决

首先是内存问题,默认设置下,系统为每个tcp连接分配4k的rmem和4k的wmem,那么一个连接需要8k的内存,1kw连接需要80G内存。
修改系统的这两个配置,改为1k的rmem和wmem,则需要的内存为20G,实际使用中还会有其他的内存开销,因此最好准备32G或更大的内存
sysctl -w net.ipv4.tcp_rmem=4096
sysctl -w net.ipv4.tcp_wmem=4096

然后是文件描述问题,系统允许打开的文件数是有限制的,默认值很小,应当修改
sysctl -w fs.file-max=10485760

还有单进程的文件数量限制,这个最大值只能到1048576,应当修改
echo ‘* soft nofile 1048576’ >> /etc/security/limits.conf #用户单进程的最大文件数,用户登录时生效
echo ‘* hard nofile 1048576’ >> /etc/security/limits.conf #用户单进程的最大文件数,用户登录时生效
ulimit -n 1048576 #用户单进程的最大文件数 当前会话生效

由于一个进程最多能够打开100w个文件,因此需要多进程来支持千万连接,因此server需要运行多个服务器进程。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值