@waltaki

Как отдать один ответ параллельным запросам?

Есть запрос /api/info/, настроенный так:
location /api/info/ {
    limit_req zone=info burst=45;
    try_files $uri @webapi;

    proxy_cache_key $scheme$proxy_host$request_method$request_uri;
    proxy_cache proxy_cache;
    proxy_cache_valid 2s;
    proxy_cache_lock on;
    proxy_cache_use_stale error timeout updating;

    expires 2s;
}


Если делать с одного клиента несколько параллельных запросов, то складывается такая картина:
на первый запрос ответ приходит от бэка спустя 2с;
на второй спустя 4;
и так далее, до timeout;

Получается, что уже пару открытых вкладок доводят до timeout, да и время ожидании на одной вкладке большое слишком.

Возможно ли, сделать чтобы спустя 2с ответ от бэка отдавался всем параллельным соединениям, которые ожидают ответ. При этом запросы до проексируемого сервера с одного клиента как раз должны быть не чаже раз в 2с.
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
А nodelay в вашей limit-req зоне стоит, чтобы запросы обрабатывались "не размазываясь"?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы