基准控制器+视图一起,多次一次性

时间:2012-01-20 02:13:59

标签: ruby-on-rails ruby ruby-on-rails-3 benchmarking

我正在学习如何在控制器/视图中对两个实现进行基准测试。他们正在做同样的事情,但一个在视野中完成,另一个在控制器中完成。代码如下所示。我的问题是:

  1. 是否可以一次性测量相同动作所拍摄的100次?
  2. 是我目前正确测量视图+控制器时间组合的基准吗?
  3. 有没有更好的方法呢?
  4. ```

      def sort_in_view
        self.class.benchmark("$sort in view") do
          @regions = Region.all
    
          respond_to do |format|
            format.html
          end
        end
      end
    
      def sort_in_controller
        self.class.benchmark("$sort in controller") do
          @regions = {}
          Region.all.each do |r|
            @regions[r] = r.countries.order_by_name
          end
    
          respond_to do |format|
            format.html
          end
        end
      end
    

2 个答案:

答案 0 :(得分:1)

为了多次运行每个案例以获得更准确的平均值,我最后使用了Apache Benchmark。

ab -c 1 -n 100 http://example.com/regions

这将运行请求100次(并发为1),并为您提供平均值和百分位数的详细摘要。我对我的本地机器进行基准测试,因为不需要浏览器渲染,所以节省了时间。

答案 1 :(得分:0)

查看benchmaek结果,只需查看您的Rails日志