有人问:Nginx或Haproxy的连接数能否突破“65535”这个“魔咒”?
你们是不是分不清 客户端、服务端?
百万并发测试,慌的应该是客户端,它有65535 的本地端口限制,为了凑齐百万并发,去哪里准备这么多机器?
对服务端而言,监听在固端端口,内存加上来,内核参数文件句柄数放开了搞,单机应付百万并发不是问题。
Linux上Nginx理论上最大连接数
正向代理:最大连接数 = work_processes * worker_connections
反向代理:最大连接数 = work_processes * worker_connections / 4
注:worker_connections指单个进程能够处理的最大连接数,假设你的服务器是8核,worker_connections =65535(可以自定义的,但最大不能超过最大文件描述符数,因为1个连接相当于使用了1个文件描述符)
在上述2种情况下最大连接数(理论值)分别是: 8 * 65535 和 8 * 65535 /4

Linux上Haproxy理论上最大连接数
最大连接数 = maxconn( global | defaults | listen )
博客探讨了Nginx和Haproxy在处理并发连接时是否受制于65535的限制。实际上,这个限制主要针对客户端的本地端口,而非服务端。对于服务端,通过增加工作进程和调整内核参数,单机处理百万并发是可能的。Nginx的理论最大连接数取决于工作进程数和worker_connections设置,而Haproxy则由maxconn参数决定。尽管存在理论上限,但实际性能会受到硬件和配置的制约。

4058

被折叠的 条评论
为什么被折叠?



