ruby-on-rails - 如何计算通过 Mongoid 访问/查询数据库的次数?
问题描述
我在 Rails 项目中使用 Mongoid。为了提高大型查询的性能,我使用include 方法来预先加载关系。
我想知道是否有一种简单的方法来计算代码块执行的实际查询次数,以便我可以检查我是否includes
真的按预期减少了数据库访问次数。就像是:
# It will perform a large query to gather data from companies and their relationships
count = Mongoid.count_queries do
Company.to_csv
end
puts count # Number of DB access
我想使用此功能添加 Rspec 测试,以证明我的查询在更改后仍然有效(例如,从新关系添加数据时)。例如,在 python 的 Django 框架中,可以为此使用assertNumQueries方法。
解决方案
检查 r ubygems.org并没有产生任何似乎可以满足您需求的东西。您最好研究一下应用性能工具,例如New Relic、Scout或DataDog。您也许可以通过以下方式获得一些标准基准规范
推荐阅读
- python - 如何读取没有 [ ] 的 .json 文件?
- jquery - jQueryFileUpload - S3 - 空文件上传结果错误
- macos - OS X 是否有任何类似于 linux 中的 on_each_cpu() 的内核函数
- java - SonarQube 漏洞 - S3749 - @Config 问题
- java - 强制 AWS 库从 docker 集群内的环境中获取区域
- javascript - Firebase 使用 JavaScript 按钮删除整行
- c++ - 链接外部共享库android ndk
- c# - Taglib 艺术家字符串错误 System.String[]
- java - Android 将按钮或视图保留在应用内所有活动的前面,而不使用 baseActivity
- c - ncurses.h 扩展字符在 c 中无法正确显示