【问题标题】:Apache2 config for Amazon EC2 c3.2xlarge instanceAmazon EC2 c3.2xlarge 实例的 Apache2 配置
【发布时间】:2015-04-09 08:12:22
【问题描述】:

目前,我正在使用安装了 Apache2 的 c3.2xlarge Amazon EC2 实例(8 个 vCPU 和 15GB 的 RAM)。服务器几乎每次都处于高负载状态,因此,有时它会挂起并且 CPU 会过载几分钟。健康检查报告该实例处于不健康状态。但是,这是我在服务器处于“工作日”模式时看到的运行 htop 的内容:

如您所见,CPU 运行良好,但仅使用了 15 个 RAM 中的 2GB。

这是mpm_prefork.conf 文件:

<IfModule mpm_prefork_module>
        StartServers             20
        MinSpareServers          20
        MaxSpareServers          30
        ServerLimit              360
        MaxClients               360
        MaxRequestWorkers        360
        MaxConnectionsPerChild   1000
</IfModule>

这是apache2.conf的一部分:

Timeout 200
KeepAlive On
MaxKeepAliveRequests 700
KeepAliveTimeout 5

我已经将 ServerLimit 和 MaxClients 从 150 更改为 360,情况似乎更好(之前只使用了 1GB 的 RAM)。

如何使用 prefork/apache 配置优化性能以存档更多的 RAM 使用和更少的 CPU 限制?

【问题讨论】:

    标签: apache amazon-web-services amazon-ec2 apache2


    【解决方案1】:

    找出每个 Apache 进程 Y (ps -ef | grep httpd) 消耗的平均内存量。从 15GB 中减去 VM 中其他进程消耗的内存量(如果您预计其他进程将来可能会消耗更多内存,请添加更多缓冲区)。让差值为 X。然后您可以将 MaxClients 设置为大约 X/Y

    【讨论】:

      猜你喜欢
      • 2015-01-02
      • 1970-01-01
      • 2014-04-30
      • 2011-09-07
      • 1970-01-01
      • 2013-03-28
      • 2013-10-27
      • 2016-05-31
      • 2015-06-02
      相关资源
      最近更新 更多