Ограничить время процесса fastcgi (php-cgi) в Ubuntu 16.04

Я хочу ограничить время процессов php-cgi, так как процессы никогда не закрываются и медленно все эти процессы съедают всю оперативную память (не кеш / буфер), и сервер начинает работать очень медленно. Прямо сейчас единственный способ закрыть эти процессы - это использовать CSF и, например, убить процессы, продолжительность которых превышает 300 секунд.

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

У меня проксируется apache 2.4 с помощью nginx на Ubuntu 16.04.

Всем спасибо.

0
задан 30 April 2017 в 23:42
1 ответ

Я хочу ограничить время обработки php-cgi, поскольку процессы никогда не закрываются, и постепенно все эти процессы съедают всю оперативную память (не cache / buffer), и сервер начинает работать очень медленно. Единственный способ прямо сейчас, чтобы закрыть эти процессы, использует CSF и убивает процессы, превышающие, например, более 300 секунд.

Я тоже смотрю на это решение, и проблема также связана с загрузкой ЦП, но я не нашел ничего об ограничении времени, по крайней мере, о зависании процесса, кроме

max_execution_time : Устанавливает максимальное время в секундах, в течение которого скрипт может выполняться до того, как он будет завершен анализатором. Это помогает предотвратить связывание сервера с плохо написанными сценариями

max_input_time : устанавливает максимальное время в секундах, в течение которого сценарий может анализировать входные данные, такие как POST, GET и загрузка файлов.

Php-cgi - это например, рендеринг всего кода, который вы помещаете на сервер, он должен быть завершен или, возможно, что-то злоупотребляет им, например, DDos-спам, из-за которого он сильно читает ваш код.

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

Единственный способ принудительно остановить процесс - это со стороны сервера, используя как killall -9, пока не найдено ни одной службы для этого.

Из части конфигурации apache вы просто можно использовать IfModule prefork.c для ограничения количества соединений или запросов для каждого дочернего процесса на apache.

0
ответ дан 5 December 2019 в 08:17

Теги

Похожие вопросы