在服务器上保持套接字打开会产生什么开销?
假设您有像facebook这样的数百万并发连接,与HTTP请求相比,套接字会增加太多开销吗?我知道套接字会减少很多网络开销(因为标头),但套接字是更好的选择吗?如果您没有更新客户端实时,但仍然向客户端发送批量信息(每隔几秒或客户端请求),这是在可扩展性,性能和服务器方面为数百万用户提供服务的更好选择一边开销? (您是否必须使用套接字或http进行更多/更快的扩展?)
答案 0 :(得分:0)
要问的正确问题是"我可以为每台服务器打开多少个套接字"。
这取决于操作系统。
<强>的Linux 强>:
值设置为net.ipv4.netfilter.ip_conntrack_max
<强>窗强>:
规格较低的虚拟机上的70,000个连接
Max tcp/ip connections on Windows Server 2008
然后它当然取决于您的应用程序的编写程度,硬件规格等等。
所以我会说你不应该按开放套接字的数量来设计你的应用程序,因为你的应用程序可能会在达到套接字限制之前崩溃和烧毁。