我目前正在为全球防病毒推广创建概念。av 和引擎更新的部署部分通过 http 存储库处理。大约有 250 个 Windows 和 Linux 客户端必须通过 http 获取更新。
客户端将在 30 分钟内开始更新过程。
存储库本身包含许多小文件 (25 KB - 1 MB)。实际上没有动态内容,甚至没有网站。网络服务器仅提供更新。
您将使用哪个网络服务器来完成此任务?还是这个问题已经过时了,因为两者都能很好地处理任务?
我认为 apache2 为此超载,但我没有使用 lighttpd 的经验。所以非常感谢你的回答。
--
非常感谢。我会留在apache2。我知道如何配置它,并且我认为我可以对其进行足够的调整以获得所需的性能。硬件(内存/CPU)不是我的问题。该服务器将在一个非常强大的 VMware VI3 集群上运行。
如果更新过程变慢或客户端更多,那么估计必须下载更新我可能会切换到 lighttpd 或 nginx。
我会从 Apache 开始,因为它是一种“标准”,新加入的管理员更有可能已经知道如何配置它。
如果您发现服务器无法处理负载,并且某些 Apache 调整无法做到这一点,那么考虑使用更轻的守护程序(例如 lighttpd)可能是要走的路。
你也可以试试nginx。静态内容的速度非常快,资源也很容易。
任何一个服务器都应该能够处理该级别的静态内容,因为在任何一种情况下,您都可能在最大限度地利用服务器之前最大限度地利用带宽。当然,这取决于您的服务器硬件 - 如果所有客户端可能在完全相同的时间连接以获取更新,那么您将需要相当大的 RAM 来处理可能需要服务于该负载的所有 Apache 进程。
因此,除非您使用的是低功率套件(例如,基于 Atom 且没有大量 RAM 的套件),否则请选择您更熟悉的套件,或者您可以最好地获得有用的支持和其他资源。
话虽如此,两者都应该是在公园里散步以配置简单的静态内容 - Debian 和类似发行版下的区别在于 和 之间的
apt-get install apache
选择apt-get install lighttpd
。与未调整的 Apache 实例相比,默认的 Lighttpd 配置在相同用途下消耗的资源明显更少,因此如果您不需要 Apache 的额外功能。如果时间允许,您可能想尝试每一个。安装 Apache,添加您的内容,使用Apache 基准实用程序等工具创建测试负载(确保您的测试负载超出您的实际预期以允许增长)并监控资源使用,然后使用 lighttpd 重复。即使您不尝试两者,您也需要执行这样的基准测试,以确保选择的解决方案能够应对。
两者都将能够毫无困难地处理内容。Apache 平均会使用更多的内存。只要您有记忆,就可以选择您更舒服的东西,并为将来测试另一个(并且有点乐趣)。
我可能会选择lighttpd。当然,Apache 会完成这项工作,但正如您所提到的,如果您愿意学习新软件包的设置和配置,那就太过分了。Lighttpd 的配置非常简单,它的设计(带有 select()/kqueue/equeue 循环的单进程)允许它在硬件要求低于 Apache 的情况下扩展并发请求。如果您设想在某个时候有大量用户,lighttpd 应该可以让您以更少的系统负载满足需求。
然而,Lighttpd 确实是以学习新软件包为代价的。如果该成本对您的项目来说是一个问题,那么坚持使用标准 Apache 可能是明智的。
我会选择 Apache,(请注意,我在我的个人 VPS 上使用 lighttpd,计划将来迁移到 Apache)。
我没有得到这个“矫枉过正”的论点,是的,它有点慢(或者综合测试显示)并且使用更多资源,但它真的很容易配置。在它的核心,Apache 几乎没有什么可掌握的,所有的功能和额外的复杂性都来自模块,你不需要从一大堆开始。
Lighttpd 不容易设置,例如,我决定在我的 VPS 上托管redmine(Rails 应用程序),花了我不少于 3 个晚上,最终 IRC 帮助弄清楚了所有的小细节。我最近使用 mod_rails(又名乘客)对 Apache 做了同样的事情,花了我 20 分钟。
如果你想在 lighttpd 上使用它们,你可能还需要破解 3rd 方应用程序。例如,如果没有 index.php 修改, magento(至少是一些旧版本)不能与 lighty 一起使用。