![](/img/trans.png)
[英]Rails: how can I test a stopwatch in my Capybara integration tests?
[英]Can I reuse my integration test suite to profile a Rails app?
关于Rails分析的大多数文章都推荐Ruby-Prof 。 要使用Ruby-Prof
我需要为每个控制器动作编写至少一个新测试,然后手动比较结果以查看花费时间最长的结果,并可能是进行优化的候选方法。
如果我已经完全知道我要关注的请求,那么这很好。 如果我首先要确定热点,那就不好了。 鉴于我已经有一个庞大的集成测试套件,涵盖了我关心的所有应用程序功能,看来我真正想要做的是:
Ruby-prof
或其他分析工具来深入研究调用堆栈。 最坏的情况将确定可能有问题的请求参数(即,在后端触发缓慢的代码),而在编写性能测试时,我不必全盘考虑。 人们是否有某些理由不以这种方式使用集成测试套件,而不是基本上用第二个性能测试套件来复制它? 我没有看到它的建议。 在我编写代码以执行类似操作之前(大概在ApplicationController
使用before_action
,是否已经before_action
于此的工具?
我认为自动化测试不会告诉您有关性能的任何信息。 您需要真实的数据。 例如,您的测试可能不会使用索引,但是如果您创建10,000条没有索引的记录,则可能会发现性能问题。
我需要为每个控制器操作至少编写一个新测试
为什么要对每个控制器动作进行性能测试?
以我有限的经验,性能测试是在部署应用程序并测试非常具体的东西之后进行的。 我测试了很慢的代码块或我认为可能很慢的代码。
另外,如果您使用在线性能工具,则无需更改代码。 联机工具针对已部署的应用程序实例运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.