Completed 200 OK in 1266.4ms (Views: 137.0ms | ActiveRecord: 61.5ms) 这是在 development 环境下 log 的输出,views 137ms, ActiveRecord 61.5ms 但总耗时是 1266.4ms 这是总么计算的?还是我忽略掉了什么呢
如果是虚拟机里面,可能是文件共享导致的磁盘性能低。可以替换其他同步方案 https://docs.vagrantup.com/v2/synced-folders/index.html
或者是被其他系统性能拖慢。
#1 楼 @rei 不是虚拟机,其他系统性能指的是?
#2 楼 @tsinghan 不知道,你可以换个环境试试。
除了 view 和 db,应用还有没有别的耗时操作?
在连接上?
#4 楼 @rei 再就是 memcached,其他的没有了
#5 楼 @Ddl1st 在连接上 是什么意思?
是不是编译 coffee 等
#8 楼 @hw676018683 不是,编译 coffee 的话,log 里面就显示了
前一阵也发现这个问题了。经测试是 action 里的耗时没有显示出来。在 action 里加一个sleep可以明显察觉这个问题。
sleep
#10 楼 @santochancf 我试试去 谢谢
前几天也发现类似问题,是 development 环境。 一行一行的 debug 下,最后在把 coffee 和 css 两行注释掉后,明显秒开了。
@tsinghan 可以看一下这个what-is-rails-doing-after-it-logs-200-ok-debugging-slow-response-time。
#13 楼 @rubyist518 #12 楼 @nine 我尝试把 js,和 css 给注释掉了,但是还是没什么太大变化,你是怎么 debug 的?
#14 楼 @tsinghan 二分查找法啊 注释掉一半代码,看看速度有没有提升。
我也遇到过这种问题,想了想觉得可能是因为我们用到了active_resource,这就和网络情况有关系了。
active_resource
@tsinghan 可以用rack-mini-profiler看一下时间消耗在哪部分,然后细分一下看看。
在 development 环境下,每个 request 都会 load 文件,这个也是会耗时的。然后如 #10 楼 @santochancf 所说,在 action 里面的 logic 耗时也是没有算进来的。
ActiveRecord: 61.5ms
这个时间是不是就是数据库查询的时间呢?这个时间的计算是从哪个时刻开始哪个时刻结束呢?求解答
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル