database.yml 中最广泛使用的选项如下:
adapter
encoding
database
pool
username
password
socket
host
port
timeout
上面大部分的用法我都知道,除了pool。
所以我想知道database.yml中的池选项有什么用,或者我们需要为流量非常大的应用程序设置任何其他参数。
它设置每个 ruby 进程可能的连接数量。因此,如果您正在线程化您的 Rails 应用程序,或者您过度使用事务。这里的限制取决于您的设置。考虑一下:
- 50 道红宝石工艺
- 每个有 100 个线程
- 一个设置为 1000 个并发连接的 mysql
因此,每个进程在给定时间最多可以打开 20 个连接 (50 * 20 == 1000),这是有道理的。所以你会设置pool
值为 20 或更小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)