Спасение бэкендов

Alex Vorona voron at amhost.net
Wed Aug 29 12:38:38 MSD 2007


jackal пишет:
> Здравствуйте,
> 
> Такая проблема: при большом наплыве пользователей - бэкенд (апач)
> форкает макс. (разумное) число процессов, ну и accept апач не делает,
> пока не освободится к.л. процесс. В результате накапливается очередь
> соединений без аксепта, и как следствие - долгий ответ бэкенда и
> потеря соединений по таймауту.
> 
> Как лучше всего решить данную проблему?
> Есть одна идея:
> поставить perl_set $limit_rate ...
> и перловый модуль будет периодически проверять длину очереди
> соединений без аксепта и понижать $limit_rate при надобности.
> 
> Возможно, есть лучший вариант?
> Заранее спасибо.
> 
> 
займитесь репрофайлингом системы - ищите узкие места на бэкенде(запросы в базу и 
тп)и оптимизируйте их. Вводите в схему кэширование на всех возможных 
этапах(eAccelerator, proxy_store у nginx, может ещё что-то). Если приемлемо - 
откажитесь от апача вообще в пользу php-fpm. Надеюсь, апач занимается только 
динамикой сейчас? Посмотрите на расширенный статус апача и профайлите наиболее 
частый&долгий запрос.  Если не поможет и архитектура системы позволит 
балансировку - ставьте рядом второй сервер с апачем.





More information about the nginx-ru mailing list