【问题标题】:Rails 3.2.21 and Ruby 2.0 Performance Test IssuesRails 3.2.21 和 Ruby 2.0 性能测试问题
【发布时间】:2015-05-15 11:13:03
【问题描述】:

运行 Rails 性能测试时,输出中的内存和对象不受支持。对于 ruby​​ 1.9x,可以安装 gcdata 补丁。但是,我不知道如何为 ruby​​ 2.0 安装它。

当我跑步时:

bundle exec rake test:benchmark RAILS_ENV=test

我明白了:

BrowsingTest#test_homepage (247 ms warmup)
           wall_time: 3 ms
              memory: unsupported
             objects: unsupported
             gc_runs: 0
             gc_time: 0 ms
 = 1.42 sFinished tests in 1.500688s, 0.6664 tests/s, 0.0000 assertions/s.
1 tests, 0 assertions, 0 failures, 0 errors, 0 skips

我有 Rails 3.2.21 和 Ruby 2.0:

ruby 2.0.0p598(2014-11-13 修订版 48408)[x86_64-darwin14.1.0]

【问题讨论】:

    标签: ruby-on-rails-3.2 benchmarking ruby-2.0


    【解决方案1】:

    gcdata 补丁仅适用于最新版本的 1.9.3。 Ruby >= 2.0.0 没有 gcdata 补丁。 在我看来,对于这个问题,您有两种选择:

    1. 保持应用程序的一个分支运行 Rails 1.9.3 的补丁版本,并在那里运行测试。 缺点是结果可能不是 100% 准确,如果您使用 Ruby 2 语法,您的分支将会中断。

    2. 寻找另一种方法来测试内存使用情况和创建的对象,或者在您的新应用程序中完全不使用该选项。 好消息是 Ruby 2+ 现在可以更好地处理垃圾收集,并且您不应该耗尽内存(除非您有兴趣为您的应用进行数字比较)。

    【讨论】:

      猜你喜欢
      • 2011-04-05
      • 2012-05-13
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多