А 130 процессов httpd это нормально?

Вопросы связанные с работой Apache

Модераторы: Art.i, vasya

А 130 процессов httpd это нормально?

Сообщение imagistr » Вт дек 18, 2007 12:54 pm

В списке процессов всегда запущено примерно от 60 до 130 httpd.
Объясните пожалуйста, откуда берется столько этих процессов?
Получается,создается новый httpd когда кто-то открывает страницу моего сайта? т.е. для каждого посетителя, который сейчас на сайте запускается свой httpd? а почему так?
И каждый процесс забирает по 5-7 мб оперативки.. В результате сайт становится практически не работоспосбоным, страницы почти не грузятся, перестает работать ISPmanager, MySQl отключается...
Подскажите, почему столько httpd возникает? почему недостаточно 1 процесса? Как ограничить?
imagistr
 
Сообщений: 2
Зарегистрирован: Вт дек 18, 2007 12:42 pm

Re: А 130 процессов httpd это нормально?

Сообщение darkk » Вт дек 18, 2007 4:09 pm

imagistr писал(а):Получается,создается новый httpd когда кто-то открывает страницу моего сайта? т.е. для каждого посетителя, который сейчас на сайте запускается свой httpd? а почему так?

Так устроен apache, у этого решения свои плюсы (НАМНОГО более простой код, а следовательно меньше ошибок), свои минусы (производительность).

Ключевые слова для поиска MaxClients и др. настройки апача на ту же тему, а еще почитайте на тему nginx - тоже может быть полезно.
darkk
Advanced customer
 
Сообщений: 263
Зарегистрирован: Пн апр 11, 2005 6:20 am

Сообщение leonidas » Ср дек 19, 2007 5:07 am

Возможно не правильно написан сайт.
на пример скрипт не успел отрпботать (соеденение висит) а нечто просит уже новый запрос. Для CGI стоит посмотреть в сторону FastCGI ну и посмотреть что именно завешивает ваш апач.

* хороший индеец - мёртвый индеец =)
leonidas
 
Сообщений: 532
Зарегистрирован: Вт май 31, 2005 10:06 am
Откуда: 117393, Moscow

Сообщение imagistr » Ср дек 19, 2007 6:34 am

Спасибо за ответы.

Так устроен apache, у этого решения свои плюсы (НАМНОГО более простой код, а следовательно меньше ошибок), свои минусы (производительность).

Получается если браузер пользователя запрашивает с сайта не php, не html, а простой текстовый файлик, то для этого действия тоже запускается новая копия apache? Выходит, чтобы отдать 2кб статики нужно поместить в оперативную память 6мб апача? :) А как долго живет процесс?

Почитал про nginx. Судя по описанию, как раз то что нужно (быстро отдавать в разные места большое число небольших статических файлов).
Но хотелось бы услышать отзывы, тех кто пробовал? И я так понял, nginx используется в связке с apache?
imagistr
 
Сообщений: 2
Зарегистрирован: Вт дек 18, 2007 12:42 pm

Сообщение Phil » Ср дек 19, 2007 10:41 am

imagistr писал(а):Но хотелось бы услышать отзывы, тех кто пробовал?

Пробовал, использовал, и буду использовать. Для больших проектов одно из оптимальных решений.

imagistr писал(а):И я так понял, nginx используется в связке с apache?

Да.
Ph-A
Phil
 
Сообщений: 124
Зарегистрирован: Пт дек 14, 2007 2:34 pm
Откуда: Moscow

Сообщение imagistr » Ср дек 19, 2007 11:51 am

Пробовал, использовал, и буду использовать. Для больших проектов одно из оптимальных решений.

Спасибо за отзыв!
Я установил nginx. Запустил, сам nginx вроде работает..
Теперь думаю, что дальше делать. Попробовать связать nginx с apache или может быть от апача вообще отказаться (чтобы nginx был полноценным сервером с пхп в реж. fastcgi) ??..
Интересно что лучше? и что проще реализовать?..
ни то ни другое - пока не представляю как сделать.. впрочем, 3 часа назад точно также не представлял как вообще устанавливать nginx:))
а вчера не знал, что такое shell...
Если кто даст хоть небольшие советы по настройке, буду очень благодарен!!


кстати, сегодня процессов поменьше - сейчас штук 50...
но оперативки все равно критически нехватает((
imagistr
 
Сообщений: 2
Зарегистрирован: Вт дек 18, 2007 12:42 pm

Сообщение darkk » Ср дек 19, 2007 4:45 pm

Выходит, чтобы отдать 2кб статики нужно поместить в оперативную память 6мб апача? :) А как долго живет процесс?

Не совсем так, но не далеко от истины. А процесс живет пока не обработает N соединений (последовательно).

nginx часто используется с apache или с fastcgi.
Т.к. ispmanager, если не ошибаюсь, работает как модуль апача, то совсем избавиться от него не получится, но если почитать на ispmanager документацию - можно найти главу про поддержку nginx ;)
darkk
Advanced customer
 
Сообщений: 263
Зарегистрирован: Пн апр 11, 2005 6:20 am

Сообщение imagistr » Вс дек 23, 2007 7:53 am

Установил nginx из пункта возможности в ISPManager, запускается, но не знаю как настроить файл конфигурации.. уже чего только не пробовал, либо вообще nginx не запускается, либо запускается, но толку никакого - ничего не открывается.

В документации по ISPManager нашел страничку "Работа nginx", но там ничего ценного не написано :( Просмотрел почти всю справку по ISPManager, и не нашел больше ничего полезного. Пробовал настраивать файл конфигурации по уже готовым примерам в том числе и с официального сайта nginx-а, но пока ничего не получилось.

Те, кто уже пользуется ngnix-ом, если не жалко, может кинете nginx.conf или подскажите, как его настроить на совместную работу с апачем :) а то совсем уже запутался...
Спасибо!
imagistr
 
Сообщений: 2
Зарегистрирован: Вт дек 18, 2007 12:42 pm

Сообщение Phil » Пт дек 28, 2007 1:26 pm

imagistr писал(а):Те, кто уже пользуется ngnix-ом, если не жалко, может кинете nginx.conf или подскажите, как его настроить на совместную работу с апачем :) а то совсем уже запутался...

Я настраивал на работу с Битриксом. Конфиги брал с их сайта.
Ph-A
Phil
 
Сообщений: 124
Зарегистрирован: Пт дек 14, 2007 2:34 pm
Откуда: Moscow

Сообщение Night Raven » Ср янв 23, 2008 5:27 pm

imagistr писал(а):как его настроить на совместную работу с апачем
Спасибо!

Поддерживаю этот же вопрос! Документации по запуску Nginx в ISPmanaпer фактически нет. А то что реализовано на практике не работает. Думал исправят глюки в версии 4.3.6 (changelog), а оно как было, так и осталось. Суть проблемы:
После включения Nginx из меню "Возможности" неудается запустить в меню "Сервисы" сервисы HTTP и Nginx - ни вместе, ни по отдельности, хотя сайты на 8080 порту почему-то при этом работают. Что за глюк и что ещё нужно сделать, чтобы получить работающую связку Nginx(frontend)+Apache(backend)? Благодарю за ответ!
Night Raven
 
Сообщений: 15
Зарегистрирован: Пн май 08, 2006 3:36 am
Откуда: Херсон

Сообщение And-rey » Пн янв 28, 2008 5:11 pm

Проверка конфигурации
Код: выделить все
/usr/local/nginx/sbin/nginx -t

раньше посто была лишняя скобка в самом конце.
And-rey
 
Сообщений: 43
Зарегистрирован: Сб ноя 04, 2006 12:49 pm

Сообщение Night Raven » Сб фев 02, 2008 10:24 am

And-rey писал(а):Проверка конфигурации
Код: выделить все
/usr/local/nginx/sbin/nginx -t

Огромное спасибо! Очень помогло при вылавливании багов конфигурации. Наконец-то я поднял Nginx, это просто спасение от нехватки оперативной памяти.
Night Raven
 
Сообщений: 15
Зарегистрирован: Пн май 08, 2006 3:36 am
Откуда: Херсон

Сообщение alekciy » Пн фев 18, 2008 6:43 pm

imagistr писал(а):Спасибо за ответы.
Получается если браузер пользователя запрашивает с сайта не php, не html, а простой текстовый файлик, то для этого действия тоже запускается новая копия apache?

Именно. Есть мастер-процесс httpd который запросы с клиентов не обрабатывает, но порождает дочерние копии которым и поручает обрабатывать то, или иное соединение. Одно соединение обрабатывает один дочерный процесс. Это frework схема работы, они используется по умолчанию.

Но есть и worker режим. Правда для его использования нужно самому компилировать Apache с соответвующими опциями (собвтенно именно поэтому лично я и взял VDS, обычные хостинги не дадут worker). При этом каждый порожденный дочерный процесс может обрабоать Х одновременных соединений (по дефолту 25). Внутри дочерних процессов создаются треды (нити) которые и держат коннекты.

Плюс такой схемы в окономии ресурсов, минус с меньше надежности. Если упадет дочерний процесс обрабатывающий 25 соединений, то у тебя 25 клиетов получать ошибку и разврыв связи. В случае frework-а разрыв был бы только один.

Как всегда это баланс между надежностью и скоростью работы.
малохрамный неофит Лёха aka АлЕксий
alekciy
 
Сообщений: 77
Зарегистрирован: Вс фев 10, 2008 5:15 am
Откуда: г. Самара, Россия, пл-та Земля, Солнечная система, гал-ка Млечный Путь

Сообщение alekciy » Пн фев 18, 2008 6:44 pm

imagistr писал(а):Спасибо за отзыв!
Я установил nginx. Запустил, сам nginx вроде работает..
Теперь думаю, что дальше делать.

Читать.
http://sysoev.ru/nginx/docs/
малохрамный неофит Лёха aka АлЕксий
alekciy
 
Сообщений: 77
Зарегистрирован: Вс фев 10, 2008 5:15 am
Откуда: г. Самара, Россия, пл-та Земля, Солнечная система, гал-ка Млечный Путь

Сообщение Лена » Ср апр 23, 2008 6:51 pm

leonidas писал(а):хороший индеец - мёртвый индеец =)

Спасибо за эту идею. Вот что сейчас имею:

Изображение

Web-сервер mathopd из портов. В памяти занимает полтора мегабайта - это на 20 одновременных соединений (как 20 процессов апача в обычном режиме prefork). Максимальное количество одновременных соединений можно увеличить - по 14 килобайт памяти на штуку. Килобайт, а не мегабайт. Скрипты вызываются отдельными процессами (CGI). POP3 сервер - popa3d, запускаемый из inetd. Апача (три процесса - только https) запускаю только когда нужно что-то сделать в ISPmanager. Сделала - и убиваю.
Лена
Cool UNIX administrator
 
Сообщений: 810
Зарегистрирован: Вс дек 09, 2007 1:36 pm
Откуда: Киев

След.

Вернуться в Apache

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron