如果一个 Web 服务器每天要提供 100GB 的服务,最好是在 10,000 个 10MB 会话或 200,000 个 500kB 会话中这样做。
这个问题的原因是我想知道镜像内容以允许客户端利用 HTTP 的中间开始功能从许多服务器分段下载文件的站点是否有任何优势、劣势或两者都没有。(IIRC 这有点像洪流作品)
如果一个 Web 服务器每天要提供 100GB 的服务,最好是在 10,000 个 10MB 会话或 200,000 个 500kB 会话中这样做。
这个问题的原因是我想知道镜像内容以允许客户端利用 HTTP 的中间开始功能从许多服务器分段下载文件的站点是否有任何优势、劣势或两者都没有。(IIRC 这有点像洪流作品)
我想不仅会议的规模很重要,而且会议的持续时间也很重要。我猜想 200,000 个小会话的寿命会比 10,000 个大会话短。一旦会话完成,资源就会被释放以再次使用。我会优化它,使会话尽可能短。
还要记住,单个服务器不能同时拥有超过几百个会话(100 - 200 是一个安全数字)。
100 GB/天不是您需要担心的数字。它的平均速度略高于 1 MBYte/秒。你可以通过旧的以太网来获得它,以正确看待这一点。现在,您的实际峰值吞吐量会高得多,可能是 10 MByte/s。不过,对于现代服务器来说,这完全没有问题。所以,我认为你不需要那些多台服务器,所以这不是拆分 10MB 下载的理由。如果您从单个服务器下载,为什么要在 10MB 下载的中间插入 19 个断开连接并重新连接序列?
每个会话通常都会有一些开销——例如创建 TCP 连接的成本,或 HTTP 标头(如果您尚未将它们包含在 100GB 中)——所以表面上最好使用更大的会话。但也要从客户的角度考虑:通过使用多个较小的会话,他们可以并行运行下载,并可能更快地获取内容。因此,实际的“最佳”设置可能是一些中间会话大小,这当然取决于您提供的内容类型(大文件或小文件,流式或静态)以及您认为速度的重要性。没有一刀切的答案。