В настоящее время я запускаю веб-приложение, в котором несколько (~ 15) пользователей входят в систему один раз в день, а затем оставляют веб-приложение открытым, где оно автоматически обновляется новым контентом каждые 5 минут.Каждый пользователь имеет тенденцию открывать его в течение 15-18 часов.
Однако при критической массе (~ 30-40) пользователей все начинает резко замедляться, и процесс HTTPD начинает всплывать в использовании памяти.Я добавил работу cron, которая перезапускает apache раз в час, но это только помогает.Весь контент генерируется динамически и новое время вахты, поэтому кэширование страниц не вариант.
Я начал играть с параметрами Timeout, MaxRequest и KeepAlive, но любые рекомендации будут с благодарностью, так какЯ всегда оставлял их по умолчанию в прошлом.
Вот что у меня есть.Любые гении apache имеют идеи о том, как оптимизировать этот конфиг для сценария выше?Я полагал, что длительный тайм-аут хорош, потому что время загрузки может иногда быть ОЧЕНЬ высоким.
# Timeout: The number of seconds before receives and sends time out.
Timeout 200
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
KeepAlive On
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
MaxKeepAliveRequests 100
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
KeepAliveTimeout 60
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 16
MinSpareServers 10
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>