负载测试:不稳定错误 "Connection refused"
Load Testing: unstable error "Connection refused"
环境:
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 配置中的问题吗?或 OS?
下面的数字我做了不同的更改(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
问题出在我家的路由器上
它无法应付这样的负载
更换路由器问题已解决
环境:
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 配置中的问题吗?或 OS?
下面的数字我做了不同的更改(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
问题出在我家的路由器上
它无法应付这样的负载
更换路由器问题已解决