Ruby on rails Rails视图呈现奇怪的缓慢
问题 突然之间,我的rails应用程序开始花费大约60秒的时间来处理初始请求和连续请求(如果资产发生了变化) 我试了什么 关于rails、render、slow,有很多答案,但都没有帮助,因为问题似乎在不同的领域 然后,我尝试将gem版本回滚到较旧的点,在这里不存在这个问题。不走运。我没有在systemrvm、homebrew中更新任何内容,因此没有可回滚的内容 然后我安装了ruby prof profiler,看到rails一直在执行V8::C::StringUtf8Value,但我无法从中获得任何信息 诊断信息 我使用OSX小牛 服务器日志: 于2014-04-08 05:30:49+0200开始获取/获取127.0.0.1 当HTML用户加载0.3ms选择用户时,HomeControllerindex进行处理* 来自用户,其中users.id=1 ORDER BY users.id ASC LIMIT 1 布局/应用程序64211.8ms内呈现的home/index.html.erb 在64248ms视图中完成200 OK:64218.0ms |活动记录:2.1ms 探查器日志水平滚动:Ruby on rails Rails视图呈现奇怪的缓慢,ruby-on-rails,performance,libv8,Ruby On Rails,Performance,Libv8,问题 突然之间,我的rails应用程序开始花费大约60秒的时间来处理初始请求和连续请求(如果资产发生了变化) 我试了什么 关于rails、render、slow,有很多答案,但都没有帮助,因为问题似乎在不同的领域 然后,我尝试将gem版本回滚到较旧的点,在这里不存在这个问题。不走运。我没有在systemrvm、homebrew中更新任何内容,因此没有可回滚的内容 然后我安装了ruby prof profiler,看到rails一直在执行V8::C::StringUtf8Value,但我无法从中获
%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
--------------------------------------------------------------------------------
好的,那么将config.assets.js_compressor=nil放在development.rb中显然可以解决这个问题。对于生产来说,这并不重要,因为它只会稍微增加部署持续时间。但是。。奇怪的或者这对于rails来说是正常的,而我刚刚达到了资产数量的临界值。可能是服务器性能下降。如果您希望提高服务器的速度,那么我会说更喜欢这个gem@Pavan,并非如此。这似乎是一个不太有前途的答案——ruby和v8之间的字符串复制速度很慢。这只是一个提示。无论如何,你的答案是正确的。