URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 115866
[ Назад ]
Исходное сообщение
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для nginx[BR]"
Отправлено opennews , 21-Ноя-18 11:05
Подготовлен (https://github.com/rryqszq4/ngx_php/releases) новый впуск модуля ngx_php (https://github.com/rryqszq4/ngx_php/) с реализацией встраиваемого в nginx интерпретатора языка программирования PHP. Модуль позволяет создавать обработчики запросов на PHP, модифицировать запрос/ответ, фильтровать тело ответа и заголовки, создавать заглушки для блокирования уязвимостей в web-приложениях, организовывать проверку доступа. По сравнению с запуском PHP при помощи fpm модуль ngx_php обеспечивает доступ к внутренним API nginx и демонстрирует существенный прирост производительности (от 2 до 10 раз). location = /nginx_request {
content_by_php '
echo ngx_request::document_uri();
echo "ngx::query_args()\n";
var_dump(ngx::query_args());
';
}
URL: https://github.com/rryqszq4/ngx_php/releases
Новость: https://www.opennet.me/opennews/art.shtml?num=49643
Содержание
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 11:05 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,нах, 11:37 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 12:17 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,нах, 13:16 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 11:45 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 12:10 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 12:21 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,nondo, 12:39 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 12:48 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,нах, 13:21 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Алеша, 20:42 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p aka Jerom, 21:10 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,blblblblbl, 00:33 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p aka Jerom, 02:58 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,cutlass, 04:20 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p akaJerom, 16:50 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,cutlass, 03:34 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,blblblblbl, 17:38 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,blblblblbl, 17:36 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p akaJerom, 18:37 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p akaJerom, 18:55 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,blblblblbl, 00:32 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 11:15 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,тигарэтоя, 16:39 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p aka Jerom, 23:22 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Анонес, 00:52 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p aka Jerom, 21:06 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 23:39 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,cutlass, 04:20 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 11:16 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p akaJerom, 16:52 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,cutlass, 03:43 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p aka Jerom, 04:21 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 04:26 , 25-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,ыы, 15:12 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,нах, 21:36 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,cutlass, 04:21 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p akaJerom, 16:53 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,cutlass, 03:43 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Sw00p aka Jerom, 04:24 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Ilya Indigo, 16:31 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,unknown, 19:53 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Анончик, 08:42 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,Аноним, 20:07 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,View, 21:59 , 21-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,xm, 16:45 , 22-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,тигар, 14:39 , 23-Ноя-18
- Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin...,тигар, 14:41 , 23-Ноя-18
Сообщения в этом обсуждении
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 21-Ноя-18 11:05
Теперь phar-архивы можно загружать и выполнять на удаленных серверах еще быстрее.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено нах , 21-Ноя-18 11:37
круче - судя по образцу применения - их можно выполнять на боевых серверах прямо в конфиге сервера, без необходимости что-то там снаружи подсовывать.P.S.но на самом деле это достижение - запилили таки mod_php в nginx. Давайте теперь еще и пихон туда же впихнем, я в вас верю!
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 21-Ноя-18 12:17
Этот же дев и питон запилил. Походу хобби такое
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено нах , 21-Ноя-18 13:16
о, там еще и js!ща понаскриптуем, век будете npm leftpad помнить!
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 21-Ноя-18 11:45
> демонстрирует существенный прирост производительности (от 2 до 10 раз).В каких ситуациях? Множественные одновременные запросы?
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 21-Ноя-18 12:10
При выполнении специально подготовленного теста.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 21-Ноя-18 12:21
> демонстрирует существенный прирост производительности (от 2 до 10 раз)Ткнуть бы щас носом в эту фразу моего начальника отдела, который доказывал мне, что интерпретатор, крутящийся в контексте сервера - это не модно, и что нжинксовый php_fpm эффективнее и быстрее отдаёт серверу сгенерированный контент, чем апачевский mod_php.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено nondo , 21-Ноя-18 12:39
>нжинксовый php_fpmчё сказал?
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 21-Ноя-18 12:48
Речь про накладные расходы на взаимодействие nginx и php-fpm. В том же модуле всё происходит внутри nginx, потому этих расходов просто нет. Вопрос в итоговой разнице с учётом выполнения самого php-кода (который, разумеется, в обоих случаях выполняется одинаково по скорости). Думаю, разница в пределах погрешности на реальных кейсах. Ждём независимых бенчей
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено нах , 21-Ноя-18 13:21
запросто может оказаться, что mod_php хуже fpm+nginx, и не в пределах погрешностей, а существенно - за счет разной структуры nginx и самого апача.а выигрыш от замены fpm на это чудо в перьях скорее всего, действительно, окажется в пределах ошибки измерений, если код будет посложнее echo "hello"; или что там у них еще в тестах.
смысл чуда немножко не в этом (оно и не заточено в общем-то на замену fpm), а в скриптовании на пехепе непосредственно внутри конфига nginx с использованием его внутренних переменных.
Ну то есть умеешь ты только пехепе, и то плохо, а lua никак, а надо что-то там поделать в конфиге - редирект там динамически сгенерить, или еще что - вот тебе прекрасное.
главное чтобы нам потом никогда не встретиться с сиим творением.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Алеша , 21-Ноя-18 20:42
Вась, этот самый fpm по скорости сравним с голым апач префорк+mod_php
Там в пределах погрешности разбежность
Ибо fastCGI точно так же нужно спавнить (форкать) как и - сюрпрайз! - древнючий как кака мамонта апач префорк. И прибивать время от времени, ибо течет...А у апача есть - опять же сюрпрайз! - мегатехнология построенная на тредах, которая не нуждается в форканьи и лишена связанных с оным огромных накладных расходов.
А тут пошли ещё дальше - все в одном процессе, вообще без процессов/нитей. Плюсы - скорость в разы. Мынусы - подтекло или упало что-то одно - глюкануло все.
А сам по себе php-fpm никогда не был быстрее апача. Это тебе любой хостер скажет. Хватит уже распространять ламеро-заблуждения.. И единственная его килоер-фича - встроенный менеджер процессов fastCGI.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p aka Jerom , 21-Ноя-18 21:10
а прикол весь в том, что этот пхп не хранит стейта от запроса к запросу, и собственно вопрос, зачем в стейтлесс архитектуре на каждый запрос порождать процесс?
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено blblblblbl , 22-Ноя-18 00:33
а где написано, что на каждый запрос порождается процесс, ы?
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p aka Jerom , 22-Ноя-18 02:58
> а где написано, что на каждый запрос порождается процесс, ы?php-fpm.conf открой, там есть параметры контроля количества чайлдов.
пс: в #top-ку
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено cutlass , 22-Ноя-18 04:20
Выполни top и сможешь лицезреть то, что эти процессы висят постоянно , а не создаются.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p akaJerom , 22-Ноя-18 16:50
))))) idle timeout - не не слышал, то что висят не значить, что 10к реквестов выполняет один процесс. Сделай эксперимент запусти 10 запросов в секунду на скрипт (<?php sleep(10);) и посмотри сколько у тебя процессов порадится одновременно.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено cutlass , 23-Ноя-18 03:34
У меня число минимальных, максимальных, и начальных процессов одинаково. Они , конечно перезапускаются каждые 10 минут, но в целом пул неизменен.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено blblblblbl , 23-Ноя-18 17:38
магия настройки пула такая магия ^_^
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено blblblblbl , 23-Ноя-18 17:36
у меня всего 5 штук, внезапно.
вот веришь, нет, в статик режиме, в динамике или в тредах, если ты делаешь sleep(10), то тебе ничто не поможет
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p akaJerom , 23-Ноя-18 18:37
5 процессов пхп одновременно выполнят 5 запросов в секунду если время выполнения скрипта равно 1-ой секунде, из того, что по моему утверждению один запрос выполняет один процесс. Все остальные запросы будут помещены в такназываемый беклог и будут ждать пока не освободится один из процессов.пс: откройте хоть исходники пхп и посмотрите как там идёт обработка соединений
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p akaJerom , 23-Ноя-18 18:55
ну собственно и картинкаhttps://imh01-inmotionhosting1.netdna-ssl.com/support/images...
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено blblblblbl , 22-Ноя-18 00:32
Я тебе так скажу. Самый лучший вариант для говнокодерства это апач + php-fpm, ресурсов жрёт почти как nginx + php-fpm, но при этом имеешь полноценный хтаксесс, что для легаси хорошо.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 22-Ноя-18 11:15
apache + mod_php ( а впереди можно и nginx воткнуть ), это из опыта...
у apache есть большой плюс он умеет плодить php-потоки под узерами конкретных сайтов, т.е. сразу решается проблема с кросс доступом, из коробки.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено тигарэтоя , 22-Ноя-18 16:39
а что мешает искользовать разные пулы, запуская под отдельными юзерами в случае php-pfm ?
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p aka Jerom , 22-Ноя-18 23:22
апач работает под одним юзером, всякие mod_suphp подключать нужно, в случае с fpm - все из коробки пашет
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Анонес , 23-Ноя-18 00:52
для схемы апач + php-fpm не нужен nginx, вообще никак
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p aka Jerom , 21-Ноя-18 21:06
а как же блокировка процесса при выполнении пхп?
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 21-Ноя-18 23:39
Не пугай страусов, пол бетонный. Пушяй полетають..
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено cutlass , 22-Ноя-18 04:20
Добавляешь больше воркеров в нгникс
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 22-Ноя-18 11:16
100500???
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p akaJerom , 22-Ноя-18 16:52
)))))))) чем вам воркер нджинкса поможет если пхп блокирующий и выполняется один запрос одним процессом, при 100rps с временем выполнения скрипта в 1s (секунду) у вас порадится 100 процессов.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено cutlass , 23-Ноя-18 03:43
Насколько я понял новость, nginx_php будет выполнятся в нити воркера. Значит, чтобы избежать блокирования, вместо чилос воркеров=числу ЦПУ нужно увеличить число воркеров. Количество порождаемых процессов ограничивается настройками, во всяком случае в php-fpm (как там будет в nginx_php не совсем ясно).
Видимо ты устанавливал php-fpm исключительно "из каропки" не утруждая себя настройкам
pm.start_servers, pm.min_spare_servers, pm.max_spare_servers. Отсюда радостно кукарекаешь про "у вас порадится 100 процессов.".
В общем учи матчасть.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p aka Jerom , 23-Ноя-18 04:21
>>Отсюда радостно кукарекаешь про "у вас порадится 100 процессов.". В общем учи матчасть.)))))))))) всё ясно
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 25-Ноя-18 04:26
они меряют производительность hello world.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено ыы , 21-Ноя-18 15:12
оно как и перл в нжинксе - блокирует все пока не отработает?
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено нах , 21-Ноя-18 21:36
судя по примерам - да, yeld надо дергать явно, если хочешь отдохнуть.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено cutlass , 22-Ноя-18 04:21
или добавить воркеров
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p akaJerom , 22-Ноя-18 16:53
ересь не несите
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено cutlass , 23-Ноя-18 03:43
Обоснуй
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Sw00p aka Jerom , 23-Ноя-18 04:24
выполни тест который я указал выше, отправь 100 одновременных запросов в секунду на один пхп скрипт который будет исполняться всего лишь одну секунду, и посчитай в ps или top сколько процессов форкнулось.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Ilya Indigo , 21-Ноя-18 16:31
А .user.ini файлы, как в Apache/FastCGI, он будет читать и понимать?
Переопределять для разных хостов разные версии PHP, как в Apache/FastCGI можно?
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено unknown , 21-Ноя-18 19:53
Это же не замена php-fpm,я на этом cms запустить не смогу.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Анончик , 22-Ноя-18 08:42
Вот тоже интересно, насколько это возможно.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено Аноним , 21-Ноя-18 20:07
А что сказали бы на это программисты из авито и баду?
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено View , 21-Ноя-18 21:59
Они бы сказали: "Вопрос передан разработчикам"
:-D
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено xm , 22-Ноя-18 16:45
Грубо говоря (поправьте меня) что цели те же, что и у встроенного в тот же nginx Luа или mRuby в H2O.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено тигар , 23-Ноя-18 14:39
думаю, что да. ngx_пегл в ту же степь.
"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Отправлено тигар , 23-Ноя-18 14:41
кстати, в ngx нет встроенного lua, это все благодаря продуктивному на модули китайцу, автору openresty. Если не ошибаюсь, работает во славу алиэкспресс, либо работал