Каким образом формируется нагрузка на сервер

Каким образом формируется нагрузка на сервер



причины нагрузки на сервер Владельцы сайтов, которые пользуются услугами виртуального хостинга рано или поздно могут столкнутся с проблемой превышения процессорной нагрузки. Что же такое Нагрузка и каким образом она формируется?! Давайте попробуем рассмотреть этот вопрос более подробно.

Итак, большинство хостинг компании для тарифных планов виртуального хостинга использует систему для учета процессорной нагрузки (BSD Process Accounting). Данная система служит для контроля нагрузки, создаваемой сайтами на сервере. Нагрузка как правило считается в процентах или в так называемых процессорных минутах (CP). Допустимая Нагрузка регламентируется договором-офертой, где поставщик услуг должен указать какая нагрузка допускается на том или ином тарифном плане. Все дело в том, что на сервере виртуального хостинга находятся другие сайты пользователей, если по какой-то причине, один из сайтов создает критическую нагрузку на процессор, то остальным сайтам находящимся на сервере может не хватить выделяемых ресурсов. По этой причине хостинг- провайдер должен контролировать ситуацию с нагрузкой на сервере и при необходимости принимать санкции в отношении сильно нагружающих ресурсов.
Если сайт, размещенный на хостинге, по какой-то причине, начинает потреблять большое количество ресурсов, то его владельцу отправляется советующее уведомление, в котором сообщается информация о нарушении. Игнорирование данной проблемы как правило приводит к блокировке сайта или всего аккаунта.

пример графического отображения статистики нагрузки
Чтобы избежать нежелательных блокировок со стороны хостинг-провайдера, необходимо оперативно реагировать на подобные уведомления и как можно быстрее находить причину превышения нагрузки.

Если вы стали "счастливым" обладателем подобного сообщения, то в первую очередь нужно внимательно ознакомится с его содержанием. Как правило в сообщении хостинг-провайдер не указывает основной причины из-за которой возникла данная ситуация, но в теле письма можно найти полезную информацию о типе нагрузке. Под типом нагрузки имеется в виду, то, что большинство хостинг компаний, различают процессорную нагрузку и нагрузку, создаваемую на сервер MySQL. В данной статье мы не будем подробно останавливаться на нагрузке MySQL сервера.
После того как был определен тип создаваемой нагрузки (на процессор или базу MySQL), необходимо понять какой конкретно фактор повлиял на ее рост. Факторы ростра нагрузки можно условно разделить на два типа, внешний и внутренний. Стоит заметить, что достаточно часто нагрузка на аккаунте, может быть вызвана двумя факторами сразу.

Внешние факторы определяются любыми воздействиями на сайт, которые действуют на него извне. К таким факторам можно отнести:

1. Всплеск индексации сайта поисковыми роботами.
Такая ситуация может быть вызвана, когда под поисковую индексацию попадает большое количество индексируемых страниц. Поисковые роботы (например, Яндекс или Google) единовременно начинают отправлять большое количество запросов на сайт, в результате чего на сервере наблюдается стремительный рост процессорной нагрузки. Обычно это происходит, после того, как на сайте было обновлено большое количество информации. Также основной причиной появления большого количества индексируемых страниц может быть взлом сайта и массовая публикации спам страниц. Для исправления ситуации в первую очередь необходимо провести тщательный анализ логов посещения сайта (access_log), выявить какие конкретно роботы вызывают данную ситуацию, на какие конкретно страницы идут обращения роботов и далее принять соответствующие меры.

Меры:

  • снижение частоты обращений к сайту (к примеру, ранее для поисковой системы Яндекс достаточно было установить задержку интервалов обращения в файл robots.txt, теперь эти параметры можно напрямую менять в панели Яндекс Вэбмастера.) С подробной информацией можно ознакомится на сайте компании Яндекс https://yandex.ru/blog/webmaster/skorost-obkhoda-ili-ob-izmeneniyakh-v-uchete-direktivy-crawl-delay Подробная настройка также


  • ограничения доступа нежелательных роботов через файл .htaccess (часто происходит так, что сайт сканируют роботы сервисов, которые вовсе не относятся к поисковым системам, например, бот "MJ12bot". От таких роботов больше вреда чем пользы, поэтому обращение подобных ботов на сайт можно полностью блокировать).


  • удаление спам страниц с сайта


  • 2. Естественное увеличение уровня посещаемости сайта.
    Иногда нагрузка на сайт может быть вызвана вполне позитивными причинами. Ваш проект вырос и стал популярен, сайт посещает большое количество пользователей (клиентов).

    Меры:

  • выполнить оптимизацию "тяжелых" скриптов сайта.


  • увеличить количество выделяемых ресурсов.


  • 3. Брутфорс панели администрирования сайта.
    Такие атаки направлены на панель управления сайтом, основной целью атакующего злоумышленника является взлом доступа учетной записи администратора сайта. Механизм действия брутфорс атаки состоит в последовательном подборе пароля из так называемого словаря. Для анализа ситуации необходимо проанализировать логи посещения сайта (access_log). В процессе анализа файла лога стоит обратить внимание, на часто повторяющиеся запросы к панели администрирования сайта.

    Меры:

  • защита вебсервисов на уровне сервера (конфигурирования mod_security для вэбсервера Apache).


  • блокировка доступа к панели администрирования сайта при помощи файла надстройки над Apache .htaccess


  • изменение адреса панели администрирования сайтом.


  • 4. Спам через формы обратной связи.
    Такая ситуация возникает в том случае, если установленные формы обратной связи на сайте не имеют какой-либо защиты. Злоумышленник вручную или при помощью вредоносного программного обеспечения сканирует сайт на наличие незащищенных форм и в автоматическом режиме производит массовую отправку спам сообщений. Такая ситуация может вызвать не только увеличение нагрузки на процессор, но и спровоцировать блокировку функции отправки сообщений с сайта (sendmail)

    Меры:

  • установка защиты, например, механизма Captcha (стоить обратить внимание, что большое количество механизмов защиты типа Captcha уязвимы, рекомендуем использовать индивидуально спроектированные механизмы защиты форм обратной связи или использовать проверенный механизм reCAPTCHA от Google).


  • 5. Массовая регистрация не легитимных пользователей (ботов) на сайте.
    Это может происходить по причине того, что на сайте открыта свободная регистрация пользователей. Боты в автоматическом режиме инициализируют процедуру регистрации на сайте, из-за большого количества обращений увеличивается нагрузка на сервер. В некоторых случаях администраторы сайта при начальной настройке CMS забывают отключить функцию регистрации на сайте или если регистрация нужна, забывают установить защиту формы от ботов.

    Меры:

  • если открытая регистрация на сайте не нужна, то ее необходимо полностью отключить.


  • если сайт предусматривает открытую регистрацию пользователей, то нужно установить надежную защиту от автоматической регистрации, например Captcha.


  • 6. DDos-атака на сайт.
    При DDos-атаке на сайт генерируется большое количество обращений, такая ситуация вызывает незамедлительный рост процессорной нагрузки. В таких случаях хостинг-провайдер с предварительным уведомлением полностью блокирует сайт, связано это с тем, что при ddos-атаке нагрузка влияет на работу всего сервера.

    Меры:

  • для избежание нежелательных последствий рекомендуется заранее подключать сайт к сервису, позволяющему фильтровать подобного рода атаки.


  • если защита от ddos-атак не была установлена заранее, то для минимизации простоя работы сайта необходимо в оперативном порядке подключить защиту и отправить соответствующее уведомление в компанию, где хостится сайт.


  • 7. Импорт данных на сайт.
    На сайтах, где имеются механизмы импорта информации (например, товарные позиции) может возникнуть ситуация, когда при выполнении импорта данных значительно повышается нагрузка на процессор. Особенно это актуально при импорте большого объема информации или частом запуске данной процедуры. Также данная ситуация может возникать по причине слабой оптимизации скрипта, при помощи которого производится импорт.

    Меры:

  • для того, чтобы снизить вероятность возникновения подобных ситуаций можно разделить процедуру импорта на несколько этапов.


  • при необходимости провести оптимизацию скиптовой части сайта отвечающую за импорт данных.


  • 8. Сбор информации со страниц сайта (парсинг и граббинг)
    Если на сайте размещается уникальная информация (изображение, видео, текст), то рано или поздно владелец сайта может столкнуться с ситуацией, когда уникальный контент в автоматическом режиме скачивается специализированными роботами. Если на сайте имеется большое количество информации, то при частом обращении таких ботов может быстро возрасти нагрузка на процессор.

    Меры:

  • при подозрении на парсинг или граббинг информации, необходимо провести тщательный анализ логов посещения. В ходе анализа стоит обратить внимание на аномальное количество повторяющиеся запросов с одного и того же ip адреса. Такие ip адреса можно добавить в черный список, например, при помощи файла надстроек .htaccess директивой deny from ip , где ip адрес который необходимо заблокировать.


  • Внутренние факторы определяются преимущественно настройками в скриптовой части сайта:

    1. Некорректная работа и неоптимальная настройка скриптов сайта.
    Такая ситуация может возникнуть в случае, когда используемые компоненты сайта были сконфигурированы некорректным образом. Также может возникнуть ситуация, при которой подключённые скрипты могут конфликтовать между собой из-за несовместимости версий, это может привести к росту нагрузки на процессор сервера до весьма критических показателей.

    Меры:

  • перед установкой каких-либо компонентов на сайт (плагинов, модулей, файлов шаблона) необходимо убедится в их полной совместимости с текущей версией сайта, ознакомится с их технической документацией и провести оптимальную настройку.


  • 2. Сайт заражен вирусом.
    При заражении сайта вредоносным кодом существует большая вероятность роста процессорной нагрузки. Это связано с тем, что зараженные объекты могут генерировать вредоносный трафик на внешние ресурсы, также при некоторых видах заражения возможна ситуация создания нежелательных процессов, которые также влияют на рост процессорной нагрузки.

    Меры:

  • При подозрении на заражение сайта вирусным кодом нужно провести тщательный аудит безопасности. Необходимо устранить вредоносный код, а также исключить всевозможные уязвимости, для избежания повторения ситуации.


  • 3. Подключение сайта к сторонним ресурсам. В этом случае причиной нагрузки становится недоступность внешних сервисов, к которым подключается сайт. Здесь речь идет легитимных подключениях, например, на сайте установлен код сервиса конвертации валюты, а информация при каждом новом запросе не кэшируется, в случае если удаленный сервис перестает отвечать, то сайт в общем случае начинает загружаться очень медленно, так же данная ситуация повлияет на рост нагрузки.

    Меры:

  • Если подключенный к сайту сервис перестает отвечать, необходимо временно исключить его из процесса генерации страницы.


  • Если вы столкнулись с данной проблемой не стоит отчаиваться и сразу менять хостинг-провайдера. Эти действия могут привести к тому, что вы просто потратите драгоценное время, нервы и деньги. Правильным шагом будет тщательный разбор ситуации и поиск истиной причины превышения процессорной нагрузки.






    Заказать услугу

    Для заказа лечения сайта или услуги профилактической защиты, пожалуйста, заполните форму. Наш специалист свяжется с Вами в течение 10 минут.

    Нажимая на кнопку "Заказать", вы выражаете свое согласие на обработку персональных данных