如何增加部署在 AWS ECS fargate 上的 Nodejs Socket.io 服务器中的 websocket 客户端数量?

Nit*_*iya 5 websocket node.js socket.io aws-ecs aws-fargate

我正在使用 socket.io 在 AWS Fargate 中运行套接字服务器容器

连接用户数在 800-1000 左右时一切正常,但是当客户端数量增加时,旧套接字连接会自动断开并出现错误transport error

我的 AWS ECS 服务(Fargate 容器)在 AWS 应用程序负载均衡器后面运行。

需要应用任何特定配置来支持与我的容器的数千个并发连接吗?

连接到单个套接字服务器的并发用户数是否有限制?

AWS任务定义有4GB内存和2个CPU

套接字服务器代码:

io = module.exports = require('socket.io')(server, {
  'pingInterval': 10000,
  'pingTimeout': 7000,
  'origins': (env.APPLY_ALLOW_ORIGIN_FILTER) ? env.SOCKET_WHITELIST_URL : '*:*',
  transports: ['websocket', 'htmlfile', 'xhr-polling', 'jsonp-polling', 'polling']
})
Run Code Online (Sandbox Code Playgroud)

Ale*_*ksi 0

您可以尝试的一件事是增加nofileulimit:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_limits

这控制打开文件的最大数量,包括网络套接字。