长链接阻塞了,导致收到消息有延迟,怎么排查和优化?

tpuser12 11天前 87

https://docs.wildfirechat.cn/blogs/%E5%9F%BA%E4%BA%8ETCP%E7%9A%84%E7%9F%AD%E9%93%BE%E6%8E%A5.html

文档这里说:如果长链接已经有较繁重的任务在执行了,则mars会发起一个HTTP的请求到服务器,请求结束后,HTTP的链接将被释放,这个HTTP链接就被称为短链接。

但是现在的业务场景出现了一个问题:有A和B两个用户,互相为好友,B加入了一个200人的群,A没有加入, 这个群高峰期比较活跃,1秒内都会发送好几个消息,在高峰期,A用户向B用户发送单聊消息,A发送消息成功后,B成功接收这个消息并在聊天窗口中显示,有一个明显延迟,延迟5秒甚至更久的时间

这是什么原因能造成的呢?是B用户的与im-server长链接阻塞了,导致后续的消息收到有延迟,还是其它什么原因呢?这个问题怎么排查和优化呢?

最新回复 (4)
  • HeavyRain 11天前
    引用 2
    有可能是卡在IM服务或者IM服务使用的数据库上,可以升级硬件配置;或者换成专业版IM服务,专业版IM服务性能更高,还有超级群模式,超级群对大群和热群的处理更省资源
  • tpuser12 11天前
    引用 3
    im使用的数据库应该不会啊,硬件配置都是足够的,mysql都是优化过的,cpu平均负载都不高

    如果说是im-server,那怎么排查和确定是与im-server有关系呢,能看到监控数据或统计数据吗?
  • HeavyRain 11天前
    引用 4
    没有IM服务的监控或者统计,只能看系统的,有可能是IM服务处理不过来
  • tpuser12 11天前
    引用 5
    不存在吧,群里最多也就100多个活跃用户,在没有bug或代码问题的情况下,这么点用户处理不过去,说不过去啊

    有可能是app端sdk或app端其它代码的问题吗?
返回