Окружающая среда:
Что я делаю:
Я попытался отправить простой запрос POST, например, по HTTPS: (это формат Яндекса)
[Host: myserver.com]
[Content-Type: application/x-www-form-urlencoded]
80 /api
xxxxxx=777777777&yyyyyyy=666666666&zzzzzzzz=ce96c7c3-87e5-4b90-b1e5-9664697aa5b6
Расписание: 100RPS в течение 30 секунд.
То, что я вижу:
Сначала - 1700 - 1900 запросов - успех со статусом 200. Но потом ... о 99% запросов об ошибках с ответом: «111 Соединение отклонено» максимум 1% успешных запросов с кодом 200
Если я подожду 30 секунд и перезапущу нагрузочный тест, у меня не будет даже 1600 успешных запросов! Первые запросы уже будут с ошибкой «111 Соединение отказано».
Если я подожду 10 минут и перезапущу нагрузочный тест, первый случай повторится (1700 - 1900 - успех, другой - неправильно).
МОЙ ВОПРОС:
Какие-либо предложения, какие параметры следует настроить для устранения ошибки? Это проблема в NGINX конфиге? или ОС?
Указанные ниже цифры менялись по-разному (worker_processes, worker_rlimit_nofile, worker_connections, keepalive_timeout).
Спасибо!
КОНФИГСЫ:
Nginx
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/*';
}
Файл (сервер + местоположение)
...
location ~ ^/api {
content_by_lua '
ngx.say("OK")
return ngx.exit(200)
';
}
...
ulimit -n
200000