我目前正在构思一个全球防病毒推广的概念。AV 和引擎更新的部署部分通过 http 存储库进行处理。大约有 250 个 Windows 和 Linux 客户端必须通过 http 获取更新。
客户端将在 30 分钟内开始更新过程。
存储库本身包含许多小文件(25 KB - 1 MB)。实际上没有动态内容,甚至没有网站。网络服务器仅提供更新。
你会使用哪个 Web 服务器来完成这项任务?或者这个问题已经过时了,因为两者都能很好地完成这项任务?
我认为 apache2 对此有超载,但我没有使用 lighttpd 的经验。所以非常感谢您的回答。
--
非常感谢。我会继续使用 apache2。我知道如何配置它,我认为我可以对其进行足够的调整以获得我需要的性能。硬件(内存/CPU)不是我的问题。服务器将运行在非常强大的 VMware VI3 集群上。
如果更新过程太慢或更多的客户端需要下载更新,我可能会切换到 lighttpd 或 nginx。
答案1
我会从 Apache 开始,因为它是一种“标准”,新来的管理员更有可能知道如何配置它。
如果您发现服务器无法处理负载,并且某些 Apache 调整也无法解决此问题,那么考虑使用更轻量的守护进程(例如 lighttpd)可能是可行的方法。
答案2
您也可以尝试nginx. 它对于静态内容的处理速度非常快,并且占用资源较少。
答案3
任何服务器都应该能够处理这种级别的静态内容,因为无论哪种情况,您都可能在服务器达到最大容量之前先达到带宽的最大容量。当然,这取决于您的服务器硬件 - 如果所有客户端可能同时连接以获取更新,那么您将需要大量 RAM 来处理可能需要用于满足该负载的所有 Apache 进程。
因此,除非您使用的是低功耗套件(例如,基于 Atom 且没有大量 RAM 的套件),否则请选择您更熟悉的套件,或者您可以最好地获得有用的支持和其他资源。
话虽如此,对于简单的静态内容,两者都应该很容易配置 - Debian 和类似发行版下的区别在于apt-get install apache
和之间的选择apt-get install lighttpd
。默认的 Lighttpd 配置在相同用途下消耗的资源明显少于未调整的 Apache 实例,因此如果您不需要 Apache 的额外功能。
如果时间允许,您可能想尝试一下。安装 Apache,添加内容,使用以下工具创建测试负载:Apache 基准测试实用程序(确保您的测试负载超出您的实际预期,以允许增长)并监控资源使用情况,然后使用 lighttpd 重复此操作。即使您不尝试两者,您也需要执行这样的基准测试,以确保所选解决方案能够应对。
答案4
我可能会选择 lighttpd。Apache 确实可以完成这项工作,但正如您所说,如果您愿意学习新软件包的设置和配置,那么 Lighttpd 就有点小题大做了。Lighttpd 的配置非常简单,其设计(带有 select()/kqueue/equeue 循环的单进程)使其能够以比 Apache 更低的硬件要求扩展并发请求。如果您预计某个时候会有大量用户,lighttpd 应该可以让您以更少的系统负载满足需求。
但是,Lighttpd 需要您学习新的软件包。如果您的项目担心这个成本,那么坚持使用标准 Apache 可能是明智之举。