Почему там тонны процессов PHP, открытых на моем сервере?

Я не попробовал это сам, но я полагаю, что signtool имеет параметр командной строки для проверки подписей.

-1
задан 27 November 2011 в 22:28
1 ответ

Да, это ожидаемое поведение. Похоже, у вас одновременно работает 5 копий ab. Это привело к тому, что ваши 150 процессов PHP обработали 30 запросов для каждого из 5 процессов ab.

Apache работает лучше всего, когда все его потоки могут выполняться в памяти. Будет нагрузка, при которой потоки нужно будет переместить на диск. Когда это произойдет, время отклика быстро уменьшится. Убивая процессы, как вы это сделали, вы улучшите производительность. В этом случае производительность сервера может снизиться. Если максимальное количество потоков настроено слишком высоко, относительно легко выполнить DOS (отказ в обслуживании) с использованием этого поведения.

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

Ошибки программирования также могут привести к зависанию потоков. Это может привести к прилипанию подушечек, как вы видели. Постфактум выяснить, что произошло, сложно, но может помочь содержимое журналов вашего сервера Apache. Проверьте журнал ошибок на наличие проблем. В журнале доступа могут быть записи для запросов, которые зависли примерно в то время, когда вы убили процессы.

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

Если есть проблемы с кодом, часто помогает установка MaxRequestsPerChild где-то в диапазоне от 5000 до 100. Чем меньше число, тем чаще нужно создавать новые потоки и тем тяжелее должен работать сервер Apache.

РЕДАКТИРОВАТЬ: Apache откроет несколько потоков при запуске. Это зависит от взаимодействия нескольких параметров. См. Подробную информацию о параметрах в документации по конфигурации MPM . Это не зависит от какой-либо нагрузки на сервер и обычно является минимальным количеством потоков, которое будет продолжать выполнять работающий сервер.

Значения по умолчанию обычно хороши.

Если есть проблемы с кодом, часто помогает установка MaxRequestsPerChild где-то в диапазоне от 5000 до 100. Чем меньше число, тем чаще нужно создавать новые потоки и тем тяжелее должен работать сервер Apache.

РЕДАКТИРОВАТЬ: Apache откроет несколько потоков при запуске. Это зависит от взаимодействия нескольких параметров. См. Подробную информацию о параметрах в документации по конфигурации MPM . Это не зависит от какой-либо нагрузки на сервер и обычно является минимальным количеством потоков, которое будет продолжать выполнять работающий сервер.

Значения по умолчанию обычно хороши.

Если есть проблемы с кодом, часто помогает установка MaxRequestsPerChild где-то в диапазоне от 5000 до 100. Чем меньше число, тем чаще нужно создавать новые потоки и тем тяжелее должен работать сервер Apache.

РЕДАКТИРОВАТЬ: Apache откроет несколько потоков при запуске. Это зависит от взаимодействия нескольких параметров. См. Подробную информацию о параметрах в документации по конфигурации MPM . Это не зависит от какой-либо нагрузки на сервер и обычно является минимальным количеством потоков, которое будет продолжать выполнять работающий сервер.

Чем меньше число, тем чаще нужно создавать новые потоки и тем тяжелее должен работать сервер Apache.

РЕДАКТИРОВАТЬ: Apache откроет несколько потоков при запуске. Это зависит от взаимодействия нескольких параметров. См. Подробную информацию о параметрах в документации по конфигурации MPM . Это не зависит от какой-либо нагрузки на сервер и обычно является минимальным количеством потоков, которое будет продолжать выполнять работающий сервер.

Чем меньше число, тем чаще нужно создавать новые потоки и тем тяжелее должен работать сервер Apache.

РЕДАКТИРОВАТЬ: Apache откроет несколько потоков при запуске. Это зависит от взаимодействия нескольких параметров. См. Подробную информацию о параметрах в документации по конфигурации MPM . Это не зависит от какой-либо нагрузки на сервер и обычно является минимальным количеством потоков, которое будет продолжать выполнять работающий сервер.

2
ответ дан 5 December 2019 в 19:34

Теги

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