我在heroku上有一个play应用程序,通过play-slick连接到postgres实例。当我部署一个新的应用程序时,大约30%的时间我会在我的日志中得到这样的信息:
java.sql.SQLTransientConnectionException: db - Connection is not available, request timed out after 1007ms. 当我重新启动应用程序时,它通常会重新启动,尽管有时需要几次尝试。
对于我能做什么来调试这个有什么建议吗?
发布于 2018-03-27 06:46:24
最有可能的是,有一段时间,旧的应用程序和新的应用程序都在尝试连接到数据库,这意味着您有两倍的最大允许连接活动。
有两种解决方案:
play-slick uses HikariCP到连接池,所以你可以用maximumPoolSize来配置你的最大连接数。
发布于 2018-03-30 09:35:25
我相信我已经知道问题出在哪里了。我使用了默认的heroku play Procfile,其中包含-Ddb.default.url=${DATABASE_URL},另外还有在我的conf中指定的巧妙的db url。去掉前者就解决了问题。
https://stackoverflow.com/questions/49498983
复制相似问题