Илья Шипицин 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 нужно как минимум открыть 10by 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_iby 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