gpt4 book ai didi

ruby-on-rails - Rails 3.1 线程安全被破坏

转载 作者:行者123 更新时间:2023-12-04 06:14:54 24 4
gpt4 key购买 nike

或类似的东西。我已经将几个应用程序从 Rails 3.0 升级到 Rails 3.1。它们在启用了多线程选项的 Thin 上运行,它们都配置了线程安全!。在 Rails 3.0 中工作得很好。但是在 3.1 中,在几次请求之后,事情开始变慢了。再发出几次请求后,页面会挂起 N 秒(其中 N 是我的数据库超时),并且出现此错误:

ActiveRecord::ConnectionTimeoutError (could not obtain a database connection within 5 seconds.  The max pool size is currently 5; consider increasing it.):

这些默认值 5 和 5 已经在过去找到了,应该仍然可以。同样增加它们并不能解决问题,尽管需要更长的时间才能显现出来。我要强调的是,在这些时间里,我是唯一访问应用程序的人。当我将 Thin 降为单线程模式时,一切都按预期进行。

MySQL、SQLite、Ruby 1.8.7 和 Ruby 1.9.2 会出现这种情况。薄不变。我能找到的唯一变量是升级到 Rails 3.1。有什么我可以做的,或者这是 Rails 的回归?

最佳答案

看起来这是一个错误。有一个补丁和拉取请求。希望 Rails 将其合并。在那之前,多线程 Rails 应用程序将无法在 Thin 上运行。

https://github.com/rails/rails/pull/1670

关于ruby-on-rails - Rails 3.1 线程安全被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7583439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com