Apache 可以处理多少个用户?

Apache 可以处理多少个用户?

我有一个静态网站和一个 8GB RAM 服务器。该网站只包含一些 javascript 和静态内容。我需要处理大约 20,000 个并发访问者。我的 8GB 服务器能处理这个吗?有人能解释一下如何为此配置 Apache MaxClients 和其他设置吗?

答案1

如果你有足够的钱购买足够的带宽,只需使用 nginx 来提供静态服务(js 是静态文件)。

它可以在 2G RAM + SATA 磁盘桌面上提供大量服务,因此它应该可以与服务器硬件一起运行。

当然,不要使用 php + apache2 和 mpm prefork,只是为了提供静态内容……或 RAM将要是一个问题(以及 I/O、上下文切换、时间等待等等)

哦,作为静态内容服务器,请为所有可以添加缓存标头的内容。如果缓存了内容,我怀疑您每秒会收到 20,000 个新请求...或者一天之内整个地球和部分宇宙都会看到您的网站。

答案2

如果您担心单个服务器无法处理过多的连接,则应考虑使用 Varnish 之类的 Web 缓存。这将减轻提供图像和静态内容时的负载。

真正测试一台服务器上可以容纳多少用户等的唯一方法完全取决于您在服务器上运行的内容。例如,我可以有一个 PHP 脚本,它会占用大量 CPU 或内存,然后提供页面。它可能表现良好,每分钟最多可处理几百个页面。但是,如果您有一个编写良好的优化网站,那么您可能会发现每分钟可以处理数千个(平均)页面。Varnish 肯定会从 Web 服务器上卸下一些基本的负载请求。nginx 是另一个不错的 Web 服务器,它没有 apache 那么多花哨的功能,但普遍的共识是它非常快,在其功能上进行了很好的优化,并且占用的资源更少。

答案3

如果所有文件都是“原样”且静态的,那么 RAM 就不是问题。带宽才是真正重要的。20,000 个并发需要强大的连接才能发送这些文件。

答案4

  • 使用 apache2 mpm 工作引擎。
  • 禁用任何不需要的模块。
  • 检查其他瓶颈(防火墙、内核网络设置)

确保您拥有足够的带宽,并且在向大众提供之前对您的设置进行测试、测试、再测试。

相关内容