分析 Ruby / Ruby on Rails 应用程序的性能

7

我希望了解在对 Ruby 或 Ruby on Rails 程序进行分析时需要考虑哪些方面(如内存使用情况、请求分配速度、与外部程序(如 DB)连接的速度),以及有哪些最佳工具(从概念和基础层面上)可用。


谢谢大家。然而,我更关注性能分析的概念概述以及一些Ruby特定的工具和技巧。 我已经使用过New Relic RPM,但它基本上自己完成了很多工作。我更想从学习的角度出发,因此希望使用一些基本工具自己应用这些概念。 - Vaibhav Gumashta
您的评论似乎使问题变得模糊和晦涩。您想要用于Ruby概要分析的工具,但又不想使用专门针对Ruby的工具?查看执行这项任务的开源工具的源代码,可能有助于您获得所需的概念性理解。特别地,您可以查看我在回答中提到的Joe Damato的工具的源代码。这些工具的Github链接可以在各自的链接中找到。相关文章深入探讨了概要分析背后的问题。 - Mark Carey
马克,我所关注的是理解 Ruby 性能分析的两个步骤: 1)通用概念:内存中的对象,垃圾回收,速度等 2)Ruby 特定工具来应用这些概念。 我尝试寻求的好处有: 1)获得一个一般性的想法,如何对应用程序进行性能分析(不深入 - 通用) 2)由于我熟练使用 Ruby 和 Rails 进行编程,可以在实时应用和程序中检查这些通用概念的实现希望这样更清楚! - Vaibhav Gumashta
我必须在这里补充一点:我在一个Unix版本——Ubuntu上工作。 - Vaibhav Gumashta
4个回答

2

我不确定这是否有帮助,但我在某篇文章中读到过,Java是针对Ruby on Rails应用程序最好的性能分析工具。理念是在JRuby上运行它们,并使用JProfiler或其他Java性能分析工具来分析您的Rails应用程序。

另外一个我知道的可能性是Relic RPM,一个专门为Rails应用程序提供性能分析的商业应用程序。


这是一个有趣的想法。我想,按照这个逻辑,如果你能让Rails在IronRuby上运行,那么你就可以使用一些.NET性能分析工具。 - jerhinesmith

1

如果您在Mac上编程,您可能想查看DTrace

我目前个人使用的是Linux,所以无法评价它的价值,但是我已经在各种Rails书籍中多次看到它的提及。

它最初由Sun开发用于Solaris,但我相信它现在已预装在Mac OS X Leopard上。


1

0

我调查了许多工具(memory-profiler、rb-prof...),最终使用了:oink


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接