关于webman项目运行后会有多个休眠中的数据库连接进程,这个如何解决呢? 在服务器上面查看了mysql的进程,发现有多个睡眠中的进程,会导致无谓的消耗cpu,这个有大佬知道怎么处理吗 这里写问题描述
每个进程一个数据库连接,每55秒会发送一个select 1的操作确保连接不断开
那我只能减少workman的进程来减少数据库库连接进程 这个方案是吗,感谢大佬解答
可以但没必要
return [ 'listen' => 'http://'.env('SERVER_HOST', '0.0.0.0').':'.env('SERVER_PORT', '8787'), 'transport' => 'tcp', 'context' => [], 'name' => 'webman', 'count' => cpu_count() 4, 'user' => '', 'group' => '', 'reusePort' => false, 'event_loop' => '', 'stop_timeout' => 2, 'pid_file' => runtime_path() . '/webman.pid', 'status_file' => runtime_path() . '/webman.status', 'stdout_file' => runtime_path() . '/logs/stdout.log', 'log_file' => runtime_path() . '/logs/workerman.log', 'max_package_size' => 10 1024 * 1024 ];
我是8核心cpu * 4 = 32个进程,数据库连接进程是48个,多出来的16个进程是主进程的连接吗?
但是我看了 workman的服务进程,一共也只有32个,这就有点疑惑了
本质问题已经告诉你了,可能是你一些定时任务/队列/自定义进程的,这个你自己去排查
好的 感谢
每个进程一个数据库连接,每55秒会发送一个select 1的操作确保连接不断开
那我只能减少workman的进程来减少数据库库连接进程 这个方案是吗,感谢大佬解答
可以但没必要
return [
'listen' => 'http://'.env('SERVER_HOST', '0.0.0.0').':'.env('SERVER_PORT', '8787'),
'transport' => 'tcp',
'context' => [],
'name' => 'webman',
'count' => cpu_count() 4,
'user' => '',
'group' => '',
'reusePort' => false,
'event_loop' => '',
'stop_timeout' => 2,
'pid_file' => runtime_path() . '/webman.pid',
'status_file' => runtime_path() . '/webman.status',
'stdout_file' => runtime_path() . '/logs/stdout.log',
'log_file' => runtime_path() . '/logs/workerman.log',
'max_package_size' => 10 1024 * 1024
];
我是8核心cpu * 4 = 32个进程,数据库连接进程是48个,多出来的16个进程是主进程的连接吗?
但是我看了 workman的服务进程,一共也只有32个,这就有点疑惑了
本质问题已经告诉你了,可能是你一些定时任务/队列/自定义进程的,这个你自己去排查
好的 感谢