我遇到了Ruby on Rails运行极慢的问题。我在Windows 8机器上使用Ruby 2.1.3p242和Rails 4.2.1。
每当我运行需要启动rails的任何东西(包括测试),它都需要很长时间才能启动。我在一个干净的rails安装中的config/environment.rb中放置了一些Benchmark调用:
“显然,考虑到这是一个干净的安装,
“编辑1:我的电脑配置为双核i3 4010u @ 1.7GHZ,4GB RAM。我认为我的电脑性能还不错,大多数东西都可以很好地运行。”
“编辑2:我在
这显然发生在
这是什么意思?
每当我运行需要启动rails的任何东西(包括测试),它都需要很长时间才能启动。我在一个干净的rails安装中的config/environment.rb中放置了一些Benchmark调用:
require File.expand_path('../application', __FILE__)
User cpu System Cpu Total Cpu elapsed time
0.000000 0.000000 0.000000 (0.000000)
Rails.application.initialize!
15.282000 2.891000 18.173000 ( 18.201173)
“显然,考虑到这是一个干净的安装,
Rails.application.initialize
花费了非常长的时间。谢谢您的帮助。”“编辑1:我的电脑配置为双核i3 4010u @ 1.7GHZ,4GB RAM。我认为我的电脑性能还不错,大多数东西都可以很好地运行。”
“编辑2:我在
Rails.application.initialize
上运行了 ruby-prof
并找到了罪魁祸首。其中一个进程占用了85%的运行时间。”<Module::SecureRandom>#random_bytes
<Module::OpenSSL::Random>#random_bytes
这显然发生在
Ruby21/lib/ruby/2.1.0/securerandom.rb#62
。
我查看了该文件中的第62行,这是我找到的内容:return OpenSSL::Random.random_bytes(n)
这是什么意思?