The OpenNET Project / Index page

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



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

Оглавление

Cloudflare перешёл с NGINX на прокcи Pingora, написанный на языке Rust, opennews (??), 16-Сен-22, (0) [смотреть все]

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


32. "Cloudflare перешёл с NGINX на прокcи Pingora, написанный на ..."  +7 +/
Сообщение от Я (??), 16-Сен-22, 11:37 
но ведь решение написанное на раст действительно быстрее решения построенного с использованием nginx. и по оценке разработчика такое решение оказалось проще для разработки чем разработка аналогичного решения на сишке.

про победки, повесточки и прочие конспирологические фантазии добавил уже ваш невежественный мозг..

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

41. "Cloudflare перешёл с NGINX на прокcи Pingora, написанный на ..."  +2 +/
Сообщение от срыватель_покровов (?), 16-Сен-22, 11:45 
>но ведь решение написанное на раст действительно быстрее решения построенного с использованием nginx.

Зачем врёшь? Причём там nginx? Там сравнение раста с луа. nginx в данном случае простая пускалка для lua.

>и по оценке разработчика

По оценки того, кого наняли по квотам? Он просто не осилил.

>такое решение оказалось проще для разработки чем разработка аналогичного решения на сишке.

Причём тут расширение? Они написали расширение на nginx на расте? Нет. Зачем ты пишешь эту чушь?

>про победки, повесточки и прочие конспирологические фантазии добавил уже ваш невежественный мозг..

Типичный пропагандист, который всегда врёт.

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

112. "Cloudflare перешёл с NGINX на прокcи Pingora, написанный на ..."  +/
Сообщение от НяшМяш (ok), 16-Сен-22, 13:15 
> Там сравнение раста с луа. nginx в данном случае простая пускалка для lua.

Не просто. В новости даже две картинки есть про воркеры и пул соединений. В оригинале это описано как определяющее решение, а не луа скрипты. Просто потому что вместо скриптов можно плагин написать, а вот форкать и фундаментально переделывать пул nginx они не захотели.

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

123. "Cloudflare перешёл с NGINX на прокcи Pingora, написанный на ..."  +2 +/
Сообщение от мяя (?), 16-Сен-22, 14:20 
Про эти воркеры и пул соединений тоже какой-то бред.
Если надо в nginx можно ограничить до одного воркера, но это странно.
https://nginx.org/en/docs/ngx_core_module.html#worker_cpu_af...
Всё это больше похоже на грязный маркетинг.
Ответить | Правка | Наверх | Cообщить модератору

153. "Cloudflare перешёл с NGINX на прокcи Pingora, написанный на ..."  +2 +/
Сообщение от Аноним (7), 16-Сен-22, 15:37 
> Если надо в nginx можно ограничить до одного воркера, но это странно.

И после этого из всех ядер CPU будет использоваться только одно.

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

163. "Cloudflare перешёл с NGINX на прокcи Pingora, написанный на ..."  +/
Сообщение от Ivan_83 (ok), 16-Сен-22, 15:58 
Вы не поняли ничего.
воркер - это процесс где один поток обрабатывает соединения.
Там ещё прикручивается пул потоков, но только для работы с диском и отправки файлов.

Проблема была в том, что такие воркеры неравномерно распределяют нагрузку на проц: одному может не повезти и через него попрут тяжёлые запросы он будет постоянно лагать, а другой будет мелкие легко отсреливать.

Плюс такие воркеры не могут эффективно шарить кеш/пул соединений к бэкендам куда они проксируют.

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

387. "Cloudflare перешёл с NGINX на прокcи Pingora, написанный на ..."  +1 +/
Сообщение от Аноним (386), 20-Сен-22, 11:25 
Во! Хоть кто-то приблизился к пониманию проблемы. Но тоже далековато.

Луашака в данном случае, когда идёт за коннектами в другие сервисы (например, в статистику по количеству и продолжительности запроса и разбивке запроса по фазам).. она попадает в пул коннектов, специфичный для воркера и в результате у тебя получается коннектов n*cpu*pool_size.

Проблема невелика, когда у тебя 2 сервера на локалхосте, а когда у тебя сотни-тыщи серверов, то апишка статы начинает проседать элементарно от во-первых количества запросов в секунду, а во-вторых от количества установленных соединений. А усугубляется проблема тем, что луашня не может нормально в http/2.0 и websocket-ы, чтобы удерживать постоянные 2-4 соединения (на каждый воркер в рамках экземпляра nginx-а) к апишке, внутри которых мультиплексировать трафик в апишку.

Собственно, любое решение, способное организовать единый пул коннектов на весь экземпляр nginx-а подошло бы. Просто модуль, который они начали писать для луашни/nginx-а на сишке довольно быстро начал превращаться в монстра, который решил пустить корни уже в сам nginx... И видимо в какой-то момент было принято решение о том, что при наличии такого количества интрузивных изменений будет проще написать свой http-сервер с нужными решениями конкретных cloudflare-оских задач, чем с каждым новым релизом nginx-а натягивать на него кастомные патчи и луашню.

А раст был выбран не из-за того, что он такой хороший, а потому что местные питонисты, простите, программисты пытаются быть модными и современными, чтобы было чего в резюме записать, в случае чего. Ну и да, генерируемый бинарник действительно относительно быстрый, по скорости не сильно отстаёт от плюсов да ещё и довольно "бесплатно" (по cpu/памяти) может ходить в сишку и плюсы, что какбэ является плюсом по сравнению, например, с гошкой.

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

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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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