Какие есть лимиты и ошибки при превышении (cloudlinux)?

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

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

Ограничение ресурсов:

Наши тарифы хостинга используются следующие лимиты:

Скорость процессораОграничение ресурса процессора (CPU) определяется в процентах по отношению к 1 ядру, то есть если ограничение в тарифе 100% – вашим сайтам доступно 1 ядро ​​процессора. Большинство тарифов имеет именно такой лимит CPU.
PMEM – ограничение оперативной памятиРечь идет именно о «физической» оперативной памяти сервера. В наших тарифах ограничения памяти начинаются со значения в 512МБ и увеличивается с каждым последующим тарифом. Не стоит путать этот ресурс с memory_limit в PHP. PMEM – это максимальное количество оперативной памяти, которое может быть использовано суммарно в вашем хостинг-аккаунте в определенный момент времени.
IOПропускная возможность операций ввода-вывода, совмещающая операции считывания и записи. Данный лимит определяется в МБ/с, минимальные ограничения в тарифах начинаются с 10МБ/с.
IOPSОграничивает количество операций чтения/записи в секунду. В наших тарифах данный лимит начинается со значения 1024 сделок в секунду.
EP – Запущенные процессыОграничения одновременно запущены “входные процессы”. Если не вдаваться в детали – обычно речь об одновременных подключениях к сайту/аккаунту. То есть речь о любых запущенных в аккаунте процессах, таких как подключение к веб-серверу (количество одновременно запущенных скриптов), процессы, запущенные через SSH и cron. Ограничение тарифов начинается со значения 20.
NPROC – всего процессовМаксимальное количество активных процессов в аккаунте. Поскольку предыдущий лимит учитывает, например, только исходный запрос к пхп-скрипту как 1 запущенный процесс, при этом не считает дополнительные процессы, появившиеся в результате работы указанного скрипта (подключение к БД, почтовые процессы и т.д.), то лимит NPROC служит именно для определения граничного количества всех активных процессов без исключения. В наших тарифах ограничения начинаются с 100.

Более подробное техническое описание об указанных лимитах можно получить на сайте разработчиков CloudLinux в документации .

Проблемы из-за лимита CPU

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

Примеры процессов и причин, по которым может возникать «перелимит» данного ресурса:

  • Не оптимизированы или «плохо разработаны» плагины или шаблон.
  • Веб-сайт не использует кеширование ( узнайте, как настроить кеширование ) и не загружает страницы эффективно.
  • Программное обеспечение какого-либо внешнего веб-сайта регулярно обращается к скриптам вашего сайта для получения данных.
  • Используется ПО, регулярно сканирующее ваш сайт, например плагин Broken Link Checker для WordPress.
  • В админ-панели сайта с частой периодичностью запускается много фоновых процессов.
  • Действия администратора на веб-сайтах обычно не могут быть закешированы, и если такие действия выполняются в большом количестве в короткие сроки – вы можете увидеть, что ресурсы процессора исчерпаны.

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

  • Атаки на сайт, автоматический подбор паролей или размещение спам-комментариев ботами.
  • Поисковый или подобный Бот/сканер посещает сайт, и нет ограничивающих его настроек.
  • Успешно проведена рекламная кампания, значительно увеличившая количество посетителей сайта в короткие сроки.

Ошибки, связанные с EP

Если ресурсы данного лимита исчерпаны, сервер будет выдавать ошибку 508 Resource Limit Reached ,  чтобы предотвратить использование одним сайтом всех ресурсов процессов веб-сервера. 

Обратите внимание:  если увеличивается количество сбоев лимита CPU  – это может привести к увеличению одновременно запущенных процессов ( EP ), поскольку запросы не могут быть выполнены быстро. Соответственно сайты будут возвращать ошибки 508 Resource Limit Reached до тех пор , пока все запросы не будут обработаны.

Выводы

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

Если у вас возникают проблемы с лимитом ЦП или часто возникают ошибки 508 Resource Limit Reached – только переход на больший тариф, без дополнительных изменений или оптимизации сайтов, должен помочь быстрее обрабатывать запросы от ваших скриптов, но вы все равно вы можете видеть периодические сбои, вызванные данными ограничениями.