我每次使用reload的时候,时不时会出现websocket出现端口链接不上的情况,can not connect to tcp://127.0.0.1:2301 Connection refused,我的配置文件如下
return [
'gateway' => [
'handler' => Gateway::class,
'listen' => 'websocket://0.0.0.0:9669',
'count' => 2,
'reloadable' => false,
'constructor' => ['config' => [
'lanIp' => '127.0.0.1',
'startPort' => 2300,
'pingInterval' => 30,
'pingNotResponseLimit' => 2,
'pingData' => '',
'registerAddress' => '127.0.0.1:1236',
'onConnect' => function(){
},
]]
],
'worker' => [
'handler' => BusinessWorker::class,
'count' => cpu_count()*2,
'constructor' => ['config' => [
'eventHandler' => plugin\webman\gateway\Events::class,
'name' => 'ChatBusinessWorker',
'registerAddress' => '127.0.0.1:1236',
]]
],
'register' => [
'handler' => Register::class,
'listen' => 'text://127.0.0.1:1236',
'count' => 1, // Must be 1
'reloadable' => false,
'constructor' => []
],
];
pid:1060270 Exception: can not connect to tcp://127.0.0.1:2301 Connection refused in XXXXXX
启动图如下:
启动界面截图下
您好,启动图我更新上去了
不是说每次reload都会,就是每次我拉代码reload更新功能,偶尔就会出现can not connect to tcp://127.0.0.1:2301 或者是 can not connect to tcp://127.0.0.1:2300 然后前端的socket就链接不上了
几个问题
1、
exit with status 11
代表你的php出现了coredump,可能是使用了不稳定的php扩展导致,也可能是php版本的bug。换个php版本试下。2、如果连接数超过1000需要安装event扩展并优化linux内核,restart重启gatewayWorker
3、cpu高可能是客户端在频繁发送数据给服务端,也可能是因为linux内核没优化导致资源达到上限
好的,刚看到文档确实没有安装event扩展,socket目前就是客户端一直发送心跳然后服务做了简单的IO处理而已
非常感谢!!!
对了,能否麻烦你帮解答一下,我看gateway的进程占用CPU是很高的,内存也占用很高,因为我每次restart的时候
内存垮的一下就下来了(大概内存下降了有9GB),这关联性大吗