gpt4 book ai didi

ruby-on-rails - Rails - 请求的完成时间明显高于 View 和 DB 时间

转载 作者:行者123 更新时间:2023-12-03 23:49:42 25 4
gpt4 key购买 nike

我有一个 Controller ,它从一个相当复杂的关系查询返回 JSON 或 XML,以及一些 Controller 逻辑。

我通过优化我的查询并确保我的索引对于我的查询是正确的,在数据​​库方面进行了调整。

在我的日志中,我看到这样的项目:

Completed in 740ms (View: 1, DB: 50)

所以如果我理解正确,这意味着 View 需要 1 秒来呈现,而数据库查询是 50 毫秒。所有剩余时间都在 Controller 中吗?我试过绕过我的 Controller 逻辑,只是把我的 to_json 和 to_xml 留在那里,它同样慢。作为引用,我返回的平均 JSON 结果集是 168k。

是否还有其他步骤可以及时完成?它是否包括网络传输的最后一个字节之前的时间?

更新:我将 Controller 的各个部分包装在基准测试块中:
self.class.benchmark("Active Record Find") do
#my query here
end

我发现即使日志行显示 DB: 50 我的事件记录查找几乎占用了所有剩余时间。所以现在我对 DB 编号的含义感到困惑,以及为什么基准线会说 ~ 600 毫秒,但 DB: 时间将是 ~50。

谢谢

最佳答案

您的数据库编号是实际在数据库中花费的时间,但不是加载 ActiveRecord 对象的时间。

因此,如果您要加载 168,000 个 ruby​​ active_record 对象以将其呈现为 JSON,这将解释您的 550 毫秒(或更多!)

关于ruby-on-rails - Rails - 请求的完成时间明显高于 View 和 DB 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7491663/

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