当使用 DBaaS(数据库即服务)(例如 Xeround)和托管在 EC2 实例上的 Rails 应用程序时,如何限制与数据库的并发连接数(根据数据库服务计划限制)?有必要这样做吗?
我知道 ActiveRecord 连接池是每个进程并且是线程安全的,但是如果有多个进程(也跨多个不同的机器)怎么办?
当使用 DBaaS(数据库即服务)(例如 Xeround)和托管在 EC2 实例上的 Rails 应用程序时,如何限制与数据库的并发连接数(根据数据库服务计划限制)?有必要这样做吗?
我知道 ActiveRecord 连接池是每个进程并且是线程安全的,但是如果有多个进程(也跨多个不同的机器)怎么办?
不幸的是,没有办法正确限制跨多个客户端(应用程序)的连接数。唯一的方法,几乎是静态的和经验的,是将最大允许连接数除以应用程序数,并将结果设置为每个应用程序的连接数限制。
使用连接池基类来管理 Active Record 数据库连接。