Я загружаю тестовую коробку t2.micro, в которой nginx и postgrest работают в контейнерах докеров. Nginx выступает в качестве прокси-сервера перед postgrest. Если я перейти непосредственно к потоку (postgrest) я получить хороший график (пики при примерно 900/RPS) Если я пройти через Nginx, я получить этот вид графаПериодическое падение пропускной способности обратного прокси nginx, что это может быть?
Процессор не maxed out (только около 50%)
Это конфигурация nginx. Все, что прокомментировано, было опробовано без какого-либо воздействия. Я также играл со значениями employee_connections и сопутствующими вещами. Что может вызвать периодическое падение?
worker_processes 2; #worker_rlimit_nofile 2048; events { # multi_accept on; worker_connections 1024; use epoll; } http { resolver 127.0.0.11 ipv6=off; include mime.types; #tcp_nodelay off; #tcp_nopush on; upstream postgrest { server postgrest:3000; keepalive 64; } server { listen 80; server_name localhost; charset utf-8; location /rest/ { default_type application/json; #proxy_buffering off; proxy_pass http://postgrest/; # Reverse proxy to your PostgREST } } }
График для латентности также интересен, он остается примерно вплоть до первой капли 10мса, то есть подскакивает до 1 секунды и в основном остается там, отражая чуток пропускной график, но он не приходит до 10 мс. Также нет ошибок, каждый запрос 200 OK –
новая разработка. Если я сделаю контейнеры использующими хост-сеть, производительность будет хуже, падение достигнет почти 0. Кто-нибудь знает, как сравнить сетевые настройки для режима хоста и моста, чтобы узнать, какие параметры разные? –