使用gatewayworker 和redis消息订阅造成的多进程阻塞

在gatewayworker中,使用redis做消息订阅,由于数据量大,现在在两台服务器上做的分布式部署,每台服务器businessworker都是开的十个进程,但是进程还是会很快都阻塞,请问各位大牛们怎么解决呢
public static function onWebSocketConnect($client_id, $data)
{
$token=$data['get']['token'];
$encryptedData = base64_decode($token);
$arr=json_decode($encryptedData,true);
$codeArr=explode(',',strtoupper($arr['Codes']));
global $redis;
$_SESSION['client_id'] = $client_id;
$redis->subscribe($codeArr,function ($instance, $channelName, $message){
if(!empty($message)){
var_dump($message);
}
});
}
已邀请:

静默

赞同来自:

subscribe 本来就是阻塞的调用吧。

ykw090721 - 90后it男

赞同来自:

1567674220(1).jpg
,现在cpu4核8G,开的50个进程,不到五分钟就都满了
 

要回复问题请先登录注册