Привет, форумчане!
Давно задавался вопросом о целесообразности расположения front-end и back-end серверов на одной и той же машине. Фронт отдает статику, бэк обрабатывает динамику и профит от конструкции лишь в том, что воркер бэка не ждет клиента, а отдает результат фронту и освобождает ОП, в которой лежит куча тяжелого хлама.
Ок, гут, устанавливаем php-fpm. Получаем своеобразный back-end, причем с возможностью работать через файл-сокет. Естественно побыстрее будет, чем через TCP/IP. Вопрос можно ли считать php-fpm полноценным бэкендом в данных условиях?
Цитата (Ron @ 7.01.2016 - 17:16) |
воркер бэка не ждет клиента, а отдает результат фронту и освобождает ОП, в которой лежит куча тяжелого хлама. |
Чего-чего?) Тобишь при размещении всего и вся на одной машине ОЗУ(ОП) не освобождается?)
Обычно, вопрос использования нескольких серверов(или увеличение их количества) встает в двух ситуациях:
- необходимо увеличить отказоустойчивость системы;
- необходимость увеличения вычислительных ресурсов(существующие "мощностя" не справляются с нагрузкой);
Если существующий дворник справляется с работой, зачем нанимать еще одного?)
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Ron, ты говоришь про связку нжинкс плюс пхп-фпм? Да такая связка имеет место быть, если тебе не нужны модули и гибкая настройка апача, то такая организация сервера хороший вариант.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
T1grOK, здесь не о том речь. =)
Цитата (chee @ 7.01.2016 - 22:04) |
ты говоришь про связку нжинкс плюс пхп-фпм? Да такая связка имеет место быть |
Да, пусть будет вместе со nginx. Самое главное работает ли php-fpm как back-end, или обладает несколько иными характеристиками? По идее точно так же сервер запрашивает результат, как и у back-end'а, после чего php-fpm уничтожает экземпляр php (наверное), а сервер сам уже держит медленные соединения. В итоге память всё это время не висит залоченная. Или нет?
Вот как бы проверить, кто знает?
VELIK505
8.01.2016 - 11:53
Цитата (Ron @ 7.01.2016 - 19:26) |
T1grOK, здесь не о том речь. =)
Цитата (chee @ 7.01.2016 - 22:04) | ты говоришь про связку нжинкс плюс пхп-фпм? Да такая связка имеет место быть |
Да, пусть будет вместе со nginx. Самое главное работает ли php-fpm как back-end, или обладает несколько иными характеристиками? По идее точно так же сервер запрашивает результат, как и у back-end'а, после чего php-fpm уничтожает экземпляр php (наверное), а сервер сам уже держит медленные соединения. В итоге память всё это время не висит залоченная. Или нет?
Вот как бы проверить, кто знает?
|
Работает. Что имеешь ввиду под висит? Процессы fpm убиваются почти мнгновенно. Если ты хочешь меньше кушанья оперативки используй кеш-озу для php скриптов (xcache или opcache).
report_memleaks = On - будешь в логах видить инфу об утечках памяти.
Можешь включить сборщик мусора и оптимизации памяти на фоне (о чём я как понял спрашивал) zend.enable_gc = On
Ron, nginx разруливает запросы(в том числе и медленые), php-fpm управляет процессами php(распаралеливает твои запросы на несколько процессов и следит за ними, отдает результаты по сокету или порту). Разницы большой ты не увидишь, но скажу по опыту использования, такая связка удобна на продакшене и тестовом сервере, на локальной машине я предпочитаю lamp, управлять им проще, настраивать, подключать модули.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.