Rails'database.yml
文件有一个设置pool: 5
。我理解数据库连接池是什么,但我被一些细微之处绊倒了:
使用连接然后返回其池。然后,下一个请求可以使用池中的连接,而不是创建新连接。
假设在不同的数据库中,我将数据库连接池大小设置为5。
答案 0 :(得分:1)
1)ActiveRecord :: Base在需要时加载连接(在请求时延迟或当前关闭/断开连接)
2)不,相同的连接将用于进行多次查询
3)如果不使用数据库供应商随db提供的诊断实用程序
,则无法回答这个问题4)这是db供应商/适配器特定的
5)与3相同的答案。
如果您遇到速度减慢,解决这些问题的唯一方法是使用诊断工具来告知您的瓶颈在哪里。 90%的时间,它不是你的数据库或它的连接(它通常是索引,n + 1等...)
如果您没有遇到任何减速,请保留默认设置并继续。过早优化将导致过度设计的解决方案