Как работает fastcgi в php и phpfpm?
fastcgi - что-то вроде сервера, который слушает определенный сокет. Он держит пул процессов (воркеров), которые принимают запросы, обрабатывают, возвращают ответ и ждут дальше запроса.
Вот в этой фразе замени fastcgi на php-fpm и будет правильно. А fastcgi - это технология обработки запроса, по которой каждый воркер крутится в бесконечном цикле, обрабатывая в каждой своей итерации по одному запросу.
php fastcgi
А что есть всроенный php fastcgi? Возможно речь про встроенный веб сервер?Вот мне не понятно, что из себя представляют эти процессы. Насколько я знаю php анализируется, транслируется в байткод и потом запускается. Получается, в этих процессах крутится байткод?
Это обычные процессы уровня ОС (полученные через стандартный вызов fork). В их области памяти находится только сам интерпретатор. Мастер процесс принимает входящее соединение и отдает его на обработку соответствующему свободному рабочему процессу. Рабочий процесс поднимает с диска и каждый раз интерпретирует весь код скриптов которые затрагиваются этим запросом. Если специально ни какой кэшер оптокода подключен не был, то это делается на каждый запрос.Выигрыш только за счет того, что процесс каждый раз не запускается?
В том числе и за счет этого, т.к. fork это достаточно "дорогая" (и следовательно медленная) операция.