Итак, я потратил последние два дня, пытаясь понять это. Мы размещаем сайт Magento с довольно высокой посещаемостью на Amazon EC2 Large, используя как Apache с mpm-prefork, так и Varnish, и кэширование APC. Проблема в том, что процессоры внезапно загружаются на 100% и никогда не завершают работу, увеличивая нагрузку и делая страницу непригодной для использования. Это происходит каждый раз при запуске Apache, но обычно через несколько минут.
Статистика первого сом сервера:
На данный момент единственным решением было обновить экземпляр до XLarge, где он работает нормально (средняя нагрузка составляет 0,6–0,9, но все еще можно использовать). Тем не менее, если судить по другим сайтам, большого экземпляра должно быть достаточно, чтобы разместить его с относительно хорошей производительностью.
Я подозреваю, что это могут быть наши настройки prefork. В экземпляре Large у нас есть следующие настройки:
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 20
ServerLimit 50
MaxClients 50
MaxRequestsPerChild 4000
</IfModule>
Timeout 120
KeepAlive On
MaxKeepAliveRequests 1000
KeepAliveTimeout 5
При обновлении до XLarge мы меняем местами более высокие предварительные настройки:
<IfModule mpm_prefork_module>
StartServers 20
MinSpareServers 20
MaxSpareServers 40
ServerLimit 150
MaxClients 150
MaxRequestsPerChild 8000
</IfModule>
Есть ли у кого-нибудь идеи, которые я мог бы изучить? Или кто-нибудь с подобной настройкой готов поделиться?
Любая помощь приветствуется!