关于webman项目运行后会有多个休眠中的数据库连接进程,这个如何解决呢?

zed666@qq.com

问题描述

关于webman项目运行后会有多个休眠中的数据库连接进程,这个如何解决呢?
在服务器上面查看了mysql的进程,发现有多个睡眠中的进程,会导致无谓的消耗cpu,这个有大佬知道怎么处理吗
这里写问题描述
截图

188 1 0
1个回答

nitron

每个进程一个数据库连接,每55秒会发送一个select 1的操作确保连接不断开

  • zed666@qq.com 2024-01-31

    那我只能减少workman的进程来减少数据库库连接进程 这个方案是吗,感谢大佬解答

  • nitron 2024-01-31

    可以但没必要

  • zed666@qq.com 2024-01-31

    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个进程是主进程的连接吗?

  • zed666@qq.com 2024-01-31

    但是我看了 workman的服务进程,一共也只有32个,这就有点疑惑了

  • nitron 2024-01-31

    本质问题已经告诉你了,可能是你一些定时任务/队列/自定义进程的,这个你自己去排查

  • zed666@qq.com 2024-01-31

    好的 感谢

🔝