Gateway消息下发客户端速度变慢,5秒一次,一开始可以达到20多条每秒

JY-Chen

下发接口使用的是:sendToGroup。一开始服务端可以向客户端每秒下发20多条(故意不执行业务逻辑所以消费者处理速度很快,正常业务逻辑会达到3条每秒),在客户端收到将近300条左右,服务端的下发速度却慢到5秒一条,而且每次都是5秒。在重启消费者进程后,开始会很快,但达到300左右就又慢下来了,而且慢下来之后,Gateway提供的获取组链接数的这个接口:getClientIdCountByGroup返回数为0。请问这个是否触发了Gateway的什么机制?像是被限流了
问题补充:
每调用一次Gateway接口,就需要等待5秒,下发逻辑中调用了三次Gateway接口,下发耗时就花费15秒。而且客户端是在线的,因为客户端可以接收到消息,Gateway服务器和客户端不在同一台服务器上截图截图

983 2 1
2个回答

JY-Chen

顶!!!!!我是新手。。。。。。请各位大佬手下留情

  • 暂无评论
JY-Chen

这个问题被我规避掉了,原因是接口isUidOnline或getClientIdByUid不能频繁调用(深究下去发现是GatewayClient客户端里面的stream_select超时了返回0,超时时间5秒,超时原因吧,我太菜了不知道,也许这两个接口的使用不能放在消费者中频繁调用,希望有大佬可以回答)。接口sendToUid倒是可以频繁调用

  • walkor 2023-05-21

    用linux系统,参考workerman手册优化linux内核

🔝