我应该在database.yml中考虑我的池大小?

  发布于 2023-01-30 11:54

我一直在考虑设置适当的池大小(在database.yml中).

我在database.yml中使用了pool选项时遇到了类似的问题,但需要进一步了解这一点.

这是我的设置.我有运行Unicorn的实例有5个工作进程'.我也有Sidekiq实例,并发设置为5(我认为这是5个并发线程).

我的游泳池大小应该考虑什么?我应该考虑哪些其他因素?

这是我到目前为止的理解(引自我之前与之交谈过的工程师):

假设您将其保留为默认值5.这只是意味着,在"单个进程"中,池大小为5.池是每个进程.它不是系统范围的,因此值为5并不意味着您只限于5个进程,这意味着每个 进程都有自己的池,大小为5.

总之,每个实例的数据库池大小为5.这也意味着数据库池大小设置不是应用程序范围,而是每个进程/实例.这也意味着,因为Sidekiq和Unicorn将在自己的实例中运行.它将拥有自己的db池大小为5.这个假设是否正确?

此时,我可以假设默认池大小为5通常是安全的.你的意见?

PS.如果您可以共享AWS RDS实例的池大小.那将是值得赞赏的.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有