Вчера наше приложение Heroku на какое-то время отключилось. Сообщение об ошибке в наших журналах:
[error] server reached MaxClients setting, consider raising the MaxClients setting
Я проверил httpd.conf, чтобы узнать, что такое параметр MaxClients, и вот что я нашел:
MaxClients 1
Коммит, добавивший эти директивы находится на Github от Heroku. Кажется, есть причина для установки MaxClients, равной 1, или это просто произвольно? Что я должен учитывать при его увеличении?
Heroku дино разработаны как единая вычислительная единица. Для сравнения:
Однопоточная, непараллельная среда, такая как Rails, может обрабатывать один запрос за раз.
Настройка MaxClients 1
просто сообщает вашему PHP dyno обрабатывать только один запрос за раз. Поскольку дино на самом деле может обрабатывать намного больше запросов, чем это, MaxClients можно и нужно поднять до гораздо большего числа, например 256.
Здесь объяснение означает MaxClients: http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients
Попробуйте увеличить параметр примерно на 250 и повторите попытку.