Решением было: увеличение количества nginx воркеров и коннекшенов:
user www-data;
worker_processes 32;
worker_priority -10;
pid /run/nginx.pid;
worker_rlimit_nofile 200000;
events {
worker_connections 4096;
use epoll;
}
...
И
самое главное: включение режима keep-alive для upstream-a:
upstream partner_api {
server WW.XX.YY.ZZ;
keepalive 512;
}
Так-же оказывается, что установив
proxy_http_version 1.1;
поддержка keep-alive соединения не включится. Нужно также установить
proxy_set_header Connection "";
Со всеми числами можно поиграть и добиться нужного результата.
Раньше у нас отваливалось 5-6 запросов в секунду. Сейчас тоже отваливается, но гораздо реже: 1 запрос в 10-15 минут. Текущий результат пока что удовлетворяет. В будущем будем добиваться максимально возможных результатов.