- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
На днях возникла проблема: перестали загружаться сайты с моего сервера. По статистике посмотрел, что кол-во процессов Apache достигло своего максимума в 450 шт и так все и висит. После перезагрузки сервака и некоторых продолжительных танцев с бубном, нашел проблемный сайт, закрыл в htaccess к нему доступ, после чего работа сервера нормализовалась.
В процессе работ над сервером, обнаружил модуль apache: "Server-status". И вот изучая данные этого модуля, никак не пойму: на сервере висит 31 процесс (20 requests currently being processed, 11 idle workers), а в списке вируальных хостов их аж 403 (Srv 0-0, 1-0, 2-0, ..., 402-0). Причем 372 процесса (от 403 отнять 31) не имеют PID, M (Mode of operation) у них "." и SS некоторых более 2000 сек., при том, что "Server uptime: 40 minutes 8 seconds". Нормально ли это? Точка в Mode of operation, на сколько я понимаю, это свободный слот Apache, через который новый пользователь может подключиться к нему. Почему старые процессы без PID так долго висят и не убиваются самим Apache?
P.S. Модуль Server Status обрезает длинные URL в колонке Request. Можно ли каким-либо образом заставить этот модуль отображать полный URL? Например вместо "GET /pathdirpath/pathdirpath/df137743636a902dce76015.g" получить "GET /pathdirpath/pathdirpath/df137743636a902dce76015.gif HTTP/1.1"
Лучше выложи скриншот
Royal Flash, посмотрите конфиг апача на предмет MinSpareServers, MaxSpareServers, StartServers, MaxClients.
В процессе работ над сервером, обнаружил модуль apache: "Server-status". И вот изучая данные этого модуля, никак не пойму: на сервере висит 31 процесс (20 requests currently being processed, 11 idle workers), а в списке вируальных хостов их аж 403 (Srv 0-0, 1-0, 2-0, ..., 402-0). Причем 372 процесса (от 403 отнять 31) не имеют PID, M (Mode of operation) у них "." и SS некоторых более 2000 сек., при том, что "Server uptime: 40 minutes 8 seconds". Нормально ли это?
1) Это _не процессы_. Для процесса, как Вы сами изволили сообразить - нужен PID.
2) Это воркеры, часть и которых уже давно была завершена в процессе работы сервера. И для них показываются некоторые данные, в основном - связанные с последним отработавшим там запросом.
3) Прочитайте документацию апача http://httpd.apache.org/docs/
Почему старые процессы без PID так долго висят и не убиваются самим Apache?
Потому что кто-то не читает документацию и выдумывает вместо всякую фигню.
Модуль Server Status обрезает длинные URL в колонке Request. Можно ли каким-либо образом заставить этот модуль отображать полный URL?
Да. Давайте, Вы сами найдете такую директиву mod_status. У модуля аж две конфигурационные директивы - справитесь.
Это воркеры, часть и которых уже давно была завершена в процессе работы сервера. И для них показываются некоторые данные, в основном - связанные с последним отработавшим там запросом.
Прочитайте документацию апача http://httpd.apache.org/docs/
Документацию почитал, но ответа на этот вопрос не нашел... Просьба дать ссылку на раздел в документации или разжевать подробнее.
Да. Давайте, Вы сами найдете такую директиву mod_status. У модуля аж две конфигурационные директивы - справитесь.
Наверное, Вы имели ввиду директиву SeeRequestTail, но это совсем не то: On показывает первые 63 символа URL, Off - последние 63. Директивы, которая бы позволяла отображать URL полностью, к сожалению нет, так как видите ли у разработчиков Apache исторически сложилось отображать только 63 символа...
... посмотрите конфиг апача на предмет MinSpareServers, MaxSpareServers, StartServers, MaxClients.
Посмотрел:
После увеличения ServerLimit и MaxClients в 2 раза - полет нормальный. У сервера 8 Гб оперативки и хороший проц - тянет.
Документацию почитал, но ответа на этот вопрос не нашел... Просьба дать ссылку на раздел в документации или разжевать подробнее.
Специального "раздела документации" - нет. В выводе mod_status есть легенды (Scoreboard Key и внизу, под выводом "расширенной" информации, если ExtendedStatus On). Если после этого что-то останется непонятным - Вам к прочтению разделы документации про разные mpm-модули, в частности mpm-prefork (который используется у Вас, скорее всего).
Наверное, Вы имели ввиду директиву SeeRequestTail
Да, по старой памяти. Действительно, ошибся. Мои извинения.
После увеличения ServerLimit и MaxClients в 2 раза - полет нормальный. У сервера 8 Гб оперативки и хороший проц - тянет.
Безумные настройки. 900*20 ~ 17Gb. Серверу тупо памяти не хватит, чтобы обслужить все это. Я взял 20Mb как размер типового воркера апача (это еще не так много, навороченные CMS жрут и до 50Mb).
Поставьте перед апачем какой-нибудь проксирующий сервер. Второй экземпляр апача с mod_proxy или nginx. Если это еще не сделано - Вы должны иметь тому веские причины.