0

我正在使用 SessionStore 将我的 jruby Rails 会话存储在 postgres 数据库中。连接池配置为:

pool: 10
timeout: 5000

在我的测试中,我发现大约有 15 个连接时,我开始收到以下错误:

ActiveRecord::ConnectionTimeoutError (could not obtain a database connection within 5 seconds.  The max pool size is currently 10; consider increasing it.)

看来这失败得太早了。10 个数据库连接肯定可以支持超过 15 个并发用户吗?我只使用这个数据库来访问会话,所以我假设每个请求只使用连接一小段时间。这些故障发生在合理的时间吗?

Rails 如何使用数据库连接进行会话存储?它是在请求的长度内保持数据库连接,还是在每个请求开始时简单地加载一次?关于可能导致这种不良数据库连接使用的任何想法?

4

0 回答 0