ruby-on-rails - 连接到多个数据库时,ActiveRecord 似乎会泄漏内存

标签 ruby-on-rails ruby activerecord

我有一个 Rails 应用程序,它根据请求下载 SQLite 数据库,将其保存为 TempFile 并使用 ActiveRecord::Base.establish_connection 连接到它。该应用程序所做的只是将整个数据库作为 JSON 返回(数据库大小约为 10 MB)。在每次请求之后,我都会显式调用 ActiveRecord::Base.connection.disconnect!。在对我的应用程序(在我的开发箱上)发出每次请求后,我注意到该应用程序使用的内存量似乎在不断增加。我怎样才能阻止这种情况发生?

只是一些数字:

当我启动我的应用程序时,每个工作人员使用大约 100-200 米的内存。在少于 100 个请求(每个请求拉同一个数据库)后,每个工作人员使用 500m。我已经看到每个增长到大约 700m,此时我不得不终止服务器,因为我的桌面滞后太多。

最佳答案

如果真的是ActiveRecord缓存问题,尝试去掉(是中间件)

在 application.rb 中:

config.middleware.delete "ActiveRecord::QueryCache"

关于ruby-on-rails - 连接到多个数据库时,ActiveRecord 似乎会泄漏内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24049831/

相关文章:

php - 如何将网页的结果嵌入到另一个网站的另一个网页中?

ruby-on-rails - 在站点之间共享 session 数据?

ruby-on-rails - RoR 从 ActiveRecord::Relation 中获取属性

javascript - 使用 Shrimp AngularJS 将 View 转为 pdf

ruby-on-rails - 在 Ruby 中通过递归嵌套哈希

ruby - 为什么需要 mongo 给我 LoadError : no such file to load -- openssl

ruby-on-rails - Rails-Thin 服务器在生产(实时)模式下停止。网站关闭

ruby-on-rails - 留下未使用的 REST 操作不好吗?

ruby-on-rails - 依赖于角色的关联

ruby-on-rails - Ruby on Rails 教程 : Chapter 9. 2 次测试失败