general Опубликовано 16 января, 2011 Жалоба Поделиться Опубликовано 16 января, 2011 Доброго времени суток. Есть проблемка, надеюсь получить помощь в ее решении. ОС CentOS 5. На сервере установлен Apache который полностью грузит систему (точнее не сам Apache а Perl скрипты (а конкретно процесс index.pl), присутствующие в html которые им вызываются). Пробовал программой cpulimit ограничить максимально допустимую процессом нагрузку. Но процессов index.pl много (на мой взгляд это вызвано много-пользовательским Web интерфейсом) потому ограничивать каждый index.pl в отдельности нет смысла, т.к. суммарная нагрузка остается большой. Кроме того, насколько я понимаю программа cpulimit ставит ограничение на pid процесса, который постоянно меняется. Подскажите как можно запуск конкретного процесса (к примеру с именем, подходящим к шаблону) закрепить за конкретным ядром процессора, что бы он (процесс) не занимал ресурсов других ядер. Если Вы видете другие пути решения проблемы - буду рад их выслушать. Заранее спасибо. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AccessD Опубликовано 16 января, 2011 Жалоба Поделиться Опубликовано 16 января, 2011 Как вариант, ограничить через ulimit. Что касается пидов - вы можете их получить из вывода ps и передать вашей ограничалке. А если процессов много - то вам, ИМХО, стоит их ограничить в количестве. Ибо не принять коннект от одного из 10 клиентов лучше, чем 8 из 10 отдать 504. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
general Опубликовано 16 января, 2011 Автор Жалоба Поделиться Опубликовано 16 января, 2011 Извиняюсь за упущение: Пользователей у сервера до 20, Web интерфейс является дополнением к софту, утановленному на сервере. Корректная работа Web интерфейса менее важна чем корректная работа софта, потому все что связано с Web можно урезать по системным ресурсам. Сам софт занимает 5 - 15 % ресурсов процессора + процесс mysql иногда еще прыгает до 30%. Но этих ресурсов, нужных для нормального функционирования софта (5 - 15 - 45 % ) серверу не хватает из-за Web. Цитата: Что касается пидов - вы можете их получить из вывода ps и передать вашей ограничалке. Хотелось бы не вручную ограничивать, т.к. процесс поживет, умрет, и создастся следующий с другим ПИД. Данные процессы не долгожительны, конечно можно поставить в крон запуск каждые 5 минут скрипта с ps и этой ограничалкой, но хотелось бы что бы при запуске процесса уже стояло ограничение. Цитата: Как вариант, ограничить через ulimit. Насколько я понимаю программа служит для ограничения памяти (вероятно оперативной). В моем случае нужно ограничить ресурсы процессора. В Linux я новичок, с этой программой не работал, - если где не прав - поправьте меня пожалуйста. Спасибо. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AccessD Опубликовано 16 января, 2011 Жалоба Поделиться Опубликовано 16 января, 2011 Цитата: Насколько я понимаю программа служит для ограничения памяти (вероятно оперативной). не только, подробно: man limits.conf В вашем случае можно через лимиты урезать ресурсы юзера, от которого скрипты работают. Как я понимаю, у вас перл работает как cgi, а не модуль? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
general Опубликовано 18 января, 2011 Автор Жалоба Поделиться Опубликовано 18 января, 2011 Все процессы, в том числе и .pl связанные с программой запускаются из-под одного linux usera. Собственно в саму ОС пользователи Web (насколько я понимаю) не заведены, и все процессы для всех Web пользователей выполняются из-под usera запустившего ../apache/bin/httpd. Все другие процессы программы запущены из-под этого же пользователя. Пробовал рестартовать apache из-под другого пользователя - из 13 процессов httpd в top (я так понимаю количество зависит от активных сессий в Web) только 1 поменял пользователя. Соответственно налаживать ограничение на пользователя не даст положительного эффекта. Есть мысль перенести apache на другой сервер, но это очень проблематично ввиду того, что никто не знает каким методом Web связан с mysql, и другими частями программы. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.