你好,大神,用咱们的GatewayWorker做即时通讯并发问题

华哥

你好,我们用GatewayWorker做即时通讯的后端,用redis 做了一部分缓存,同时 消息存储到 mongodb ,业务接口 用 mysql 这块

我们做并发测试,发现 4核的服务器 每秒连接人数 基本在 1W左右可以的,但用前端给后端每秒发送数据 发现socket 基本上每秒只能处理 10条左右数据的下发,前端 每秒 100条数据发数据,导致全部堆积到 后端 , 基本上延时 1-2给小时才能下发完, 到现在也不清楚原因原因

问下大神,咱们 GatewayWorker 每秒理论数据下发至客户端在多少条? 想这样的每秒100条消息,服务器没有下发都堆积到哪里了?

2439 4 0
4个回答

华哥

咱们 GatewayWorker 理论每秒下发至客户端数据量在多少条? 前端毫秒发送到 socket, GatewayWorker处理不过来,全部在堆积

  • 暂无评论
华哥

我们也有再看 mysql redis mongodb 都没有达到 瓶颈 并发数 ,看控制面板监控 也qps才到10个左右,就是堆积数据太严重,消息处理不过来, 想我们现在一个4核服务器,也才支持 150人数,每秒不能超过 15条数据,要不就堆积,消息延时严重

  • keytehu 2020-09-10

    有可能 mysql redis mongodb 这块太慢了,去掉所有存储,直接转发看下效果。

walkor

压测的业务逻辑是什么?广播给1万人?

  • 暂无评论
华哥

逻辑很简单, 用一个客户端向sokcet 发消息(毫秒循环发送一秒100条数据),GatewayWorker 向APP客户端下发数据,基本上发现,socket (广播给不到10人的群)下发最大也就是每秒10条的量,单一接收客户端只能每秒最多接收 10条数据

  • walkor 2020-09-10

    走外网?外网带宽多大?

年代过于久远,无法发表回答
🔝