我使用Socket.io启动服务器并使用Nginx作为负载平衡。 现在我尝试加载测试服务器。
我循环创建连接并计算connect
的连接数,并在connect_error
时记录。
当我通过Nginx连接到服务器时,每次~500连接后都会出错。
Opening SOCKET
SOCKET connect 508
Opening SOCKET
SOCKET connect 509
Opening SOCKET
connect_error
{ [Error: websocket error]
description:
{ [Error: socket hang up]
code: 'ECONNRESET',
target:
{ domain: null,
_events: [Object],
_maxListeners: 10,
_socket: null,
_ultron: null,
_closeReceived: false,
bytesReceived: 0,
readyState: 0,
supports: [Object],
extensions: {},
_isServer: false,
url: 'ws://MY_NGINX_SERVER/socket.io/?EIO=3&transport=websocket',
protocolVersion: 13,
binaryType: 'arraybuffer' }
}
}
但如果我直接连接到套接字服务器,它可以有超过500个连接。
这是我的Nginx配置
server {
listen 80;
access_log /var/log/nginx/load_test.log;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://SOCKETIO_SERVER/;
proxy_redirect off;
}
}
我认为这是Nginx配置文件中的内容,但我找不到任何帮助。
感谢您提前。
答案 0 :(得分:1)
我的不好,它必须在文件/etc/nginx/nginx.conf中配置app.controller('MyCtrl', ['$scope', '$timeout', function ($scope, $timeout)...
worker_connections