【问题标题】:Apache Tuning on Server with Nothing Else服务器上的 Apache 调优
【发布时间】:2013-11-12 08:10:18
【问题描述】:

我们有一个网站可能会因为一些显着的曝光(电视)而获得一些显着的流量,我们希望尽最大努力做好准备。我在 AWS 上,并且已将我们的 MySQL 数据库移至其自己的 RDS 实例。

Apache 现在基本上是 Web 服务器上唯一的东西。我分配了一个“大型”实例,具有 7.5GB 的 RAM 和 2 个 CPU。

我担心我对 Apache 配置的无知使我无法充分利用盒子,我特别担心 MinSpareServers、MaxSpareServers 和 StartServers 设置。

我们正在提供一个 cakePHP 应用程序。

每个实例在生成后似乎占用 22MB 内存

感谢您提供的任何见解

【问题讨论】:

    标签: apache cakephp amazon-web-services


    【解决方案1】:

    首先,您应该检查您的 ELB 配置是否可以处理流量峰值(如果您使用的是 ELB)。这里的重点是 ELB 只能每五分钟(大约)扩展 50%,所以它不能很好地处理流量峰值。补充资料here

    如果您不使用 ELB,我建议您在服务器前面添加一个负载平衡器,以增加注意事项(我专门使用 HAProxy,因为我们的流量往往会激增)。这样,您可以在出现问题时快速添加新服务器。

    回到您关于 Apache 调优的问题,您应该确保您使用了计算机上所有可用的 RAM。这意味着设置一个简单的负载测试(使用 siege 或 apache ab)并提高 MaxSpareServers 和 MaxClients 设置,直到您的 EC2 实例饱和。另外,请确保您运行的是 MPM Worker 而不是 Prefork,我已经看到了更好的结果。鉴于机器只有两个 CPU,拥有大量并发 apache 进程可能无济于事,因为 CPU 可能会饱和。

    性能会因您实际运行的应用程序而有很大差异,并且您可能会遇到其他瓶颈,例如 RDS 实例,但正确缓存的解决方案应该在您提到的服务器上产生 10-40k RPM。

    扩展通常需要测试和优化,但我希望这会有所帮助。

    【讨论】:

    • 不客气,杰伊。如果回答您的问题,请接受答案:)
    猜你喜欢
    • 1970-01-01
    • 2016-04-04
    • 2014-04-22
    • 2021-03-26
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多