workerman 推送消息出现阻塞

0

按官网例子写的推送给设备端消息,运行一段时间后,
$client = stream_socket_client('tcp://127.0.0.1:5678', $errno, $errmsg, 1);
fwrite($client, json_encode($data)."\n");
$res = fread($client, 8192);


使用平台为LINUX ,调试发现这个推送消息给设备会出现阻塞,具体原因目前没查到,状况为心跳正常,但是推送数据给设备端,返回超时,60秒都不能返回推送成功数据,导致后面一直运行不了,重启进程服务,正常,所以想知道是什么问题引起的,需要怎么去解决,查看了LINUX是SOCKET连接数设置是6万多,所以应该不是端口连接数受限制引起的

已邀请:

我是厂长

赞同来自:

这问题我也遇到过, 好像确实是有点延迟,通过肉眼感受

walkor

赞同来自:

下次遇到这个问题运行 php start.php status截图下,截图截全,不要截图部分。


如果status里有进程出现busy状态,参考 http://doc.workerman.net/debug/busy-process.html 定位。


参考手册 http://doc.workerman.net/appendices/kernel-optimization.html 优化linux内核,并安装event扩展(超过1000连接event扩展是必须的)。


还有看下系统负载是否正常。负载高的话也会延迟。

要回复问题请先登录注册