Tag: profiling

我怎样才能完整地分析Rails应用程序,而不仅仅是控制器?

可能重复: 您建议使用哪些工具来配置Rails应用程序? 我的rails应用程序需要约2秒钟来响应POST请求,我无法弄清楚原因。 当我使用像newrelic这样的传统分析工具或挂钩到unit testing的东西时,他们告诉我所有的请求都很快,不到20毫秒。 但是当我真正计算时间时,它们需要2秒钟。 GET请求很快。 使用mongrel在开发和生产模式中都会发生这种情况。 所以我怀疑是有些gem做了不必要的工作。 我该如何追踪? 如果这是其他类型的服务器而不是Rails,我只会分析正在运行的服务器,但Rails分析解决方案似乎只是简介控制器代码。

如何配置使用rack-mini-profiler返回json响应的rails控制器?

我在rails 3.2项目中使用rack-mini-profiler。 在gemfile中: gem ‘rack-mini-profiler’ 一切都很好。 但我的应用程序主要是一组json端点。 因此,虽然能够检查html页面的性能非常有用,但我还希望能够看到返回json的控制器的性能。 我的控制器示例: class UsersController < BaseController def json_method # you don't see the mini profiler ui for this controller render json: { users: [:foo, :bar]} end end 如果我去localhost:3000/users/json_method ,我会看到我的json响应但不是profiler ui。

如何使用perftools和bundler来分析RSpec?

我需要分析我通常使用bundle exec rspec spec/运行的测试套件并生成GIF图像。 运行perftools.rb以使其与bundler一起正常工作的命令是什么?

分析Ruby代码

除了ruby-prof和核心Benchmark类之外,你用什么来分析你的Ruby代码? 特别是,您如何找到代码中的瓶颈? 几乎感觉我需要使用自己的小工具才能找出在我的代码中花费的所有时间。 我意识到ruby-prof提供了这个,但输出坦率地说非常混乱,并且不容易找出你自己的代码的哪些实际块是问题的根源(它告诉你哪些方法调用占用了最多的时间)虽然)。 所以我并没有像我想的那样得到更多的东西,而且还没有真正能够利用它。 也许我做错了? 还有替代品吗? 谷歌搜索不会为我带来任何东西。

在分析ruby应用程序时是否可以忽略不相关的方法?

使用以graph-html模式打印的ruby-prof时,一种方法的报告说(有一些剪辑) %Total %Self Total Self Wait Child Calls Name Line 52.85% 0.00% 51.22 0.00 0.00 51.22 1 ClassName#method_name 42 51.22 0.00 0.00 51.22 1/3 Hash#each 4200 显然,不是Hash#each需要花费很长时间,而是Hash#中的yield block。 查看Hash#的报告每个都令人困惑,因为它报告了使用Hash#each的所有代码调用的所有代码。 是否有可能要求ruby-prof将有关产生的代码的信息放在ClassName#method_name的报告中? 使用min_percent或切换到平面配置文件似乎没有帮助。