Dockerized nginx зависает после тысяч запросов - PullRequest
0 голосов
/ 02 января 2019

Я столкнулся со странной проблемой при использовании dockerized nginx. Будут зависать запросы через сотни, если бы я использовал JMeter для запроса бэкэнд-сервиса через обратный прокси-сервер nginx. Я пытался с почтальоном, пока запросы зависали, он воспроизводим (иногда), но он всегда в порядке, если запросить бэкэнд-сервис напрямую.

Я пытался без докера в той же конфигурации, нет зависших запросов.

Кто-нибудь знает, как ее решить?

1 Ответ

0 голосов
/ 03 января 2019

Наверное, я знаю, почему из-за превышения номеров соединений между обратным прокси-сервером и бэкэнд-сервисом.

Относится к keepalive , я изменил конфигурацию Nginx, чтобы использовать директиву keepalive дляактивировал кеш для соединений, это решило эту проблему.

http {
    ...
    upstream http_backend {
        server 192.168.2.100:8081;
        keepalive 32;
    }
    ...
    server {
        ...
        location /api/ {
            proxy_pass http://http_backend/;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            ...
        }
    }
}
...