Postgres SessionStore与许多并发用户

时间:2012-11-28 20:57:59

标签: ruby-on-rails session activerecord database-connection

我正在使用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个DB连接可以支持超过15个并发用户?我只使用此数据库来访问会话,因此我假设每个请求仅在一小段时间内使用该连接。这些失败是在合理的时间发生的吗?

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

0 个答案:

没有答案