しばらく前にxreaからAzureウェブサイトに移動した弊社サイト。
見ての通りWordPressで作っているのですが、Azureに移してからやけに読み込みというか接続が遅くなってしまいました。
何とかならないものかとAzure側の設定をあちこちいじったり、リージョンを変えてみたりしたものの、ほとんど変化なし。
年も明けたことだし、少し真面目に対処しようかと、まずはMySQLデータベースの置き場所をデフォルトでフリー提供されているClearDBから自前のものに変えてみることに。
自前といっても、同じAzureの仮想マシン上でMySQLサーバを動かすというもの。
簡易作成で選択できるWindows Server 2012 R2 DatacenterのVM作成が30分程度で終了した後、リモートデスクトップで接続、MySQLのモジュールをダウンロードしてインストール、適当なデータベースを作ったらあらかじめエクスポートしておいたWordPressデータのクエリスクリプトを実行して無事に復元完了。
あとはwp-config.php内のデータベース接続情報を書き換えればDB参照先が変更されて準備OK。
さて、これで速くなれば良かったのですが、結果はといえば全く効果なし。
実は事前にローカルのMySQLクライアントからClearDBに接続してみたところ、別段接続に時間がかかる様子はなかったので遅い原因は別にあるという予想はしていたのですが、まぁ見事に予想通りの展開。
仕方ないので他の原因を考えてみたところ、やはりWordPressが遅い原因の定番とも言えるプラグインの仕業ではないかという疑惑が浮上。
あれこれ調べているうちにDebug Barなるプラグインを使えばWordPressの性能調査的なことができるという記事を見つけたので試しに入れてみたところ、出るわ出るわ鬼のようなエラー、その数ざっと2000程度…orz
よく見るとどれも同じようなエラーで、コンタクトフォーム(Contact Form 7)で使っているReally Simple CAPTCHAの作業フォルダでアクセス拒否が発生している様子。
試しに一旦CAPTCHAプラグインを止めてみるとエラーは出なくなりレスポンスも劇的に改善。
そんなこんなでようやく原因は特定できたのですが、この謎のアクセス拒否が気になるところ。
FTPで該当ファイル/フォルダの削除を試みるもこれもアクセス拒否。
しかしながら移動はできるようなので、とりあえずリネームしてから適当な場所にフォルダごと移動して放置w
アクセス拒否の原因は今のところ不明ですが、その後CAPTCHAを有効化してもエラーは出ることなく無事正常な状態に戻りました。
改善したとはいえ、正直あまりレスポンスはよろしくなかったりしますが(表示開始までに2-3秒程度かかる)、しばらくこれで様子を見たいと思います。
Azureの仮想マシンは今回初めて利用したのですが、セットアップがエラく簡単で感動しました。
インターネット越しであることと割り当てメモリが少ないせいか操作速度は少々重めですが、ちょっとしたテスト環境構築などには便利に利用できそうです。
MSDN SubscriptionユーザなどAzureの無料枠をお持ちの方は一度試してみる価値はあるかと思います。
コメントを残す