我有一个Rails应用程序,可以根据请求下载SQLite数据库,保存为TempFile
并使用ActiveRecord::Base.establish_connection
连接到它。所有应用程序都将整个数据库作为JSON返回(数据库大小约为10 MB)。在每次请求之后,我明确地呼叫ActiveRecord::Base.connection.disconnect!
。每次请求到我的应用程序后(在我的开发框上)我都注意到应用程序使用的内存量似乎在不断增加。我怎么能阻止这种幸福呢?
仅限某些数字:
当我启动我的应用程序时,每个工作人员使用大约100-200米的内存。在少于100个请求(每个请求拉出相同的DB)之后,每个工作者使用500米。我已经看到每个增长到大约700米,此时我必须杀死服务器,因为我的桌面滞后太多。
答案 0 :(得分:1)
如果它确实是ActiveRecord缓存问题,请尝试删除它(它是中间件)
在application.rb中:
config.middleware.delete "ActiveRecord::QueryCache"