【发布时间】:2014-06-04 22:25:50
【问题描述】:
在服务器上保持套接字打开的相关开销是多少?
假设您有数百万个像 facebook 这样的并发连接,与 HTTP 请求相比,套接字会增加太多开销吗?我知道套接字会大量减少网络开销(因为头),但是套接字会是更好的选择吗?如果您不实时更新客户端,但仍向客户端发送批量信息(每隔几秒或客户端请求时),这是在可扩展性、性能和服务器方面为数百万用户提供服务的更好选择侧头顶? (您是否必须使用套接字或 http 进行更多/更快的扩展?)
【问题讨论】:
-
“套接字会增加太多开销” - 与什么相比? “插座会是更好的选择” - 与什么相比? “我知道套接字会大大减少网络开销” - wat??等等……
-
与通过 HTTP 请求或推送通知更新相比
-
你真的应该在问之前做更多的研究。 HTTP 是套接字之上的一层,除非您使用一些晦涩难懂的操作系统,它使用套接字以外的东西进行通信。您还忘记了另一件重要的事情:Facebook 不只有一台服务器。你认为什么更容易扩展?使用标准协议的东西还是你发明的东西?
-
@Karoly 我知道 HTTP 使用套接字。我说的是保持连接打开而不是获取一些信息,关闭连接,然后通过再次发送 HTTP 标头等来重新做一遍......
-
那就谈谈吧。请重写(编辑)您的问题。
标签: performance sockets scalability overhead-minimization