Спасение бэкендов
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