【发布时间】:2016-05-10 12:51:32
【问题描述】:
我在使用 Rails 和我的 MySQL RDS 实例时遇到问题。我通过我们的 database.yml 文件将我的 rails 应用程序连接到它,该文件具有 10 个(现在 5 个)连接池。前几天,数据库的另一个用户尝试运行存储过程,但它不会执行。它被卡住了,只是在等待执行。用户查看了进程并注意到我们的 rails 用户有大约 30 个空闲进程,因此他们杀死了其中的一些。存储过程随即启动并毫无问题地运行。
我们在一个 r3.xlarge 实例上,在出现问题时总共有大约 100 个进程。这对我来说似乎并不高,我不确定为什么如果不释放一些进程就无法执行该过程。我想我的问题是,有没有办法告诉我的 Rails 应用程序在 x 秒后释放其中一些空闲连接,或者更好地控制这些连接?我可以编写一个 cron 来释放它们,但我很想用 rails/best 方式来做。
感谢您的帮助!
【问题讨论】:
标签: mysql ruby-on-rails stored-procedures rds