Show all posts by user
Discussions in German
Илья Шипицин Wrote:
-------------------------------------------------------
> а как вы понимаете, простаивают они или нет ?
Очень просто, мы на бекенде замеряли сколько соединений открывает Nginx, днем 200-300, ночью намного меньше, мы установили 250, по
by
S.A.N
-
Nginx Mailing List - Russian
> > Кстати почему по дефолту keepalive_requests имеет такое маленькое
> значения -
> > 100?
>
> Это опция относится только к клиентскому соединению.
Наши бекенды открывают клиентские соединения к другим нашим бекендам,
by
S.A.N
-
Nginx Mailing List - Russian
> зачем огромные ?
>
> значение keepalive - это "запас", соединения, которые держатся
> подгретыми
> на всякий случай.
> если у вас нагрузка носит однородный характер, то они будут
> простаивать
У нас 250 keepalive н
by
S.A.N
-
Nginx Mailing List - Russian
Илья Шипицин Wrote:
-------------------------------------------------------
> а вы настройте keepalive между nginx и бекендами.
Да, этим и спасаемся, у нас огромные значения keepalive в upstream :)
by
S.A.N
-
Nginx Mailing List - Russian
> Конечно, мультиплексирование в FastCGI будет легче чем в HTTP/2.
>
> Но само по себе мультиплексирование не является самоцелью, оно может
> быть уместно в каких-то вычурных ситуациях (вроде исчерпания
> сокетов),
>
by
S.A.N
-
Nginx Mailing List - Russian
> Если необходимо вытащить множество разных данных одним запросом, то
> для
> этого есть SSI. Причем разные части будут доставаться параллельно и
> складываться в один большой ответ достаточно эффективно.
SSI зде
by
S.A.N
-
Nginx Mailing List - Russian
Валентин Бартенев Wrote:
> Какой браузер отправляет в одном HTTP/1.1 соединении следующий запрос
> не
> дожидаясь ответа на предыдущий?
Вы правы, я наконец то понял, браузеры отправляют в одном соединении запросы после
by
S.A.N
-
Nginx Mailing List - Russian
> >
> > Даже в РНР появляются новые асинхронные фрейворки, не говоря уже про
> > Node.js, Go, etc..
> > Возможно уже пришло время, переосмыслить и переписать логику работы
> upstream
> > в Nginx?
> > Тогда асинхронные бе
by
S.A.N
-
Nginx Mailing List - Russian
> Всё верно, потому что запросы в одном соединении по протоколу HTTP/1.1
> обрабатываются последовательно.
>
> Если вы хотите сделать три параллельных запроса в HTTP/1.1, то для
> этого
> нужно отрыть 3 соединения и в к
by
S.A.N
-
Nginx Mailing List - Russian
> > Nginx никогда не посылает запрос в то же соединение, пока не
> получит
> > ответ
> > и соединение освободиться. Т.н. pipelining он не умеет и не
> > использует.
> >
> > Если бы следующий запрос пришел до того, к
by
S.A.N
-
Nginx Mailing List - Russian
> Nginx никогда не посылает запрос в то же соединение, пока не получит
> ответ
> и соединение освободиться. Т.н. pipelining он не умеет и не
> использует.
>
> Если бы следующий запрос пришел до того, как на первый был пол
by
S.A.N
-
Nginx Mailing List - Russian
> Вы просто перенесете то, что реализовано в ядре операционной системы
> внутрь приложения. В случае HTTP/2 у вас будет на каждый отдельный
> запрос свой внутренний идентификатор со своими накладными расходами,
> ко
by
S.A.N
-
Nginx Mailing List - Russian
> Откуда такая арифметика?
Цифры условные - допустим многопоточный бекенд, имеет 10 потоков, каждый поток может работать со скоростью 1к RPS.
Задача получить от одного бекенда 10к RPS
На НТТР1.1 нужно как минимум открыть 10
by
S.A.N
-
Nginx Mailing List - Russian
> А откуда в вашем случае приросту вообще взяться? Он у вас скорее даст
> не
> прирост, а наоборот медленнее станет.
>
> Само по себе мультиплексирование не заставляет сигналы быстрее по
> проводам
> передава
by
S.A.N
-
Nginx Mailing List - Russian
> Также как и h2 внутри датацентра не нужен. Это протокол заточенный
> под общение
> браузера с веб-сервером ради экономии на TLS-хэндшейках по сетям с
> относительно
> высокой задержкой и в условиях крайне огранич
by
S.A.N
-
Nginx Mailing List - Russian
Меня интересует H2 в модуле ngx_http_proxy_module (исходящие запросы к бекенду), вы написали про модуль ngx_http_v2_module (входящие запросы от клиентов)
Возможно вы хотели сказать что должно работать так:
proxy_http_version h2c;
но это к сожалению
by
S.A.N
-
Nginx Mailing List - Russian
Наш бекенд работает на HTTP/1.1 в режиме Keep-Alive, но в пикоквые нагрузки, нам приходится держать много открытых конектов.
Демон асинхронный, но если один запрос выполняется дольше обычного конект параллельно использовать
by
S.A.N
-
Nginx Mailing List - Russian
VovansystemS Wrote:
-------------------------------------------------------
> >> fastcgi_param HTTP_IF_NONE_MATCH $http_if_none_match
> if_not_empty;
> >> fastcgi_param HTTP_IF_MODIFIED_SINCE $http_if_modified_since
> if_not_empty;
> >
> > У вас в конфиге написано: установить заголовки If-None-Match и
>
by
S.A.N
-
Nginx Mailing List - Russian
Судя по конфигу, у вас проблема с куками, если браузер присылает куки сессии, кеш не работает, curl куки не присылает, ответ отдается из кеша.
Убери из конфига
fastcgi_param HTTP_IF_NONE_MATCH $http_if_none_match if_not_empty;
fastcgi_param HTTP_IF_MODIFIED_SINCE $http_i
by
S.A.N
-
Nginx Mailing List - Russian
Здравствуйте.
Мы все больше используем микросервисы, они имеют уникальные uri, выполняют атомарные операции и отдают JSON ответы, их проксирует и кеширует Nginx.
В этих бекенд микросервисах, часто появляются задачи для ре
by
S.A.N
-
Nginx Mailing List - Russian
Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
>
> On Tue, Apr 19, 2016 at 03:24:37AM -0400, S.A.N wrote:
>
> > > По умолчанию range-запросы из кеша работают только в том случае,
> > > если в ответе бекенда был заголовок Accept-Ranges и дол
by
S.A.N
-
Nginx Mailing List - Russian
> По умолчанию range-запросы из кеша работают только в том случае,
> если в ответе бекенда был заголовок Accept-Ranges и должна быть
> явно указана длина ответа.
Супер, спасибо, отдали Accept-Ranges все работает.
Кстати есть ли
by
S.A.N
-
Nginx Mailing List - Russian
Здравствуйте.
Я хотел бы узнать, Nginx умеет отдавать клиентам из своего кеша, ответы частями?
Корректный заголовок Range: bytes... клиент отправляет, но Nginx из кеша отдает весь ответ статус - 200, вместо частичного ответа со стат
by
S.A.N
-
Nginx Mailing List - Russian
Валентин Бартенев Wrote:
-------------------------------------------------------
> Это довольно странное желание - чтобы машина, которая по сути ещё не
> готова
> к работе, частично делала вид, что она готова принимать трафик. Что
> вы будете
by
S.A.N
-
Nginx Mailing List - Russian
> И более правильным, потому что независимо от чей-то любви к
> systemd.socket
> в данном случае он поставленную задачу НЕ решает. Всяко лучше
> устранить
> проблему полностью, чем уменьшить её вероятность на нескольк
by
S.A.N
-
Nginx Mailing List - Russian
Evgeniy Berdnikov Wrote:
-------------------------------------------------------
> On Tue, Mar 15, 2016 at 11:39:12AM -0400, S.A.N wrote:
> > Evgeniy Berdnikov Wrote:
> > -------------------------------------------------------
> > > On Tue, Mar 15, 2016 at 10:33:10AM -0400, S.A.N wrote:
> > > > Наш use case простой, нужно чтобы на р
by
S.A.N
-
Nginx Mailing List - Russian
Evgeniy Berdnikov Wrote:
-------------------------------------------------------
> On Tue, Mar 15, 2016 at 10:33:10AM -0400, S.A.N wrote:
> > Наш use case простой, нужно чтобы на ранней стадии загрузки OS,
> нужные порты
> > могли принимать конекты, systemd.socket идеальный вариант, м
by
S.A.N
-
Nginx Mailing List - Russian
Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
>
> On Tue, Mar 15, 2016 at 01:32:04AM -0400, S.A.N wrote:
>
> > Есть в планах на ближайшие будущие, реализация принятия сокета от
> unit
> > systemd.socket?
>
> Скорее нет, чем да.
> Но для
by
S.A.N
-
Nginx Mailing List - Russian
Здравствуйте.
Есть в планах на ближайшие будущие, реализация принятия сокета от unit systemd.socket?
by
S.A.N
-
Nginx Mailing List - Russian
Maxim Dounin Wrote:
-------------------------------------------------------
> С nginx'ом - нет.
Ok, спасибо.
by
S.A.N
-
Nginx Mailing List - Russian