Изменения в архитектуре облачного хостинга

Мы запустили облачный хостинг больше года назад, но продолжаем улучшать его. На этот раз мы перевели все сайты с PHP-FPM на FastCGI. Почему это было сделано, ведь PHP-FPM считается более перспективным?

Мы провели несколько экспериментов и выяснили, что в схеме с PHP-FPM бутылочным горлышком может стать apache, который был один на весь сервер хостинга.

Старая схема запуска PHP выглядела так:

Общий на весь сервер nginx
--▼--
Общий на весь сервер apache
--▼--
Индивидуальный мастер php-fpm
--▼--
Индивидуальные обработчики php-fpm

В новой схеме мы избавились от PHP-FPM. Сейчас на каждом сайте работу PHP обеспечивает индивидуальный apache.

Новая схема запуска PHP выглядит так:

Общий на весь сервер nginx
--▼--
Индивидуальный apache + модуль FastCGI
--▼--
Индивидуальные обработчики php

Кроме этого, уменьшилось потребление оперативной памяти каждым сайтом. Ведь чтобы добиться изоляции сайтов на облачном хостинге, мы запускали отдельный мастер процесс PHP-FPM для каждого сайта. И этот процесс постоянно занимал около 40 Мб оперативной памяти.

Вот как это повлияло на память в масштабах всего сервера:

2019.06.17
35 000 клиентов уже доверяют нам
15 лет опыта в поддержке и развитии услуг хостинга. Ошибиться невозможно.