jwk*_*koo 7 node.js express sequelize.js connection-pool
现在我正在阅读一篇关于http://docs.sequelizejs.com/manual/installation/getting-started.html的文章
并且无法理解下面写的这句话。
如果您从多个进程连接到数据库,则必须为每个进程创建一个实例,但每个实例的 最大连接池大小应为“最大连接池大小除以实例数”。因此,如果您希望最大连接池大小为 90,并且您有 3 个工作进程,则每个进程的实例的最大连接池大小应为 30。
pool: {
max: 5,
min: 0,
idle: 10000
}
Run Code Online (Sandbox Code Playgroud)
连接池大小是多少?这是最大的意思吗?
我现在正在理解这样的连接池。如果“max”为 5,并且有 3 个用户想要访问数据库,则会为单个用户分配 3 个连接。
而如果有6个用户要获取DB,5个连接都分配给单个用户,由于只有5个连接,第6个用户必须等待。
所以我无法理解
每个实例的最大连接池大小应为“最大连接池大小除以实例数”。
任何人都可以解释一下吗?
这是一个非常广泛的问题,但这里是非常广泛的概述
每当我们连接到数据库服务器时,它实际上会派生一个新进程来满足该请求。如您所料,这很昂贵。因此池允许我们保持数据库服务器中活动的进程数量。max意味着无论您的应用程序(节点)收到多少请求,它都不会与数据库服务器打开新进程。
如果有6个用户想要获取数据库,则5个连接都分配给单个用户,并且由于只有5个连接,因此第6个用户必须等待。
在上述情况下,只有 5 个并行请求可以与 db 服务器(而不是应用程序服务器)一起运行
这是一个很好的阅读链接
| 归档时间: |
|
| 查看次数: |
6301 次 |
| 最近记录: |