我正在开发一个部署在Heroku上的Rails 3应用程序,它希望进行优化。我已经探索了不同的解决方案,例如query_reviewer或New Relic。
我无法使query_reviewer与Rails 3.0.1一起工作(我也不得不切换到MySql,因为不支持PostgreSQL)。
关于New Relic,它看起来像一个很棒的免费工具,但仅适用于制作。在开始调整生产中的应用程序之前,我首先需要在开发过程中改进许多数据库查询。
所以这些工具都不符合我的需求。
有什么建议吗?也许我应该只依赖日志跟踪并减少SQL查询的数量?
答案 0 :(得分:1)
你想知道哪些活动不是绝对必要的,如果你能“修剪”它们会节省很多时间吗?
原谅我是一个单轨回答者,但有一个简单的方法可以做到这一点,并且很容易证明。
当代码运行缓慢并让你等待时,用Ctrl-C或其他手动中断它,并检查堆栈跟踪。这样做几次。
你看到它在多个堆栈跟踪上做的任何事情都要占很大一部分时间,并且确切地说并不重要。如果它是你可以修剪的东西,它将会有更少的工作要做。
如果这种方法的功效看起来很可疑,因为它技术含量低,这是可以理解的,但事实上它可以很快发现任何探查者都能找到的任何问题。
答案 1 :(得分:0)
我发现New Relic有一个开发模式,看起来像是在开发阶段优化应用程序的理想设置:http://support.newrelic.com/kb/docs/developer-mode