Встречается на собеседованиях • сегодня

Что произойдет при десяти подключениях к серверу PHP

При 10 подключениях к серверу PHP (например, через Apache с mod_php или PHP-FPM):

  1. Для mod_php: Каждое подключение создаст отдельный процесс PHP (если используется prefork MPM), что может быстро исчерпать память, так как каждый процесс хранит свою копию PHP и расширений.
  1. Для PHP-FPM: Подключения обрабатываются пулом worker-процессов (зависит от настроек pm.max_children). Если пул перегружен, запросы будут ждать в очереди или отклоняться.

Пример ограничения в PHP-FPM:

ini
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
  1. Блокирующие операции: Если скрипты выполняют долгие операции (запросы к БД, API), это может привести к накоплению подключений и увеличению времени ответа.

Оптимальное число подключений зависит от доступной памяти и нагрузки. Например, для скрипта с потреблением 50MB RAM и сервера с 2GB свободной памяти максимум ~40 процессов (2000MB / 50MB).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы