光滑的数据库配置更改为 URL,现在请求很慢

问题描述

我正在使用 Slick 访问本地计算机上的数据库。我之前使用的配置是

db = {
  connectionPool = "HikariCP" 
  dataSourceClass = "org.postgresql.ds.PGSimpleDataSource"
  properties = {
    serverName = "localhost"
    portNumber = "5432"
    databaseName = "postgres"
  }
  numThreads = 10
}

效果很好。

现在我正在部署到 Heroku。由于 Heroku 以环境变量的形式提供数据库访问权限,因此我更改了配置以使用 URL。请注意,所有这些仍在我的本地机器上运行:

db = {
  dataSourceClass = "slick.jdbc.DatabaseUrlDataSource" 
  driver = "slick.driver.PostgresDriver$"
  properties = {
    driver = "org.postgresql.Driver$"
    url = "jdbc:"${DATABASE_URL}
  }
  numThreads = 10
}

无论出于何种原因,性能已经慢到爬行。我设法通过了一些请求,但大多数都超时了。

我确认我的 url 正确解析为 jdbc:postgres://localhost:5432/postgres,并且我的 db.forConfig("db") method returns。我不明白为什么其他所有事情都需要这么长时间,我对查询返回的 Future 进行了超时/错误处理,所以我应该看到这一点,但我的客户端连接超时。

另一件事是现在没有ctrl+C是不可能退出程序的;我对其进行了设置,以便在我按下 Enter 键时它会正常终止,但现在它会通过终止例程(包括 db.close()),然后保持挂起状态,直到我强迫它死亡。怎么回事?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)