Нагрузочное тестирование: "Connection refused” (nginx)

Провожу нагрузочное тестирование своего API ЯндексТанком.

Нагрузка: 100RPS в течении 60 секунд POST request с небольшим телом

Не пойму, что происходит: примерно на первые 1600-1900 запросов получаю успешный ответ с кодом 200. Остальные запросы - ошибка 111 Connection refused.

Если сразу после первого прогона запустить тест ещё раз, с первого запроса полетят ошибки 111 Connection refused, а если после запуска подождать 10 минут, то ситуация будет как в начале: 1600-1900 успешных и затем только 111 Connection refused.

Если же нагрузку уменьшить до 30RPS и продлить тест до 100 секунд. То Ситуация повториться, снова всё сломается после 1600-1900 запросов.

Ощущение, что где-то есть какой-то лимит на количество и на время жизни "чего-то". Буду рад любым предложениям, как это можно поправить! Какие параметры подкрутить или куда посмотреть?

Игрался с разными параметрами: worker_processes, worker_rlimit_nofile, worker_connections, keepalive_timeout. Последняя оставшаяся конфигурация приведена ниже. Пока ничего не помогло.

ulimit -n 200000

Enviroment: Ubuntu 18.04.1, DigitalOcean: RAM 2Gb + 2CPU

Nginx config

user  www-data;
worker_processes  4;

error_log  logs/error.log;
error_log  logs/error.log debug;

worker_rlimit_nofile 33000;

events {
    worker_connections  4000;
    use epoll;
    multi_accept on;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    reset_timedout_connection on;
    sendfile        on;
    keepalive_timeout 15;

    include '/etc/nginx/sites-enabled/*';
}

File (server + location)

...
    location ~ ^/api {
        content_by_lua '
            ngx.say("OK")
            return ngx.exit(200)
        ';
    }
...

YandexTank Ammo

[Host: myserver.com]
[Content-Type: application/x-www-form-urlencoded]
80 /api
xxxxxx=777777777&yyyyyyy=666666666&zzzzzzzz=ce96c7c3-87e5-4b90-b1e5-9664697aa5b6

Ответы (1 шт):

Автор решения: Ivan

Проблема была в моем домашнем роутере

Он попросту не мог справиться с такой нагрузкой

Проблема была решена путем замены роутера

→ Ссылка