Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Немыслимая прожорливость Апача.
 
 автор: Владимир55   (17.12.2007 в 02:19)   письмо автору
 
 

Испытывая проблемы из-за недостатка оперативной памяти и пытаясь понять причины этой проблемы, я выключил все сайты вообще и решил посмотреть, что произойдет в этом случае. И поразился увиденному: при неработающих сайтах в системе протекает 45 процессов, потребляющих 270 Мбайт памяти! Задействовав server-status, увидел, что почти все потребляет Апач, генерирующий 12 процессов по 5-20 мегабайт.

Что, разве это нормально?

   
 
 автор: Trianon   (17.12.2007 в 03:39)   письмо автору
 
   для: Владимир55   (17.12.2007 в 02:19)
 

для оптимизации нагрузки на апач ставят кеш-прокси , к прримеру nginx

   
 
 автор: glsv (Дизайнер)   (17.12.2007 в 05:32)   письмо автору
 
   для: Владимир55   (17.12.2007 в 02:19)
 

Минимальное и максимальное кол-во процессов Apache определяется настройками в httpd.conf. При запуске он создает несколько процессов (ми нимальное кол-во, определенное в настройках), чтобы сразу же быть готовым к обслуживанию большого числа запросов.
Если запущенного количества процессов недостаточно - он создает новые пока не достигнет предела определенного в настройках. Когда надобность в процессах исчезает - кол-во процессов опять уменьшается до минимального кол-ва.

> 5-20 мегабайт
Да, множество модулей Apache, в том числе и PHP со своими расширениями сильно раздувают Apache. 20 Мб на процесс - это еще нормально и даже мало. Если Вам доступна пересборка Apache и PHP, то можно попробовать их пересобрать выкинув лишнее. Но чем больше выкинете, тем меньше будет возможностей.

   
 
 автор: glsv (Дизайнер)   (17.12.2007 в 07:48)   письмо автору
 
   для: Владимир55   (17.12.2007 в 02:19)
 

Вам можно попробовать уменьшить кол-во первоначально запускаемых процессов Apache. Но если сайты, действительно, посещаемые, то этим только ухудшите положение.

Либо зарезать максимальное кол-во процессов. При возникновении пиков посещаемости сайты будут тормозить, но возможно избежите swap-а. Если проблема только на пиках, то как-то только они закончатся - ситуация сразу же нормализуется (выбраться серверу из swap-а (если он туда попал) значительно сложнее и дольше). Но если посещаемость большая и заданного кол-во процессов не хватит, то сайты будут тормозить почти всегда.

И верен совет Trianon-а о прокси-сервере. Кеширующий или нет уже не так важно. Как вариант, он может взять на себя обслуживание статики - что и составляет большую часть обрашений к Apache (запрос на получение любой картинки - это отдельный процесс Apache). А на Apache останется только обработка PHP. И вот тогда Вы сможете уменьшить кол-во процессов Apache до минимума.

   
 
 автор: Владимир55   (17.12.2007 в 10:24)   письмо автору
 
   для: glsv (Дизайнер)   (17.12.2007 в 07:48)
 

Спасибо!
Похоже, что не все так просто, как мне казалось...


Но за то интересно!!! Всю ночь размышлял!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования