2.17.7. Превышение потребления процессорных минут
Что такое процессорная минута?
Согласно пункту 4.2 условий предоставления услуг на виртуальном хостинге каждый хостинг-аккаунт должен использовать не более 100 процессорных минут в сутки. Ограничение не распространяется на бизнес-хостинг, где предоставляются гарантированные ресурсы в соответствии с выбранным тарифом без ограничений по времени использования (процессорному времени).
Учёт процессорных минут ведётся с помощью счётчика в ядре операционной системы Linux. Процессорное время считается в целом по хостинг-аккаунту для всех запущенных в нём процессов. Определить, какой конкретно сайт или скрипт хостинг-аккаунта создаёт нагрузку, к сожалению, невозможно. Это связано с тем, что операционная система Linux ведёт учёт процессорного времени только по пользователям, а каждый хостинг-аккаунт — это отдельный пользователь Linux. Для простоты понимания можно провести аналогию со счётчиком воды в квартире, когда известно общее потребление, но не известно, какое количество потребил каждый кран.
Процессорное время — это время, которое потратил процессор сервера на обработку задачи. Процессорное время зависит только от проделанной работы.
1 процессорная минута — это загрузка одного ядра процессора на 100% в течение одной минуты.
Превышение данного лимита означает, что сайты хостинг-аккаунта вызывают повышенную нагрузку на сервер и могут негативно влиять на работу и производительность хостинг-аккаунта.
Все ресурсы сервера распределяются между клиентами, которые находятся на этом сервере. Если один клиент использует намного больше ресурсов сервера, чем другие, это приводит к тому, что качество услуг хостинга для остальных клиентов хостинга падает. В связи с этим мы вынуждены контролировать ресурсы, которые потребляются пользователями.
Количество сайтов и их посещаемость напрямую не влияют на потребление ресурсов. Можно создать одну страницу, которая при посещаемости 100 человек в сутки будет использовать 100% ресурсов сервера, а можно создать сайт, который будет обрабатывать 100000 запросов в сутки и создавать нагрузку в 50 процессорных минут.
Процесс ограничения ресурсов полностью автоматизирован и распространяется на всех клиентов.
Что происходит при превышении нагрузки
- Система раз в сутки проверяет количество процессорных минут, которые были использованы веб-сервером и MySQL-сервером.
- Если нагрузка на веб-сервер или MySQL-сервер за сутки превысила 100 процессорных минут, в системе создаётся инцидент и на почту и в подключённые мессенджеры отправляется уведомление о превышении.
- Раз в день система проверяет показатели нагрузки за последнюю неделю.
- Если нагрузка не снижается, к хостинг-аккаунту постепенно начинают применяться ограничения.
- Ограничения необходимы, чтобы удержать нагрузку в пределах допустимых 100 процессорных минут.
- Ограничения применяются не сразу после создания инцидента, а когда не приняты необходимые меры и нагрузка не снижается в течение нескольких дней.
- Ограничения применяются не чаще одного раза в день в зависимости от динамики нагрузки за прошедшие дни.
- При каждом усилении ограничений отправляется уведомление.
- Если нагрузка снижается, ограничения постепенно снимаются.
- В случае значительного превышения нагрузки (более чем в 2 раза от допустимой), хостинг-аккаунт переносится на специальный сервер, откуда можно будет вернуться только после решения проблемы с нагрузкой.
- Если нагрузка превышается более 14 дней, для хостинг-аккаунта дополнительно начинает применяться ограничение на количество запросов.
- Когда нагрузка находится в пределах нормы в течение 7 дней + количество инцидентов за полгода * 2, проблема считается решённой и инцидент автоматически закрывается.
- На любом этапе можно сменить тариф на бизнес-хостинг и тем самым быстро решить проблему.
Варианты решения
Возможные варианты решения проблемы с превышением нагрузки:
- Проанализировать возможные причины возникновения проблемы.
- Воспользоваться стандартными рекомендациями по уменьшению нагрузки.
- Перейти на бизнес-хостинг.
Обратите внимание, что потребление процессорных минут может зависеть от множества факторов, включая логику работы сайтов, качество кода и т. д., поэтому предоставить универсальное решение или конкретные рекомендации по оптимизации невозможно. Для поиска причин и устранения проблемы с превышением нагрузки следует обратиться к профильным специалистам в сфере разработки сайтов.
Можно ли докупать процессорные минуты?
На виртуальном хостинге — нет. Ограничение 100 процессорных минут в сутки существует для всех тарифов виртуального хостинга.
Если ресурсов виртуального хостинга недостаточно, можно рассмотреть возможность перехода на бизнес-хостинг, VPS или выделенный сервер, где нет ограничений на процессорное время — вы будете ограничены только ресурсами выбранного тарифа или сервера и сможете их использовать без ограничений по времени.
Однако, если в одном хостинг-аккаунте размещено сразу несколько сайтов, каждый из которых в отдельности не превышал бы лимиты, то альтернативным вариантом может быть заказ дополнительных хостинг-аккаунтов и переноса сайтов на них. Например, в одном хостинг-аккаунте размещено два сайта, каждый из которых потребляет примерно по 70 процессорных минут в сутки. В сумме нагрузка будет выше допустимой, но если заказать дополнительный хостинг-аккаунт и перенести на него один из сайтов, то в итоге вместо одного хостинг-аккаунта с превышением нагрузки получится два хостинг-аккаунта без превышений.
Я решил проблему с нагрузкой
Если вы решили вопрос с нагрузкой, то на диаграммах нагрузки на веб-сервер и MySQL-сервер не должно быть значений более 100 процессорных минут.
Если нагрузка за последние полные сутки не превышает 100 процессорных минут, то установленные ограничения постепенно снимаются и через время инцидент автоматически закрывается.