Windows10でVirtualBox+vagrant+DokerからWSL2+Dockerに移行して遅くなった問題を解消したので、メモ。
環境構築系の情報は割とありますが、あまり強調されて書かれていないことでした。WSL2+Dockerで動作が遅い時、環境構築時に気を付けて欲しいポイントです。
結論
WSL2にインストールしたLinuxのファイルシステム(今回で言えば、Ubuntu)配下にソースコードを配置する必要がある。
例としては、下記の通り
\\wsl$\Ubuntu-20.04\home\<ユーザ名>
Linuxパスでいう/home/<ユーザ名>配下。
※厳密には<ユーザ名>配下である必要はないのですが、home配下が間違いないと思います。
Windowsのエクスプローラで、「\\wsl$」と打つと、WSLのディレクトリを確認できるのは豆知識。
経緯
VirtualBox、vagrantをアンインストールし、WSL2を有効化。
WSL2のWindowsの公式な方法は下記の通り。
ここで、Ubuntuのインストールまでは行ったが、それ以上何もせず、通常のWindows側
のディレクトリにソースコードを置いて起動していた。
これが激重で、Railsのアプリを立ち上げるにも、1分以上かかるし、いちいち動作が遅かった。
ある時、画面共有しながらMacで開発している人が同じローカル環境でサクサク動かしているのを見ていて、やっぱり動作が遅いんだと確信に変わりました。
そこで、色々調べて、Linux側のファイルシステムにソースを置くのが良いという情報を手に入れ、対応してみたところ、サクサク動くようになりました。
原因
WSL2配下だと/mnt/cにWindowsファイルシステムがマウントされた状態となる。
これによって、ファイルアクセスが遅くなるとのこと。
他にも設定が必要ですが、何だか遅いなと思った時は、是非見直してみてください。
こちらからは、以上です。