温馨提示:本文翻译自stackoverflow.com,查看原文请点击:ubuntu - Load Testing: unstable error "Connection refused"
load-testing lua nginx ubuntu connection-refused

ubuntu - 负载测试:不稳定错误“连接被拒绝”

发布于 2020-04-23 16:00:04

环境:

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

  • Nginx(OpenResty)+ Lua

我在做什么:

我想通过HTTPS发送这样的简单POST请求:(这是YandexTank的格式)

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

排程为:30秒内100RPS。

我所看到的:

第一个≈1700-1900请求是状态为200的成功。但是然后...大约99%的错误请求带有响应:“ 111连接被拒绝”,代码为200的最大1%成功请求

如果我等待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

查看更多

提问者
Ivan
被浏览
75
Ivan 2020-02-27 14:46

问题出在我的家用路由器中

它无法应付这样的负担

通过更换路由器解决了问题