- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
а что там понимать- есть же расшифровка директивы: http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients
The MaxClients directive sets the limit on the number of simultaneous requests that will be served.
только клиенту (простому вебмастеру) абсолютно до лампочки весь впс у него сдох или только апач не пыхтит. сайт то работать не будет по любому.
256 апачей в пике с 10Mb RSS - съедят всю память и добавки попросят
Я извинясь, сам давно пытаюсь понять - от чего зависит объём занимаемой процессом apache2 RSS памяти? На одном vds это числа в пределах 1Мб, на другом 10-15Мб. Хотя на обоих апач одинаковой версии, одинаковая ОС. Я сперва думал что это зависит от количества и вида подключенных модулей апача, но убрав всё лишнее изменений хоть немного существенных не увидел. Да, и размер такой у процессов сразу-же после перезапуска а не после долгой работы.
Что влияет на размер RSS памяти занимаемой процессами апача? (обычный prefork, запросы к php-страницам)
Может стоит отказатся от использования апача ?
ставил по вот этой схеме
Я извинясь, сам давно пытаюсь понять - от чего зависит объём занимаемой процессом apache2 RSS памяти?
От подключенных модулей и их настроек
На практике, объем RSS зависит в первую очередь от сложности скриптов php. Интерпретатор запрашивает память и не отдает обратно в операционную систему, с расчетом на то, чтобы при повторном запуске скрипта уже иметь выделенную память.
Остальные модули не так уж много жрут, поэтому и кажется что отключение модулей не влияет. Ну разве что в плеске какой-нибудь mod_ldap монстрообразный.
Раз уж снизить RSS никак, проверьте можно ли еще уменьшить параметр MaxRequestsPerChild. Думаю, на сложных скриптах даже 100 поставить не грех. В этом случае апачи будут чаще завершаться и шансов разрастись у них будет меньше.
В хороших коробочных скриптах, кстати, попадается код удаляющий промежуточные объекты сразу после получения результата. Необходимость этого, конечно, зависит от ситуации, но само наличие этого кода показательно.
Было бы интересно найти такую схему, где каждый апач обрабатывает свою группу URL. Ведь все скрипты с разным потреблением памяти и вызов маленького скрипта сразу после большого "задерживает" много памяти впустую.
Andreyka;5737445]От подключенных модулей и их настроек
не попали :D
больше от того, что эти самые модули делают:
память не сразу освобождается free, особенно если
модуль - "любимый" libphp с кучей сложных скриптов
кстати, такое поведение контролируется
Andreyka ведь знает про соответствующую директиву апача? :)
Может стоит отказатся от использования апача ?
ставил по вот этой схеме
Увы. На VDS работает около сотни сайтов, с кривонаписанным кодом от разных программистов и "программистов". Переписать это всё с учётом nginx+FastCGI некому да и нереально. Поэтому если только nginx как фронтэнд только под статику.
На практике, объем RSS зависит в первую очередь от сложности скриптов php. Интерпретатор запрашивает память и не отдает обратно в операционную систему, с расчетом на то, чтобы при повторном запуске скрипта уже иметь выделенную память.
Остальные модули не так уж много жрут, поэтому и кажется что отключение модулей не влияет. Ну разве что в плеске какой-нибудь mod_ldap монстрообразный.
Раз уж снизить RSS никак, проверьте можно ли еще уменьшить параметр MaxRequestsPerChild. Думаю, на сложных скриптах даже 100 поставить не грех. В этом случае апачи будут чаще завершаться и шансов разрастись у них будет меньше.
В хороших коробочных скриптах, кстати, попадается код удаляющий промежуточные объекты сразу после получения результата. Необходимость этого, конечно, зависит от ситуации, но само наличие этого кода показательно.
Плеска нету, только VDSManager.
Количество запросов на процесс 512, я почему-то думал что так будет лучше. Но да, если процессы будут чаще обновляться то есть вероятность что они будут весить поменьше. Хотя наверное так будет работать помедленнее.
Опять всё упёрлось в кривость кода :) Глвной казус в том, что прозводительности требуют от меня, путём волшебства над апачем. При этом то что сайты криво сделаны никого не волнует - "раньше всё работало!". Ну ладно, я списываю это на национальные особенности...
Вобщем я всё понял. Спасибо ответившим. :)
Я, кстати, первоначальную проблему решил установив значения Maxclients и server limit на 512, установкой nginx для отдачи статики и установкой eaccelerator. Все залетало, и тьфу тьфу тьфу работает без сбоев уже 2 дня :)
Поэтому если только nginx как фронтэнд только под статику.
Не нужно им статику отдавать - поставьте как прозрачный прокси. Апачи
в итоге меньше памяти сожрут.
Да, получается как прокси. Но nginx будет отдавать статику какую увидит, а все остальные запросы отправлять к апачу. Обычно сайт лежит в /var/www/sitename.ru/ но не всегда. Плюс поддомены, которые лежат вообще как бог на душу положит. Поэтому статика отдаётся не в полном объёме.
Плюс приходится учитываеть хитрые реврайты, которые заменяют обращение не только к /page.html но и порой к /images/small/img015.jpg, вычисляя реальный это файл или реврайт на какой-либо скрипт. Но это я сделал.
А вот с поддоменами и прочим нестандартным расположением пока ничего придумать не смог. Это надо какой-то внешний парсер, который возьмёт конфиг апача, и по нему соберёт статичный набор правил (на каждый домен и поддомен). Тогда у nginx будет здоровый конфиг но там будет учтено все домены/поддомены. nginx вообще критично относится к сложным конфигам?