【问题标题】:Why does adding files to the app directory make the server slow?为什么将文件添加到应用程序目录会使服务器变慢?
【发布时间】:2016-01-13 00:58:09
【问题描述】:

我似乎找不到这方面的任何信息。

在我的 app 文件夹(我有模型、视图、控制器文件夹等)中,我创建了一个子目录 app/data,我在其中放置了大约 10,000 个文件。在那之后,我的 Rails 开发服务器非常慢。

这是什么原因?我可以将 Rails 配置为忽略某些文件/文件夹吗?我认为这与 Ruby/Rails 的动态特性有关?

【问题讨论】:

  • 10,000 个文件?它们是干什么用的?将大量文件放入单个目录中,如果必须找到某些东西,它将使操作系统或应用程序陷入困境。相反,设计和使用目录层次结构来减少每个目录的文件数量,或者更好的是,尝试将文件放入数据库并从中提供服务。

标签: ruby-on-rails ruby


【解决方案1】:

如果您直接在app/ 下添加目录,则此目录中的所有文件在生产中默认急切加载,在开发中默认延迟加载

尝试在config/initializer.rb中添加这个:

path = Rails.root + "app/data"
ActiveSupport::Dependencies.autoload_paths -= [path.to_s]

这是从自动加载路径中删除add/data

【讨论】:

【解决方案2】:

嗯,之前的答案是正确的,但对我来说,最好把这些东西放在别的地方,因为它绝对不是应用程序代码,例如,它不应该被添加到 git 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多