【问题标题】:Database tuning performance from play framework in play scala projectplay scala项目中play框架的数据库调优性能
【发布时间】:2014-11-21 10:32:33
【问题描述】:

https://www.playframework.com/documentation/2.0/SettingsJDBC 谈到了一些额外的调优性能参数,但没有提及关于最佳或中等设置的建议/建议。

想知道是否有人对这些附加调优性能参数有任何建议/建议?

另外,我经常遇到以下 SQL 错误。想知道这是否与调整设置有关,因为我有所有稳定的构建,例如 bonecp 0.8.0.RELEASE、播放 2.2.2、播放 Slick 0.6.0.1 等。

Caught SQLException!
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after  connection closed.

真的很感谢对此的任何回应吗?

【问题讨论】:

    标签: database scala playframework-2.2 mysql-error-1064 slick


    【解决方案1】:

    根据异常消息,您希望在已关闭的连接上应用数据库操作(无论创建、选择、更新或删除可能是什么)。你能过去一些代码吗?

    顺便说一句:我也在运行 bonecp 0.8.0,使用此(开发)配置我没有遇到这些异常:

    db {
      default.driver=org.postgresql.Driver
      default.url="jdbc:postgresql://.../database"
      default.user=some-user
      default.password="some-pass"
      default.logStatements=true
      default.maxConnectionAge=0
      default.logStatements=true
      default.maxConnectionAge=0
      default.partitionCount=1
      default.maxConnectionsPerPartition=10
      default.minConnectionsPerPartition=5
    }
    

    也许您可以在检查“BoneCpPlugin”时尝试调整配置设置:“https://github.com/playframework/playframework/blob/879588fd9d1b1cdeb800f904a454014e51a8568e/framework/src/play-jdbc/src/main/scala/play/api/db/BoneCPModule.scala

    【讨论】:

    • 没错。但我自己并没有关闭连接。 Play Slick 为我处理。我所做的就是将我的代码包装在“Database() withTransaction {implicit session => //any operation like insert/read etc”中,我认为 Slick 会相应地处理。
    • 通过这个线程可能有用bugs.launchpad.net/bonecp/+bug/1243551
    • 我明白你的意思......但同样,我没有遇到这些问题。如果(!?)我没记错,大约一年前,我在使用 BoneCP 0.7.x 时也遇到了某种“连接关闭”问题。不确定在较新的版本中是否已解决,或者是设置“maxConnectionAge=0”。
    • 是的,这(default.maxConnectionAge=0)也是我之前的帖子所建议的。让我试一试。顺便说一句,它只发生在生产中(不是本地)
    • @zochhuana @tfh maxConnectionAge=0 没有瓶颈,零值意味着永远不会强制关闭连接。见这里:github.com/wwadge/bonecp/blob/master/bonecp/src/main/resources/…
    【解决方案2】:

    我认为您可以在 applications.conf 文件中添加“db.default.maxConnectionAge=0”代码。这一行代码就够了。

    【讨论】:

    • 嗨巴拉,请参考第一个答案的cmets。您建议的设置可能会解决此问题,但也有不利的一面。
    猜你喜欢
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 2019-04-11
    • 2016-08-17
    • 2013-05-27
    • 2015-01-20
    相关资源
    最近更新 更多