The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от 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.ru/opennews/art.shtml?num=49643

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +11 +/
Сообщение от Аноним (1), 21-Ноя-18, 11:05 
Теперь phar-архивы можно загружать и выполнять на удаленных серверах еще быстрее.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +3 +/
Сообщение от нах (?), 21-Ноя-18, 11:37 
круче - судя по образцу применения - их можно выполнять на боевых серверах прямо в конфиге сервера, без необходимости что-то там снаружи подсовывать.

P.S.но на самом деле это достижение - запилили таки mod_php в nginx. Давайте теперь еще и пихон туда же впихнем, я в вас верю!

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Аноним (6), 21-Ноя-18, 12:17 
Этот же дев и питон запилил. Походу хобби такое
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

10. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +2 +/
Сообщение от нах (?), 21-Ноя-18, 13:16 
о, там еще и js!

ща понаскриптуем, век будете npm leftpad помнить!

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

4. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  –1 +/
Сообщение от Аноним (4), 21-Ноя-18, 11:45 
> демонстрирует существенный прирост производительности (от 2 до 10 раз).

В каких ситуациях? Множественные одновременные запросы?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +3 +/
Сообщение от Аноним (5), 21-Ноя-18, 12:10 
При выполнении специально подготовленного теста.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  –5 +/
Сообщение от Аноним (7), 21-Ноя-18, 12:21 
> демонстрирует существенный прирост производительности (от 2 до 10 раз)

Ткнуть бы щас носом в эту фразу моего начальника отдела, который доказывал мне, что интерпретатор, крутящийся в контексте сервера - это не модно, и что нжинксовый php_fpm эффективнее и быстрее отдаёт серверу сгенерированный контент, чем апачевский mod_php.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +1 +/
Сообщение от nondo (?), 21-Ноя-18, 12:39 
>нжинксовый php_fpm

чё сказал?

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +3 +/
Сообщение от Аноним (9), 21-Ноя-18, 12:48 
Речь про накладные расходы на взаимодействие nginx и php-fpm. В том же модуле всё происходит внутри nginx, потому этих расходов просто нет. Вопрос в итоговой разнице с учётом выполнения самого php-кода (который, разумеется, в обоих случаях выполняется одинаково по скорости). Думаю, разница в пределах погрешности на реальных кейсах. Ждём независимых бенчей
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  –5 +/
Сообщение от нах (?), 21-Ноя-18, 13:21 
запросто может оказаться, что mod_php хуже fpm+nginx, и не в пределах погрешностей, а существенно - за счет разной структуры nginx и самого апача.

а выигрыш от замены fpm на это чудо в перьях скорее всего, действительно, окажется в пределах ошибки измерений, если код будет посложнее echo "hello"; или что там у них еще в тестах.

смысл чуда немножко не в этом (оно и не заточено в общем-то на замену fpm), а в скриптовании на пехепе  непосредственно внутри конфига nginx с использованием его внутренних переменных.
Ну то есть умеешь ты только пехепе, и то плохо, а lua никак, а надо что-то там поделать в конфиге - редирект там динамически сгенерить, или еще что - вот тебе прекрасное.

главное чтобы нам потом никогда не встретиться с сиим творением.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

16. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +4 +/
Сообщение от Алеша (?), 21-Ноя-18, 20:42 
Вась, этот самый fpm по скорости сравним с голым апач префорк+mod_php
Там в пределах погрешности разбежность
Ибо fastCGI точно так же нужно спавнить (форкать) как и - сюрпрайз! - древнючий как кака мамонта апач префорк. И прибивать время от времени, ибо течет...

А у апача есть - опять же сюрпрайз! - мегатехнология построенная на тредах, которая не нуждается в форканьи и лишена связанных с оным огромных накладных расходов.

А тут пошли ещё дальше - все в одном процессе, вообще без процессов/нитей. Плюсы - скорость в разы. Мынусы - подтекло или упало что-то одно - глюкануло все.

А сам по себе php-fpm никогда не был быстрее апача. Это тебе любой хостер скажет. Хватит уже распространять ламеро-заблуждения.. И единственная его килоер-фича - встроенный менеджер процессов fastCGI.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

18. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p aka Jerom (?), 21-Ноя-18, 21:10 
а прикол весь в том, что этот пхп не хранит стейта от запроса к запросу, и собственно вопрос, зачем в стейтлесс архитектуре на каждый запрос порождать процесс?
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

24. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от blblblblbl (?), 22-Ноя-18, 00:33 
а где написано, что на каждый запрос порождается процесс, ы?
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

25. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p aka Jerom (?), 22-Ноя-18, 02:58 
> а где написано, что на каждый запрос порождается процесс, ы?

php-fpm.conf открой, там есть параметры контроля количества чайлдов.

пс: в #top-ку

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

26. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от cutlass (?), 22-Ноя-18, 04:20 
Выполни top и сможешь лицезреть то, что эти процессы висят постоянно , а не создаются.
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

35. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p akaJerom (?), 22-Ноя-18, 16:50 
))))) idle timeout - не не слышал, то что висят не значить, что 10к реквестов выполняет один процесс. Сделай эксперимент запусти 10 запросов в секунду на скрипт (<?php sleep(10);) и посмотри сколько у тебя процессов порадится одновременно.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

40. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от cutlass (?), 23-Ноя-18, 03:34 
У меня число минимальных, максимальных, и начальных процессов одинаково. Они , конечно перезапускаются каждые 10 минут, но в целом пул неизменен.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

48. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от blblblblbl (?), 23-Ноя-18, 17:38 
магия настройки пула такая магия ^_^
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

47. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от blblblblbl (?), 23-Ноя-18, 17:36 
у меня всего 5 штук, внезапно.
вот веришь, нет, в статик режиме, в динамике или в тредах, если ты делаешь sleep(10), то тебе ничто не поможет
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

49. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p akaJerom (?), 23-Ноя-18, 18:37 
5 процессов пхп одновременно выполнят 5 запросов в секунду если время выполнения скрипта равно 1-ой секунде, из того, что по моему утверждению один запрос выполняет один процесс. Все остальные запросы будут помещены в такназываемый беклог и будут ждать пока не освободится один из процессов.

пс: откройте хоть исходники пхп и посмотрите как там идёт обработка соединений

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

50. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p akaJerom (?), 23-Ноя-18, 18:55 
ну собственно и картинка

https://imh01-inmotionhosting1.netdna-ssl.com/support/images...

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

23. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  –3 +/
Сообщение от blblblblbl (?), 22-Ноя-18, 00:32 
Я тебе так скажу. Самый лучший вариант для говнокодерства это апач + php-fpm, ресурсов жрёт почти как nginx + php-fpm, но при этом имеешь полноценный хтаксесс, что для легаси хорошо.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

31. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Аноним (31), 22-Ноя-18, 11:15 
apache + mod_php ( а впереди можно и nginx воткнуть ), это из опыта...
у apache есть большой плюс он умеет плодить php-потоки под узерами конкретных сайтов, т.е. сразу решается проблема с кросс доступом, из коробки.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

33. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +2 +/
Сообщение от тигарэтоя (?), 22-Ноя-18, 16:39 
а что мешает искользовать разные пулы, запуская под отдельными юзерами в случае php-pfm ?
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

38. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p aka Jerom (?), 22-Ноя-18, 23:22 
апач работает под одним юзером, всякие mod_suphp подключать нужно, в случае с fpm - все из коробки пашет
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

39. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Анонес (?), 23-Ноя-18, 00:52 
для схемы апач + php-fpm не нужен nginx, вообще никак
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

17. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p aka Jerom (?), 21-Ноя-18, 21:06 
а как же блокировка процесса при выполнении пхп?
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

22. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +2 +/
Сообщение от Аноним (22), 21-Ноя-18, 23:39 
Не пугай страусов, пол бетонный. Пушяй полетають..
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

27. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от cutlass (?), 22-Ноя-18, 04:20 
Добавляешь больше воркеров в нгникс
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

32. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Аноним (31), 22-Ноя-18, 11:16 
100500???
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

36. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p akaJerom (?), 22-Ноя-18, 16:52 
)))))))) чем вам воркер нджинкса поможет если пхп блокирующий и выполняется один запрос одним процессом, при 100rps с временем выполнения скрипта в 1s (секунду) у вас порадится 100 процессов.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

41. "Выпуск 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 процессов.".
  В общем учи матчасть.
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

43. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p aka Jerom (?), 23-Ноя-18, 04:21 
>>Отсюда радостно кукарекаешь про "у вас порадится 100 процессов.". В общем учи матчасть.

)))))))))) всё ясно

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

52. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Аноним (52), 25-Ноя-18, 04:26 
они меряют производительность hello world.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

12. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +3 +/
Сообщение от ыы (?), 21-Ноя-18, 15:12 
оно как и перл в нжинксе - блокирует все пока не отработает?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от нах (?), 21-Ноя-18, 21:36 
судя по примерам - да, yeld надо дергать явно, если хочешь отдохнуть.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

28. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от cutlass (?), 22-Ноя-18, 04:21 
или добавить воркеров
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

37. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p akaJerom (?), 22-Ноя-18, 16:53 
ересь не несите
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

42. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от cutlass (?), 23-Ноя-18, 03:43 
Обоснуй
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

44. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Sw00p aka Jerom (?), 23-Ноя-18, 04:24 
выполни тест который я указал выше, отправь 100 одновременных запросов в секунду на один пхп скрипт который будет исполняться всего лишь одну секунду, и посчитай в ps или top сколько процессов форкнулось.
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

13. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  –1 +/
Сообщение от Ilya Indigo (ok), 21-Ноя-18, 16:31 
А .user.ini файлы, как в Apache/FastCGI, он будет читать и понимать?
Переопределять для разных хостов разные версии PHP, как в Apache/FastCGI можно?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от unknownemail (??), 21-Ноя-18, 19:53 
Это же не замена php-fpm,я на этом cms запустить не смогу.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Анончик (?), 22-Ноя-18, 08:42 
Вот тоже интересно, насколько это возможно.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

15. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от Анонимemail (15), 21-Ноя-18, 20:07 
А что сказали бы на это программисты из авито и баду?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от View (?), 21-Ноя-18, 21:59 
Они бы сказали: "Вопрос передан разработчикам"
:-D
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

34. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от xm (ok), 22-Ноя-18, 16:45 
Грубо говоря (поправьте меня) что цели те же, что и у встроенного в тот же nginx Luа или mRuby в H2O.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

45. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от тигар (ok), 23-Ноя-18, 14:39 
думаю, что да. ngx_пегл в ту же степь.
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

46. "Выпуск ngx_php 0.0.13, модуля с интерпретатором PHP для ngin..."  +/
Сообщение от тигар (ok), 23-Ноя-18, 14:41 
кстати, в ngx нет встроенного lua, это все благодаря продуктивному на модули китайцу, автору openresty. Если не ошибаюсь, работает во славу алиэкспресс, либо работал
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру