- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Собственно так и не нашел в доках ответа, чем ServerLimit от MaxClients отличается ?
Но главное даже не это. Интересует положительный опыт в указании данных параметров
применительно к определенным доменам. Это возможно ?
Объясню проблему. На сервере хостится дофига проектов.
И один редкостно кривой. PHP у него "жрет" при генерации страницы под 100+МБ.
Когда на него приходит какой-нибудь говнобот - всё ложится, столько памяти не выдать.
Когда (любой) бот или народ приходит на нормальные проекты - всё нормально, там
столько памяти не требуется почти никогда.
Надо бы как-то урезать возможность обслуживать говнопроект, выделив под него лишь
несколько апачей. Это возможно ? Вероятно это можно было бы сделать со стороны
nginx, но статику-то он выдает нормально абсолютно.
Скрипты не поправить. Нет бюджета. И смысла. По ряду причин.
Урезать PHP по памяти тоже не хочется, очень редко и в прямых проектах она бывает нужна.
ЗЫ. До кучи... что курить, чтобы заставить в случае недостатка памяти убивать апачей, а не mysql :).
Неоптимальненько жертвы для килла выбираются
К примеру http://www.it-rem.ru/mpm-itk-ogranichit-kol-vo-soedineniy-dlya-klientov.html
У mpm-itk есть возможность ограничить количество подключений в пределах одного сайта (виртуалхоста)
Можно и в nginx это ограничить.
Включите для этого сайта в nginx кеш.
Конечно можно. Например mpm-itk позволяет назначить число процессов по виртхосту.
Включите для этого сайта в nginx кеш.
Это мне ничего не даст.
Когда бот посещает страницы одну за одной кеш не спасет.
За ссылку на mpm-itk спасибо, как раз всё так и настроено, значится подрулим и
все проблемы решены. Надеюсь :)
Вообще то кеш nginx спасает именно от этого ;)
Вообще то кеш nginx спасает именно от этого ;)
Приходит быдлобот и пытается получить сразу 100 РАЗНЫХ страниц
Как мне поможет кеш ?
В nginx как раз для этого есть
директива limit_req
Пример
limit_req_zone $binary_remote_addr zone=lphp:10m rate=1r/s;
limit_req zone=lphp burst=10 nodelay;
http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
У нее есть ньанс, что
limit_req zone=one burst=10 nodelay;
ставится только в локешен проксирующий на апач.
Что бы не было ограничения на количество запросов к статике.
Вот здесь подробно описано назначение параметра burst и rate
http://wbtools.ru/?forum=22
Да это можно было бы сделать, но проблема в детальных настройках.
Лучше я отдам Х конекций, и в 99.999% случаев их все сможет занять один-два пользователя.
Специфика в том, что тормозящее место полезно, но крайне редкопосещаемо.
Отделить тут пользователей от ботов непросто.
В общем-то можно и так и сяк сделать, вероятно. Особенно с учетом того, что можно
статику раздавать нормально.
Пока я сделал путем ограничения MaxClient для конкретного домена, протестил вроде работает.
Не поможет, заткнем еще гниксом. Ситуация редкая.
nginx вкусней ;) Советую попробовать раз выпала такая возможность.
поднимите несколько экземпляров апачей (каждый со своими конфигами) и раскидайте проекты