如何构建一个接受数千个持久网络连接的服务器?

ero*_*ppa 1 linux performance networking network-programming

我是关于在linux上构建一个服务器(我选择编程语言),它接受来自桌面软件的许多TCP/IP套接字持久连接.如何廉价而有效地完成这项工作?一台机器不能有超过60000个端口,所以如果我必须支持600k连接,那么我需要10个linux机箱?

由于每个连接所需的计算非常小(95%的空闲时间),一个linux盒已经可以处理600k我不想浪费金钱和资源运行10个盒子只是为了解决端口限制.

有任何想法吗?

jld*_*ont 6

连接由以下元组标识:[服务器IP;服务器端口; 客户IP; 客户端端口]因此,每台机器可用超过60,000个端口.

Erlang有效地处理了1000个连接中的10个.看看Apache和Erlang Yaws之间的这种比较.