php使用GatewayWorker实现了直播间 但是直播间每天记录下来的最高并发每天都是4027 然后服务器cpu最高也就不到70% 这是什么原因
start_gateway配置信息
// gateway 进程
$gateway = new Gateway("Websocket://0.0.0.0:8821",$context);
// 开启SSL,websocket+SSL 即wss
$gateway->transport = 'ssl';
// 设置名称,方便status时查看
$gateway->name = 'ChatGateway';
// 设置进程数,gateway进程数建议与cpu核数相同
$gateway->count = 4;
// 分布式部署时请设置成内网ip(非127.0.0.1)
$gateway->lanIp = '127.0.0.1';
// 内部通讯起始端口,假如$gateway->count=4,起始端口为4000
// 则一般会使用4000 4001 4002 4003 4个端口作为内部通讯端口
$gateway->startPort = 8822;
// 心跳间隔
$gateway->pingInterval = 10;
// 心跳数据
$gateway->pingData = '{"type":"ping"}';
// 服务注册地址
$gateway->registerAddress = '127.0.0.1:8820';
start businessworker 配置代码
// 自动加载类
require_once __DIR__ . '/../../vendor/autoload.php';
// bussinessWorker 进程
$worker = new BusinessWorker();
// worker名称
$worker->name = 'ChatBusinessWorker';
// bussinessWorker进程数量
$worker->count = 8;
// 服务注册地址
$worker->registerAddress = '127.0.0.1:8820';
// 如果不是在根目录启动,则运行runAll方法
if(!defined('GLOBAL_START'))
{
Worker::runAll();
}
workerman/gateway-worker" : ">=3.0.0"
https://www.workerman.net/doc/workerman/appendices/kernel-optimization.html
安装event扩展,优化linux内核,然后restart重启gatewayWorker
感谢大佬