客户端连接正常,但gateway连接数异常,定时有1-2个连接波动

ricespring

项目需要,建了ws和tcp监听,另外有2个单独的worker,一个worker用来处理redis数据,一个worker用来模拟客户端连接。
现在的问题是:当模拟worker连接数设置2000以上时,gateway能够响应连接,连接数=客户端连接数+内部连接数,并能处理各个客户端的数据,数据写入数据库也正常,但是我用status -d,查看运行状态时,发现两种协议的gateway每几秒钟会增加1-2个连接数,瞬间又消失了,有时候是TCP的gateway增加,有时候是ws的gateway增加,有时候是同时增加。当模拟worker连接数设置几百个时,这种现象消失,设置2000个以上连接数,依然是这个现象。
我的实例建在内网,防火墙设置无论设置禁止外部访问还是允许外部访问都有这个现象。
我想会不会gateway进程会定时连接其他gateway进程,但我看手册,不可能出现gateway相互连接的情况。
求大神帮忙看看,我是哪儿设置错了吗。下图是我的截图
 

2343 3 0
3个回答

walkor

有些接口比如Gateway::getSession等调用过程中businessWorker 会发起新的连接到gateway进程,调用完毕会断开

  • ricespring 2019-07-10

    难怪啊,我在定时器中大量用到get,updateSession,现在我改动了代码,只用一个get,连接数还是有变动,但系统负载马上降了1/4,谢了,walkor!我再想办法不用get:)

ricespring

walkor,我想再问下,
1.是不是除了getSession,updateSession之外,像调用isUidOnline,getClientIdByUid之类的接口,businessWorker也会发起新的连接到gateway进程,我现在取消了getSession,updateSession,好像gateway的连接数依然在变化。
2.当我用status -d查看状态时,连接数浮动范围只有几个,我可不可以这么理解,businessWorker发起的新连接很多,只是status进程那一瞬间只捕捉到那几个,其他连接因为关闭的太快,没有捕捉到。

  • 暂无评论
walkor

1、获取数据类的接口都会发起新的连接,包括isUidOnline,getClientIdByUid。
2、用完很快就关闭了

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