SetSession 怎么会导至这么高的 tcp连接数 出现? 请教

ppa8086xp

请教:

onMessage($client_id, $message) {

...
Gateway::setSession($client_id, array('cmdBakFlg'=>'设备: '.$device_id.' 成功响应!'));  //收到设备返回命令时,保存至session, 供TP调用

}

pc TCP监听端口收到命令后,500ms 写入一次 setsession
云平台的 tcp_未活协连接, 数量会达到1000-3000
不知道是不是写session 怎么会导至这么高的 tcp连接数 出现? CPU负载率并不高只有3%

2100 1 0
1个回答

walkor

Gateway::setSession 调用后businessWorker会和gateway进程建立连接并通讯一次,这个连接随后会被关闭。连接关闭后的连接进入time_wait状态,等待系统回收。系统中存在2万以内的time_wait状态的连接不会有什么问题,1000-3000更不用担心。

如果是给当前client_id设置session,可以直接操作$_SESSION变量,这样不会有建立新连接的过程。

  • 暂无评论
年代过于久远,无法发表回答
🔝