当前位置:   article > 正文

总结:为什么要限制最大连接数?

为什么要设置流出数据的连接上限阈值

一个tcp连接需要:1,socket文件描述符;2,IP地址;3,端口;4,内存

原因:

建立连接需要消耗资源,详情查看:

https://blog.csdn.net/qj4522/article/details/84892762

https://blog.csdn.net/solstice/article/details/6579232

1、内存资源

tcp连接归根结底需要双方接收和发送数据,那么就需要一个读缓冲区和写缓冲区,这两个buffer在linux下最小为4096字节,可通过cat /proc/sys/net/ipv4/tcp_rmem和cat /proc/sys/net/ipv4/tcp_wmem来查看。所以,一个tcp连接最小占用内存为4096+4096 = 8k,那么对于一个8G内存的机器,在不考虑其他限制下,最多支持的并发量为:810241024/8 约等于100万。此数字为纯理论上限数值,在实际中,由于linux kernel对一些资源的限制,加上程序的业务处理,所以,8G内存是很难达到100万连接的,当然,我们也可以通过增加内存的方式增加并发量

2、CPU资源

 

转载于:https://my.oschina.net/weiweiblog/blog/3075471

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/229985
推荐阅读
相关标签
  

闽ICP备14008679号