0

问题

突然之间,如果资产发生变化,我的 rails 应用程序开始需要大约 60 秒来处理初始请求和顺序请求。

我尝试了什么

SO上有很多关于“rails,render,slow”的答案,但没有一个有帮助,因为问题似乎出在不同的领域。

然后我尝试将 gem 版本回滚到不存在此问题的旧点。没运气。我没有更新系统中的任何东西(rvm,自制软件),所以没有什么可以回滚的。

然后我安装了ruby-profprofiler 并看到 rails 一直在执行V8::C::String#Utf8Value,但我无法从中得到任何东西。

诊断信息

我使用 OSX Mavericks。

服务器日志:

在 2014 年 4 月 8 日 05:30:49 +0200 开始 GET "/" for 127.0.0.1 +0200 由 HomeController#index 处理为 HTML 用户负载 (0.3ms) 选择 "users".* 从 "users" WHERE "users"。 "id" = 1 ORDER BY "users"."id" ASC LIMIT 1 在布局/应用程序中渲染 home/index.html.erb (64211.8ms) 在 64248ms 内完成 200 OK (查看次数: 64218.0ms | ActiveRecord: 2.1ms)

探查器日志(水平滚动):

 %total   %self      total       self       wait      child            calls    Name
--------------------------------------------------------------------------------
                     61.042      0.000      0.000     61.042              2/2      V8::Conversion::Fundamental#to_ruby
  87.50%   0.00%     61.042      0.000      0.000     61.042                2      V8::Conversion::NativeString#to_ruby
                     61.042     61.042      0.000      0.000              2/2      V8::C::String#Utf8Value
--------------------------------------------------------------------------------
                     61.042     61.042      0.000      0.000              2/2      V8::Conversion::NativeString#to_ruby
  87.50%  87.50%     61.042     61.042      0.000      0.000                2      V8::C::String#Utf8Value
--------------------------------------------------------------------------------
                      8.528      0.000      0.000      8.528              4/4      Proc#call
  12.22%   0.00%      8.528      0.000      0.000      8.528                4      V8::Error::Try#try
                      8.528      0.000      0.000      8.528              4/4      <Module::V8::C>#TryCatch
--------------------------------------------------------------------------------
4

0 回答 0