【问题标题】:active_admin resource/index.html.arb slownessactive_admin 资源/index.html.arb 缓慢
【发布时间】:2011-12-26 13:54:45
【问题描述】:

使用 active_admin 时,我发现为具有许多记录的模型加载索引时速度很慢。我不确定这与其他报告的缓慢案例有关。

2011-11-10 13:26:14 rails[35848] 信息:在 2011 年 11 月 10 日星期四 13:26:14 -0800 开始获取 127.0.0.1 的“/admin/articles” 2011-11-10 13:26:14 rails[35848] 信息:由 Admin::ArticlesController#index 作为 HTML 处理 2011-11-10 13:26:14 rails[35848] DEBUG: AdminUser Load (0.3ms) SELECT "admin_users".* FROM "admin_users" WHERE "admin_users"."id" = 1 LIMIT 1 2011-11-10 13:26:14 rails[35848] 调试:文章加载(381.2ms)选择“文章”。*从“文章”按发布日期顺序排列,引导描述,“文章”.id 描述限制 30 偏移量 0 2011-11-10 13:26:14 rails[35848] 调试:SQL(0.5ms)从“文章”中选择计数(*) 2011-11-10 13:26:14 rails[35848] 调试:缓存(0.0ms)从“文章”中选择计数(*) 2011-11-10 13:26:14 rails[35848] 调试:缓存(0.0ms)从“文章”中选择计数(*) 2011-11-10 13:26:21 rails[35848] DEBUG: PendingArticle Load (6602.8ms) SELECT "pending_articles".* FROM "pending_articles" ORDER BY created_at desc 2011-11-10 13:26:41 rails[35848] DEBUG: Domain Load (1.0ms) SELECT "domains".* FROM "domains" 2011-11-10 13:26:41 rails[35848] 信息:渲染/Users/sorens/.rvm/gems/ruby-1.8.7-p299@rails3/gems/activeadmin-0.3.4/app/views/active_admin /resource/index.html.arb (27605.5ms) 2011-11-10 13:26:41 rails[35848] INFO: Completed 200 OK in 27645ms (Views: 20629.0ms | ActiveRecord: 6985.8ms)

这是对/admin/articles 的请求。我的文章模型有一个belongs_to :pending_article。 pending_article 有has_one :article, :autosave => true

我有几个问题

(1) 我可以阻止这个额外的查询吗?我没有从文章的索引视图访问任何pending_article 中的任何字段。似乎文章查询通过分页正确限定了范围,但对 pending_article 的后续查询似乎全部抓住了它们。

(2) 如果index.html.arb 只显示 30 条记录,为什么它的渲染需要 27 多秒?

我正在使用 Ruby 1.8.7-p299、Rails 3.0.5 和 active_admin 0.3.4。以上输出来自我的开发环境(在 Heroku 上需要更长的时间)。在上面的示例中,我有 10,708 篇文章和 17,648 篇未决文章。

【问题讨论】:

    标签: ruby ruby-on-rails-3 activeadmin


    【解决方案1】:

    默认情况下,表单为每个属性都包含一个过滤器,这意味着它正在尝试为所有待处理的文章创建一个漂亮的弹出窗口。尝试使用以下方式定义过滤器列表,而不是仅使用默认值:

    ActiveAdmin.register Article do
      filter :title
    end
    

    一定要跳过pending_articles。这应该会阻止它加载所有这些记录。

    【讨论】:

      猜你喜欢
      • 2022-08-24
      • 1970-01-01
      • 2015-11-06
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 2022-12-04
      • 2012-07-05
      • 1970-01-01
      相关资源
      最近更新 更多