无缓存的 Squid 代理。需要更多内存还是更多 CPU 能力?

无缓存的 Squid 代理。需要更多内存还是更多 CPU 能力?

我准备买一台服务器用作代理服务器,无需缓存

许多用户将通过服务器流式传输电视节目和电影等。我的问题是,如果没有缓存,流式传输将如何影响服务器。我理解流式传输的内容将存储在内存中,直到发送给最终用户。

但如何处理呢?我需要大量的内存吗?还是更好的 CPU?

附言。我们这里讨论的是 80-100 个并发用户。服务器将具有 1Gb/s 的连接。

答案1

Squid 非常高效,即使在低端硬件上也能运行良好。

如果您不使用缓存,则不需要太多内存。如果您要利用内存缓存,Squid 才真正需要大量内存。

举个例子,我有几台 Compaq ProLiant DL360 G1 服务器,配备 512MB 内存和 1.2GHz PIII Xeon 处理器,运行 Squid 作为代理,它们的性能绰绰有余。这些服务器上游到 DMZ 内的缓存 Squid。

您真正应该关注的是您的 NIC - 一些较便宜的 NIC 没有 TCP 卸载引擎,因此需要更多的系统 CPU 使用率来处理网络流量,但服务器级 NIC 通常具有 TOE,因此可以自行处理流量,因此使用更少的系统资源。

答案2

我的一台机器有 X3430,它可以饱和四个 1Gbps 链接。事实已经足够了,我没有使用过您发布的 Squid。

我认为您将始终使用 Squid 进行缓存,如果:

  1. 内容仍然驻留在内存中,如果
  2. 发送的缓存标头允许 Squid 立即将内容提供给另一个用户

至于缓冲区,交换可能是这里最便宜的朋友。

相关内容