Linux单机最大tcp连接数(★firecat推荐★)
来源:互联网 发布:小号 软件 编辑:程序博客网 时间:2024/06/07 04:02
文章来源:http://www.cnblogs.com/mydomain/archive/2013/05/27/3100835.html
http://product.dangdang.com/23162953.html
推荐书籍:
《Linux多线程服务端编程:使用muduo C++网络库》作者:陈硕出 版 社:电子工业出版社出版时间:2013-1-1
单机最大tcp连接数
网络编程
在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三路握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少?
如何标识一个TCP连接
在确定最大连接数之前,先来看看系统如何标识一个tcp连接。系统用一个4四元组来唯一标识一个TCP连接:{local ip, local port,remote ip,remote port}。
client最大tcp连接数
client每次发起tcp连接请求时,除非绑定端口,通常会让系统选取一个空闲的本地端口(local port),该端口是独占的,不能和其他tcp连接共享。tcp端口的数据类型是unsigned short,因此本地端口个数最大只有65536,端口0有特殊含义,不能使用,这样可用端口最多只有65535,所以在全部作为client端的情况下,最大tcp连接数为65535,这些连接可以连到不同的server ip。
server最大tcp连接数
server通常固定在某个本地端口上监听,等待client的连接请求。不考虑地址重用(unix的SO_REUSEADDR选项)的情况下,即使server端有多个ip,本地监听端口也是独占的,因此server端tcp连接4元组中只有remote ip(也就是client ip)和remote port(客户端port)是可变的,因此理论上,最大tcp连接为客户端ip数×客户端port数,对IPV4,不考虑ip地址分类等因素,最大tcp连接数约为2的32次方(ip数)×2的16次方(port数),也就是server端单机最大tcp连接数约为2的48次方。
实际的tcp连接数
上面给出的是理论上的单机最大连接数,在实际环境中,受到机器资源、操作系统等的限制,特别是sever端,其最大并发tcp连接数远不能达到理论上限。在unix/linux下限制连接数的主要因素是内存和允许的文件描述符个数(每个tcp连接都要占用一定内存,每个socket就是一个文件描述符),另外1024以下的端口通常为保留端口。在默认2.6内核配置下,经过试验,每个socket占用内存在15~20k之间。
影响一个socket占用内存的参数包括:
rmem_max
wmem_max
tcp_rmem
tcp_wmem
tcp_mem
grep skbuff /proc/slabinfo
对server端,通过增加内存、修改最大文件描述符个数等参数,单机最大并发TCP连接数超过10万是没问题的,国外 Urban Airship 公司在产品环境中已做到50万并发。在实际应用中,对大规模网络应用,还需要考虑C10K 问题。
原文:
http://wanshi.iteye.com/blog/1256282
http://www.cnblogs.com/Solstice/archive/2011/07/01/2095411.html
http://unix.stackexchange.com/questions/30509/what-is-the-formula-to-determine-how-much-memory-a-socket-consumes-under-linux
http://serverfault.com/questions/10852/what-limits-the-maximum-number-of-connections-on-a-linux-server
http://soft.chinabyte.com/os/285/12349285.shtml
- Linux单机最大tcp连接数(★firecat推荐★)
- Windows Socket 最大连接数(★firecat推荐★,附个人总结)
- 单机TCP最大连接数
- 单机最大tcp连接数
- 单机最大tcp连接数
- 单机最大tcp连接数
- 单机最大tcp连接数
- 单机最大tcp连接数
- 单机最大tcp连接数
- 单机最大tcp连接数
- 关于单机最大tcp连接数 及 linux 下 TCP 连接数修改
- Windows 下单机最大TCP连接数
- Windows 下单机最大TCP连接数
- Windows 下单机最大TCP连接数
- Windows 下单机最大TCP连接数
- Windows下单机最大TCP连接数
- Windows 下单机最大TCP连接数
- Windows 下单机最大TCP连接数
- leetcode: Sliding Window Maximum
- 进口跨境电商如何做好邮件营销推广?(亚马逊京东案例)
- Android项目总结之社会化分享
- Unity协同程序(Coroutine)的解析
- datatables的使用
- Linux单机最大tcp连接数(★firecat推荐★)
- Android,在争议中逃离 Linux 内核的 GPL 约束
- Raspberry pi 2 OSMC 安装
- struts2 拦截器修改request的parameters参数失败的问题
- JVM内存管理机制和垃圾回收机制
- Specifying Alternate Destinations
- Eclipse插件开发CleanUp
- 等待执行:time.sleep()和implicitly_wait()
- 日志