База знаний

Инструкции и ответы на вопросы о хостинге, работе сайтов и приложений

Контроль нагрузки на хостинге

На одной учетной записи (аккаунте) хостинга размещается разное количество сайтов. Когда выполняются скрипты сайтов, используются ресурсы сервера — процессора и оперативной памяти, а запросы к базе данных затрачивают ресурсы диска.

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

Процессы

Запросы посетителей к скриптам вашего сайта обрабатывают процессы веб-сервера. Также к процессам относится любое действие, которое совершает пользователь на сервере: подключение к почтовому ящику, FTP или SSH, выполнение задания в планировщике Cron или скрипта в консоли.

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

Как могут проявить себя ограничения:

  • Новый процесс нельзя запустить, если превысить лимит – не будет подключения по FTP, SSH, к почтовым ящикам, нельзя запустить скрипт планировщика Cron. Запросы к сайтам будут ждать своей очереди на обработку, а после длительного ожидания завершатся с ошибкой #5020.
  • Если процесс не успеет выполниться в отведенное ему время, вместо страницы сайта появится сообщение «Истекло время ожидания запроса» с кодом ответа #5040.
  • Процесс, которому потребуется больше оперативной памяти, чем обеспечено тарифом, завершится принудительно. На сайте возникнет сообщение об ошибке с кодом ответа 500 или #5020.


Нагрузка на CPU

Период времени, в течение которого процессор (CPU) занимается обработкой скриптов сайта, называется процессорным временем. Лимит процессорных секунд зависит от выбранного тарифа.

Отслеживать нагрузку на процессор можно на графиках в Панели управления, там представлены:

  • Общая нагрузка всеми сайтами на аккаунте
  • Графики потребления ресурсов процессора (скриптами) и дисковой подсистемы (запросами к серверу БД)
  • Статистика по количеству и типу запросов к сайтам
  • Данные о среднесуточном потреблении ресурсов процессора

Если на графике CPU и MySQL есть превышения, то часть запросов к сайтам отклоняется со статусом 503 (код ответа #5030). Чем больше превышения — тем больше ошибок на сайте. Снижение нагрузки или смена тарифа уменьшит количество ошибок. 

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

Контроль среднесуточного потребления

Максимально доступный для аккаунта объем ресурсов в сутки можно рассчитать по формуле:

Максимум = CPU (по тарифу) × 1440 (минут в сутках)

Данные наглядно отображены на графике в Панели управления.

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

Если аккаунт превысил допустимую нагрузку, на следующий день к нему автоматически применяются меры, в зависимости от объема и количества превышений:

  • На 100% — аккаунт блокируется;
  • На 30% — направляется предупреждение;
  • Аккаунт виртуального хостинга блокируется с третьим предупреждением, премиум-хостинга — с седьмым.

Письма о превышении лимита и блокировке аккаунта отправляются на контактную почту. Блокировка снимается автоматически при изменении тарифного плана на такой, лимит ресурсов которого соответствует объему, потребляемому аккаунтом на момент блокировки.

Что делать, если ресурсы тарифа превышены?

Чтобы не столкнуться с ошибками на сайте или блокировкой, оптимизируйте сайт:

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

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

Потяните переключатель «Автоматическая смена тарифа» в разделе «Мой тариф», и тогда, вместо блокировки аккаунта, Панель управления просто изменит его тариф на следующий в тарифной сетке. Если нагрузка, создаваемая сайтом, вернется в норму, вы сможете вручную поменять тариф на старый уже на следующий день. Но если нагрузка регулярная, лучше остаться на новом тарифе.

Эта опция недоступна аккаунтам бюджетных организаций и аккаунтам на тарифе «Премиум-3». Если вашему проекту уже тесно в рамках тарифа — свяжитесь с поддержкой для подбора выделенного сервера или оптимизации сайтов на вашем аккаунте.

Была ли эта статья полезной?