套接字服务器端开销

时间:2014-04-20 20:59:27

标签: performance sockets scalability overhead-minimization

在服务器上保持套接字打开会产生什么开销?

假设您有像facebook这样的数百万并发连接,与HTTP请求相比,套接字会增加太多开销吗?我知道套接字会减少很多网络开销(因为标头),但套接字是更好的选择吗?如果您没有更新客户端实时,但仍然向客户端发送批量信息(每隔几秒或客户端请求),这是在可扩展性,性能和服务器方面为数百万用户提供服务的更好选择一边开销? (您是否必须使用套接字或http进行更多/更快的扩展?)

1 个答案:

答案 0 :(得分:0)

要问的正确问题是"我可以为每台服务器打开多少个套接字"。

这取决于操作系统。

<强>的Linux
值设置为net.ipv4.netfilter.ip_conntrack_max

https://serverfault.com/questions/10852/what-limits-the-maximum-number-of-connections-on-a-linux-server


<强>窗

规格较低的虚拟机上的70,000个连接

Max tcp/ip connections on Windows Server 2008


然后它当然取决于您的应用程序的编写程度,硬件规格等等。

所以我会说你不应该按开放套接字的数量来设计你的应用程序,因为你的应用程序可能会在达到套接字限制之前崩溃和烧毁。