Rails 3.2.21 和 Ruby 2.0 性能测试问题

Rails 3.2.21 and Ruby 2.0 Performance Test Issues

运行 一个 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]

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

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

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