Сколько фоновых процессов PHP может обрабатывать одновременно? - PullRequest
1 голос
/ 20 мая 2019

У меня есть сервер со следующими характеристиками:

  • 1 vCPU
  • 1 ГБ ОЗУ
  • 25 ГБ SSD

Сконфигурированные с Linux Ubuntu 18.04, apache 2 и php 7.2.

Предположим, что для каждого посетителя, входящего на мою страницу, я запускаю команду в фоновом режиме, где она составляет от 0 до 100 000 - 1 миллион:

index.php

exec("php ./countToOneMilion.php > /dev/null &");//This code runs a php file in background mode (if the user closes a browser window, a count still continues)

countToOneMilion.php

$number = mt_rand(100000, 1000000);//Generate a random number
for ($i = 0; $i <= $number; $i++) {
    echo $i;
}

Согласно phpinfo(), *Параметр 1029 * моего сервера установлен на 127M (это значение по умолчанию при установке php и apache).

Теперь давайте предположим, что на мою страницу зашло 20 посетителей.В таком случае, как PHP будет выполнять процессы в фоновом режиме (поскольку подсчет от 0 до 1 миллиона часто занимает много времени)?

Будет ли он работать одновременно 20 раз (разделив 127M на 20, то естьчисло процессов) или некоторые процессы будут оставаться в списке ожидания, пока другие процессы не закончатся?Или PHP может выполнять только один процесс за один раз (в результате чего последняя задача от последнего пользователя довольно долго ждала, чтобы получить счет от 0 до 1 миллиона?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...