|
|
|
| Испытывая проблемы из-за недостатка оперативной памяти и пытаясь понять причины этой проблемы, я выключил все сайты вообще и решил посмотреть, что произойдет в этом случае. И поразился увиденному: при неработающих сайтах в системе протекает 45 процессов, потребляющих 270 Мбайт памяти! Задействовав server-status, увидел, что почти все потребляет Апач, генерирующий 12 процессов по 5-20 мегабайт.
Что, разве это нормально? | |
|
|
|
|
|
|
|
для: Владимир55
(17.12.2007 в 02:19)
| | для оптимизации нагрузки на апач ставят кеш-прокси , к прримеру nginx | |
|
|
|
|
|
|
|
для: Владимир55
(17.12.2007 в 02:19)
| | Минимальное и максимальное кол-во процессов Apache определяется настройками в httpd.conf. При запуске он создает несколько процессов (ми нимальное кол-во, определенное в настройках), чтобы сразу же быть готовым к обслуживанию большого числа запросов.
Если запущенного количества процессов недостаточно - он создает новые пока не достигнет предела определенного в настройках. Когда надобность в процессах исчезает - кол-во процессов опять уменьшается до минимального кол-ва.
> 5-20 мегабайт
Да, множество модулей Apache, в том числе и PHP со своими расширениями сильно раздувают Apache. 20 Мб на процесс - это еще нормально и даже мало. Если Вам доступна пересборка Apache и PHP, то можно попробовать их пересобрать выкинув лишнее. Но чем больше выкинете, тем меньше будет возможностей. | |
|
|
|
|
|
|
|
для: Владимир55
(17.12.2007 в 02:19)
| | Вам можно попробовать уменьшить кол-во первоначально запускаемых процессов Apache. Но если сайты, действительно, посещаемые, то этим только ухудшите положение.
Либо зарезать максимальное кол-во процессов. При возникновении пиков посещаемости сайты будут тормозить, но возможно избежите swap-а. Если проблема только на пиках, то как-то только они закончатся - ситуация сразу же нормализуется (выбраться серверу из swap-а (если он туда попал) значительно сложнее и дольше). Но если посещаемость большая и заданного кол-во процессов не хватит, то сайты будут тормозить почти всегда.
И верен совет Trianon-а о прокси-сервере. Кеширующий или нет уже не так важно. Как вариант, он может взять на себя обслуживание статики - что и составляет большую часть обрашений к Apache (запрос на получение любой картинки - это отдельный процесс Apache). А на Apache останется только обработка PHP. И вот тогда Вы сможете уменьшить кол-во процессов Apache до минимума. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(17.12.2007 в 07:48)
| | Спасибо!
Похоже, что не все так просто, как мне казалось...
Но за то интересно!!! Всю ночь размышлял! | |
|
|
|