Socket.IO + Nginx 连接限制

Socket.IO + Nginx connection limit

我使用 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 配置文件中的内容,但我找不到任何帮助。

感谢提前。

糟糕,它必须在文件 /etc/nginx/nginx.conf

中配置 worker_connections
events {
   worker_connections  60000;
}