База знаний Что такое лимит Entry Proccess (EP-соединения)

Что такое лимит Entry Proccess (EP-соединения)

На нашем хостинге присутствует 2 лимита на ограничение запускаемых пользователем процессов - это лимит на одновременные соединения (или EP-соединения, одновременные процессы или одновременные соединения), и лимит на количество запускаемых процессов.
Если лимит на количество запускаемых процессов понятен и позволяет запускать много процессов на аккаунте, но не выше лимита, то EP-соединения в разы меньше.

Что такое EP-соединения?

Этот лимит означает максимальное количество одновременных запросов к веб-серверу для 1 сайта на аккаунте. Как правило, запрос к веб-серверу завершается максимально быстро, и даже 100 соединений в секунду могут не повлиять на работу сайтов и превышение этого лимита не произойдет. Каждое обращение к веб-серверу, если оно происходит к PHP-файлу, порождает процесс lsphp - грубо говоря, обработчик, который вернет результат в браузер клиента. Если никаких проблем на аккаунте нет (процессор простаивает), а скрипт не ресурсоемкий, то процесс завершится менее, чем за секунду (обычно в течение 200-300ms). Если этот процесс будет выполняться более 1 секунды, то это приведет к увеличению запущенных EP на 1. Если каждый последующий запрос будет порождать процессы, работающие более 1 секунды, то каждый такой процесс увеличит счетчик на 1, и, достигнув лимита, произойдет отказ в работе сайта.

Может показаться, что лимит слишком низкий и Ваш сайт не выдержит нагрузки - это не так. Если этот лимит равен, например, 20, то Ваш сайт, в теории, не нагружая процессор на 100% и с корректной работой скриптов, сможет без проблем обслуживать примерно 1.7 млн пользователей в сутки. Если сайт не использует PHP в своей работе или не порождает никаких долгих процессов вообще - то это число стремится к бесконечности. 

Проблемы начинаются тогда, когда соблюдается хотя бы один из вариантов:

1) процесс работает слишком долго
2) процессор аккаунта нагружен до предела и запускаемые через веб-сервер процессы выполняются слишком долго
3) на сайт свалился http-флуд, когда одновременных запросов к сайту в секунду очень много
4) php-скрипт, к которому выполнен запрос, порождает дополнительные процессы, которых создается так много, что их количество превышает лимит

Поэтому важно понимать - Под запросами к сайту в учете лимита EP считается только  тот запрос, который сделан к PHP-скрипту на сайте, через веб-сервер (обращением к сайту) и выполняется более 1 секунды. Все остальные запросы к сайтам в учете этого лимита не учитываются (запросы к статике, к html файлам без работы php и так далее).

При этом EP-соединения учитываются в лимите запускаемых процессов, но не всегда запускаемые процессы учитываются в EP-соединениях! Вы можете запустить в консоли различные команды, которые будут выполняться долго, и они будут учитываться только в процессах, так как не зависят от веб-сервера.

Подробнее о принципе работы лимита EP-соединений Вы можете прочитать в официальной документации CloudLinux на английском языке.