请教:
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%
Gateway::setSession 调用后businessWorker会和gateway进程建立连接并通讯一次,这个连接随后会被关闭。连接关闭后的连接进入time_wait状态,等待系统回收。系统中存在2万以内的time_wait状态的连接不会有什么问题,1000-3000更不用担心。
如果是给当前client_id设置session,可以直接操作$_SESSION变量,这样不会有建立新连接的过程。