Неубиваемый httpd

Тема в разделе "Администрирование серверов", создана пользователем gregzem, 25 окт 2008.

Статус темы:
Закрыта.
Модераторы: mefish, stooper
  1. gregzem

    gregzem

    Регистр.:
    21 окт 2007
    Сообщения:
    200
    Симпатии:
    63
    Вот какая у меня засада образовалась: Вчера переехал на VDS хостинг с двумя сайтами.

    На хостинге выделено 128Mb оперативки. Перезапускаю сервер, вижу штук 30 запущеных процессов httpd, каждый из которых сожрал 13Mb памяти. Естественно память на серваке благополучно заканчивается и больше ни ftp/ssh/ISPManager панель не открываются. Убиваю руками эти процессы через VDS Panel. Через буквально минуту опять штук 30, каждый жрет 13Mb памяти. Опять память заканчивается.

    Блокирую доступ к сайту через .htaccess/htpasswd. Убиваю процессы. Перегружаю VDS. Смотрю запущенные процессы - опять вылезают. И все как на подбор по 13Mb кушают.

    По Cron ничего не запускается. На VDS переехал только вчера.

    Что бы это могло быть?
     
  2. porsche2

    porsche2

    Регистр.:
    18 ноя 2007
    Сообщения:
    667
    Симпатии:
    210
    а логи что говорят? просто апач он такой, что плодится постоянно :) скорее всего какие-нибудь боты бьются в IP и размножают апач, который в свою очердь не успевает отваливаться.



    в настройках httpd.conf что написано?

    Timeout ?
    KeepAlive ?
    MaxKeepAliveRequests ?
    KeepAliveTimeout ?
    MinSpareServers ?
    MaxSpareServers ?
    StartServers ?

    какой апач установлен? есть ли фронтенд перед апачем ,типа nginx?

    в общем больше информации, и еще у кого хоститесь, - это тоже полезно знать?
     
  3. gregzem

    gregzem

    Регистр.:
    21 окт 2007
    Сообщения:
    200
    Симпатии:
    63
    Хостер: firstvds.ru
    Тариф: Улет

    Мой сайт имеет 4000 уникальных посетителей в сутки (9000 хитов).

    После долгих и мучительных экспериментов и общения с саппортом выяснилось, что вообще выбранного тарифа маловато. Память моментально сжирается апачем.

    Есть идеи как на этом тарифе добиться большей производительности? Поможет ли воткнуть nginx или другое кэширование?

    Вот настройки сейчас:

    Timeout 300
    KeepAlive On
    MaxKeepAliveRequests 100
    KeepAliveTimeout 5
    UseCanonicalName Off
    AccessFileName .htaccess
    ServerTokens Full
    HostnameLookups Off

    Заранее спасибо.
     
  4. Nova

    Nova Постоялец

    Регистр.:
    31 мар 2007
    Сообщения:
    61
    Симпатии:
    14
    Да поможет , нагрузка снизитья.

    Сделайте KeepAlive Off
     
    gregzem нравится это.
  5. gregzem

    gregzem

    Регистр.:
    21 окт 2007
    Сообщения:
    200
    Симпатии:
    63
    У меня рейтинг. Там все страницы динамические на PHP. На сколько я знаю, nginx только для статики эффективен, если как фронтэнд. То есть по сути только для картинок, коих немного на странице. Стоит ли?
     
  6. General Fizz

    General Fizz Боевой Генерал :)

    Регистр.:
    11 апр 2007
    Сообщения:
    753
    Симпатии:
    396
    Стоит безусловно, + сократить Timeout хотя бы раз в десять до 30.

    У меня на одном из сайтов тоже нагрузка аналогичная, данные из httpd.conf:
    Все данные подобраны опытным путем после многомесячного экспериментирования. Правда хостинг - выделенный сервер, 750 пень.
     
    gregzem нравится это.
  7. porsche2

    porsche2

    Регистр.:
    18 ноя 2007
    Сообщения:
    667
    Симпатии:
    210
    nginx должен помочь, если его ставить фронтендом, суть всей связки будет такая:

    приходит запрос от пользователя, его отрабатывает апач, апач передает все что наработал nginx, и отваливается, поэтому апачу ставим KeepAlive Off, а nginx - у включаем (60), и таймаут поменьше, как сказал Colonel Fizz

    а дальше уже опытным путем, подгоняем настройки.
     
    gregzem нравится это.
  8. gregzem

    gregzem

    Регистр.:
    21 окт 2007
    Сообщения:
    200
    Симпатии:
    63
    Установка nginx сотворила чудо. Кол-во процессов httpd сократилось раз в 10. Памяти свободной теперь куча, сервак летает. Плюс я воткнул еще EAccelerator до кучи. Ураган, в общем.

    А саппорт убеждал, что меня спасет только выделенный сервер.

    Всем спасибо!
     
  9. General Fizz

    General Fizz Боевой Генерал :)

    Регистр.:
    11 апр 2007
    Сообщения:
    753
    Симпатии:
    396
    nginx надо ставить всегда, если есть такая возможность и сервер более-менее нагружен. В случае дальнейшего роста сайта и нежелания переплачивать за новый сервер, можно уже заморачиваться с php на fastcgi и nginx как frontend (или наоборот :)).

    Кстати, советую всем обратить внимание на дополнительные фичи nginx, которые описаны у Сысоева на сайте и которые редко кто использует. (Например для статистики без дополнительных счетчиков или ЧПУ).

    Да и вот еще: ТС - пересмотри все модули Апача и снеси неиспользуемые.
     
    eshkin и gregzem нравится это.
  10. tskamol

    tskamol Прохожие

    Ребята ситцация следующая примерно такой же сервак у меня т.е недавно взял в арендну VPS сервер выжирает память apache2 если одновременно заходит сразу человек 20 то загружается 20 процесов apache и сервер падает!
     
Статус темы:
Закрыта.