使用 webman think-orm plugin model 需要继承 support\think\Model 才能使用连接池吗?
按照手册要继承 support\think\Model
继承了之后,使用 model 的操作数据库,连接池是自动的还是需要手动。 现在我是继承的 thinkphp orm 的 model,数据库会不断的累加 Sleep 连接,也不释放
自动的,连接池就是要维持连接不立刻释放。通过配置可以控制连接空闲多久就释放,保留多少连接不释放(最小连接数控制)
“现在我是继承的 thinkphp orm 的 model,数据库会不断的累加 Sleep 连接,也不释放” 这是 thinkphp orm 本身的问题吗?
使用连接池是否需要 PHP 安装 swoole?
现在版本继承 thinkphp orm 的 model 也兼容会开启连接池,但是不保证以后一直兼容,要用连接池按照手册写。
连接池会自动控制连接数,连接不会立刻关闭,最大连接数可控,例如连接池开启最大5个连接,一共10个进程,那么webman最大使用50个数据库连接。数据库有累加Sleep 连接正常,最大不会超过一定值,而且空闲时会自动减少连接。
目前数据库连接池需要swoole
swoole 通过宝塔面板 php 扩展安装可以吗?还是需要手动编译安装,修改特定的参数
Swoole 版本有要求吗?4/5/6?
swoole5 6都可以,尽量用新版
thinkphp orm pool max_connections 是 3 现在有 58 个 Sleep 连接了。Sleep 连接时间一直在更新,但不超过设定的 idle_timeout,但连接没被回收
看后面的count,连接上限为3 (需要用到数据库连接的进程数之和), 你上面可能用到的 有webman 8 task 1 comsumer 8 , 那就是 3 (8 + 1 + 8) = 51
现在 60 了
我不知道你到底哪些进程用到了数据库,我只是给你个计算方法,你自行计算可能的上限值
按照你上面的截图, 很可能就是 3 x (8 + 1 + 8 + 8) = 75
按照手册要继承 support\think\Model
继承了之后,使用 model 的操作数据库,连接池是自动的还是需要手动。
现在我是继承的 thinkphp orm 的 model,数据库会不断的累加 Sleep 连接,也不释放
自动的,连接池就是要维持连接不立刻释放。通过配置可以控制连接空闲多久就释放,保留多少连接不释放(最小连接数控制)
“现在我是继承的 thinkphp orm 的 model,数据库会不断的累加 Sleep 连接,也不释放” 这是 thinkphp orm 本身的问题吗?
使用连接池是否需要 PHP 安装 swoole?
现在版本继承 thinkphp orm 的 model 也兼容会开启连接池,但是不保证以后一直兼容,要用连接池按照手册写。
连接池会自动控制连接数,连接不会立刻关闭,最大连接数可控,例如连接池开启最大5个连接,一共10个进程,那么webman最大使用50个数据库连接。数据库有累加Sleep 连接正常,最大不会超过一定值,而且空闲时会自动减少连接。
目前数据库连接池需要swoole
swoole 通过宝塔面板 php 扩展安装可以吗?还是需要手动编译安装,修改特定的参数
Swoole 版本有要求吗?4/5/6?
swoole5 6都可以,尽量用新版
thinkphp orm pool max_connections 是 3
现在有 58 个 Sleep 连接了。Sleep 连接时间一直在更新,但不超过设定的 idle_timeout,但连接没被回收
看后面的count,连接上限为3 (需要用到数据库连接的进程数之和), 你上面可能用到的 有webman 8 task 1 comsumer 8 , 那就是 3 (8 + 1 + 8) = 51
现在 60 了
我不知道你到底哪些进程用到了数据库,我只是给你个计算方法,你自行计算可能的上限值
按照你上面的截图, 很可能就是 3 x (8 + 1 + 8 + 8) = 75