碧云苍穹 2021-04-15 15:22 采纳率: 0%
浏览 39

用socket.io搭建了一个直播系统,连接人数连到100个左右后其他用户无法连接了,求助?

我在wamp环境下用socket.io搭建了一个直播系统,我们测试的时候,发现连接人数连到100个左右后其他用户无法连接了,如何解决? 

 

我已经修改了注册表的配置   按 https://www.cnblogs.com/fczjuever/archive/2013/04/05/3000697.html   写的改的

也开启了  apache中  多路处理模块MPM

连接数量并没有提高

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-07-17 22:15
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 出现连接人数达到一定数量后其他用户无法连接的情况,可能是因为服务器的并发连接数限制导致。尽管已经修改了注册表的配置和开启了多路处理模块MPM,但连接数量并没有提高,说明问题可能并不在这里。可能是由于服务器硬件性能不足或者socket.io的配置问题导致。 解决方案:
    1. 检查服务器硬件性能:首先要确认服务器的硬件性能是否能够支撑100个以上的并发连接。如果服务器硬件性能不足,可以考虑升级硬件或者增加服务器节点来实现负载均衡。 案例代码:
    # 检查服务器的硬件性能
    top
    
    1. 调整socket.io的配置:可以尝试调整socket.io的配置参数,如增加最大连接数等来提升并发连接数的限制。 案例代码:
    // 增加socket.io的最大连接数
    const io = require('socket.io')(server, {
      maxHttpBufferSize: 1e8,
      pingTimeout: 60000,
      pingInterval: 25000,
      upgradeTimeout: 80000,
      cookie: false,
      perMessageDeflate: false,
      transports: ['polling', 'websocket'],
      allowUpgrades: true,
      httpCompression: false,
      allowEIO3: true,
      cors: { origin: '*' }
    });
    
    1. 使用负载均衡和集群:考虑使用负载均衡和集群来分担并发连接的压力,将请求分发到多个服务器节点上,从而提高系统的并发处理能力。 综上所述,可以通过检查服务器硬件性能、调整socket.io的配置参数、使用负载均衡和集群来解决连接人数达到一定数量后其他用户无法连接的问题。
    评论

报告相同问题?