Rails高速化までの道のり
よくあるvagrant高速化設定方法のshared folderにはNFSをつかうとか
modifyvm
で--paravirtprovider
をkvm
にするとか、VMで使うメモリを増やすとかをやってもまっっっっったく早くならなくて、どれくらい遅いかというとrails s
でwebrick起動するまでに10分はかかってました。
PC買い替えも考えるほどでしたが粘って調べ続けた所ようやく解決策まで辿りつくことに...
解決策
結論から言うとVirtualBoxでゲストマシンに割り当てる「プロセッサー数」の設定値を最大でも ホストマシンの持っているコア数-1にするということです。デュアルコアなら1、クアッドコアなら3です。
ちなみにvagrantからだと
config.vm.provider "virtualbox" do |vb|
vb.cpus = "ここの数値"
end
で設定する部分です。
当方数年前のMacbook pro 13インチを使用していますが13インチのモデルは最新のものでもデュアルコアなので、プロセッサー数は1
となります。
これで私の場合はrails s
が1分かからないくらいになりましたとさ
余談
Rails4の場合はプロセッサー数が2でもそこまで遅くなかった気がするのですが
Rails5にしてから先述のようにサーバー起動に10分というとんでもない遅さになりました、原因は不明です...
また、Railsの話をしましたが別にRailsに限った話ではないと思われるので、お悩みの際はぜひ一度試してみてください
参考
システム設定 | VirtualBox Mania
「ホストマシンの持っているコア数-1」の設定が良いというのが書いてありました