关于webman数据库配置的问题

dgkerry

问题描述

以下为文档示例数据库配置代码,在pool参数中设置了最大连接数(5)、最小连接数(1),那是不是意味着一个子进程中,最多储存5个数据库连接、最小储存1个数据库链接?

return [
 // 默认数据库
 'default' => 'mysql',
 // 各种数据库配置
 'connections' => [

     'mysql' => [
         'driver'      => 'mysql',
         'host'        => '127.0.0.1',
         'port'        => 3306,
         'database'    => 'webman',
         'username'    => 'webman',
         'password'    => '',
         'unix_socket' => '',
         'charset'     => 'utf8',
         'collation'   => 'utf8_unicode_ci',
         'prefix'      => '',
         'strict'      => true,
         'engine'      => null,
         'pool' => [ // 连接池配置,仅支持swoole/swow驱动
            'max_connections' => 5, // 最大连接数
            'min_connections' => 1, // 最小连接数
            'wait_timeout' => 3,    // 从连接池获取连接等待的最大时间,超时后会抛出异常
            'idle_timeout' => 60,   // 连接池中连接最大空闲时间,超时后会关闭回收,直到连接数为min_connections
            'heartbeat_interval' => 50, // 连接池心跳检测时间,单位秒,建议小于60秒
        ],
     ],

     'sqlite' => [
         'driver'   => 'sqlite',
         'database' => '',
         'prefix'   => '',
         'pool' => [ // 连接池配置,仅支持swoole/swow驱动
            'max_connections' => 5, // 最大连接数
            'min_connections' => 1, // 最小连接数
            'wait_timeout' => 3,    // 从连接池获取连接等待的最大时间,超时后会抛出异常
            'idle_timeout' => 60,   // 连接池中连接最大空闲时间,超时后会关闭回收,直到连接数为min_connections
            'heartbeat_interval' => 50, // 连接池心跳检测时间,单位秒,建议小于60秒
        ],
     ],

     'pgsql' => [
         'driver'   => 'pgsql',
         'host'     => '127.0.0.1',
         'port'     => 5432,
         'database' => 'webman',
         'username' => 'webman',
         'password' => '',
         'charset'  => 'utf8',
         'prefix'   => '',
         'schema'   => 'public',
         'sslmode'  => 'prefer',
         'pool' => [ // 连接池配置,仅支持swoole/swow驱动
            'max_connections' => 5, // 最大连接数
            'min_connections' => 1, // 最小连接数
            'wait_timeout' => 3,    // 从连接池获取连接等待的最大时间,超时后会抛出异常
            'idle_timeout' => 60,   // 连接池中连接最大空闲时间,超时后会关闭回收,直到连接数为min_connections
            'heartbeat_interval' => 50, // 连接池心跳检测时间,单位秒,建议小于60秒
        ],
     ],
 ],
];
101 1 0
1个回答

故人重来

这个参数是可以调整。我个人看法就是确定你当前进程数量,就可以设置最大连接数。最小链接也可以计算的确定你定时任务这类常驻进程数 加上几个 就可以了。(这里在没有协程情况说的),这些参数都是要根据的数据库配置动态调节。

  • 暂无评论
×
🔝