vagrant wordpress

VCCWのWordPressが遅い問題の解決方法(Windows10、Ubuntu両方)

はじめに

VCCWを使い始めてみたところ、WordPressサイトの表示が遅いことに気づきました。そこで解決策を調べたところすでにいくつかの解決策がネット上にあり、すぐに直すことができたのでメモしておきます。なお、ホストOSがWindows10、Ubuntuの場合で有効だった対策が違いましたのでこちらも含めてメモします。

症状と前提

VCCW上で動作するWordPressにアクセスするものの、管理画面含め表示が非常に遅いです。具体的には、ページ表示に最低でも2~3秒以上、ホストOSがUbuntuの場合では5秒以上かかってしまうこともありました。
なお、前提となる環境は以下です。

  • ホストOS(以下両方で確認しました)
    • Ubuntu 18.04
    • Windows10
  • vagrant 2.1.1


作業概要

ホストOS毎に以下の対策を実施しました。いずれも作業としてはVagrantfileの記述の修正になり、Windows10、Ubuntuによって修正箇所が異なりました。

  • Windows10の場合 – natdns関係をoffにする
  • Ubuntuの場合 – 共有フォルダのタイプをrsyncに変更する


Windows10の場合 – natdns関係をoffにする

Windows10の場合では、以下のようにVagrantfileに含まれるDNS関係の設定をオフにすることで改善されました。

(・・・上省略・・・)
vb.customize ['modifyvm', :id, '--natdnsproxy1', 'off'] //offに変更
vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'off'] //offに変更
(・・・下省略・・・)


このnatdnsproxy1natdnshostresolver1をオフにすることでなぜ改善されるのかまでは未調査です。
なお、上記の変更を反映させるためには、以下のようにreloadする必要があります。ただし、以下を実施すると仮想マシンが初期化されますので、すでにWordPressサイトに記事を投稿済であったり、修正を加えている場合はバックアップを取る作業が必要になります。
また、少々時間もかかります。

$ vagrant reload --provision


私の環境では上記によってWindows10でのVCCWのWordPressサイトの表示速度が1秒未満になりました。

Ubuntuの場合 – 共有フォルダのタイプをrsyncに変更する

ubuntuの場合では、以下のようにVagrantfileに含まれる共有フォルダのtypersyncに変更にすることで改善されました。

(変更前)
config.vm.synced_folder _conf['synced_folder'],
    _conf['document_root'], :create => "true", :mount_options => ['dmode=755', 'fmode=644'],
      SharedFoldersEnableSymlinksCreate: false
(変更後)
config.vm.synced_folder _conf['synced_folder'],
      _conf['document_root'], type: 'rsync',
      SharedFoldersEnableSymlinksCreate: false


あとは仮想マシンを再起動することで上記設定が反映されます。これが効果あったのはUbuntuの場合ですが、Windows10でも同様の設定を行えます。

他の対策

私の環境においては効果がなかったですが、他にも以下の対策を実施しました。なお、もしかしたら、この記事であげたいくつかの対策が組み合わさることで改善されている可能性もありますので、もし上に上げた対策で改善されなかった場合は、以下の参考サイト様の対策も合わせて実施することで改善される可能性もあります。わかりやすく書かれておりすぐに実施できると思います。

xdebugをfalseにする

VCCWの遅さはXdebugを切れば解消する | 有限工房


まとめ

VCCWのWordPressサイト表示の遅さに困っている方は試してみてください。

SPONSORED LINK

One thought on “VCCWのWordPressが遅い問題の解決方法(Windows10、Ubuntu両方)

コメントを残す

メールアドレスが公開されることはありません。