WordPressを無料枠のAWSからレンタルサーバに避難

この記事が良ければ、ぜひシェアお願いします

しばらくサイトをほったらかしにしたせいで、アクセス数が軒並み落ちていました。いや~お恥ずかしいお話です。

そんな中、2015年4月末にhetemlの契約が切れることを受けて、一旦サーバ費用が安いところに引っ越そうと思い、『そうだ、今なら1年無料で使えるAmazon AWSを使ってみよう!!』と思いたち、月末ギリギリに2日掛けてサイトを引越ししました。動いているWordPressは3つあり、超優秀プラグインのDuplicatorを使って移行を行いました。

メールサーバも立てようかと思ったのですが、時間があまりなかったので、取り急ぎEC2でAmazon Linux AMIをt2.microインスタンス上に乗っけて、Apache+PHP+MySQLの構成でWordPressを動かしてみました。初日は問題なく動いてくれて、ほっと一息付いていたところ、どうもページを開くと遅い。本当に遅い。ストレスが溜まりすぎるほど画面が表示されない。

どうなってるのか気になり、Amazon AWS EC2にSSHでログインして、リソース状況を確認しました。見るとメモリの空きが少ない・・・swapもない。

# free
total       used       free     shared    buffers     cached
Mem:       1020188     944232      75956        152       8004     120344
-/+ buffers/cache:     815884     204304
Swap:            0          0          0
スポンサーリンク

EC2で悪化するWebサイト

こりゃあかんということで、対策しました。細かい内容は近々書こうと思いますが、ApacheとMySQLのチューニングをしたり、定期的にメモリキャッシュをクリアしたりしたのですが、全く効果が出ず。狙い通りにメモリ使用率は下がり、CPU使用率も全然高くない・・・けど、WordPressのフロント画面も管理画面も全然開かない。

ということで、Load Averageを見てみたら、あーこっちでしたね、メモリにばっかり目がいってました。Load Averageが6とか7とか、常にそんな値を表示していました。挙げ句の果てには、ここまで行きましたよ。

$ uptime
19:31:52 up 3 days, 8:22, 1 user, load average: 33.90, 30.44, 28.13

Load Averageがまさかの30超え!!こんなんサーバ止まってるのと変わらんわ!!笑

おかげでSSHで繫いでも激重、ターミナルが表示されないわ、コマンド打っても結果が全然返ってこないわ。ギリギリに引越ししたおかげで、元のhetemlに戻るわけにもいかず、なんとか動かそうと四苦八苦してました。だいぶ時間を無駄にした気がします。

そんな重いWordPressの使い方をしていたのか?

MySQLではデータベースを3つ、WordPressも3つ立てていたものの、ほったらかしにしていたサイトにそんなアクセスがあるわけでもない・・・。ApacheとMySQLを止めると、Load Averageが下がるので、チャンスとばかりに再度立ち上げてみると、みるみるLoad Averageが上がっていく。5分もするとアクセスがまともにできない激重サイトの出来上がり♪

MySQLへのクエリが多いのか?とも思い、『P3 Plugin Profiler』でスキャンしてみても、クエリの数は全然多くない。(これはLoad Averageが低い時に計測したので、Plugin Load Timeは短くなっています)

P3 Plugin Profilerの結果

P3 Plugin Profilerの結果

WordPressが重い他の原因は?

  • WebサーバがApacheだから・・・それも疑ってnginxも入れて試してみましたが、結果変わらず
  • MySQLではなく、MariaDBにしてたら違った?・・・そうかもしれないけど、そこまで大きく影響するか?
  • 画像が最適化されていない?・・・そんなに画像を多用していない
  • キャッシュプラグインを入れていない?・・・入れても逆に遅くなった(笑)スペックよくないから、逆効果なんですね。
  • データベースが最適化されていない・・・んーこれはありえるかも。でも割と単純なSelect文でありえるのか?
  • HTMLのクリーンアップをしていない・・・多少はしてたんですが、そこまで影響あるとは思えない
  • テーマが重い・・・Simplicityって軽いと思ってたけど、違うの?

ということで、あまり思い当たる節がなく。検証を一個一個していってもよいんですが、サイトが落ちっぱなしだとGoogleのインデックスから落ちてしまうので、断念して一時待避することにしました。というか、インデックスが落ちて最悪です、流入が見事に減りました(涙)

Amazon AWS EC2の無料枠で複数WordPressは厳しそう

Amazon AWS EC2の無料枠では、WordPress1個動かすくらいは特に問題なく動いていたので、複数動かすのにはちょっと貧弱かもしれないですね。もうちょっと良いインスタンスを選ばないといけません。でも、そうすると個人でちょっとした用途で使うには高いかも・・・。

MySQLをEC2上で動かさずに、RDSを使えば負荷は下がったと思うのですが、AWS内でセキュリティが掛かってて通信させるための設定がちょっとめんどくさそう。いや、慣れればいい話なんですが、無理くり動くようにしてもまた問題出るかもしれないしなぁ~と思って、諦めました。ただ、投げ出すのもアレなので、時間あるときに検証してみようとは思います。

EC2のストレージは汎用SSDにしていたので、ディスクI/Oがネックになっているとは思えないのですが、あと考えられるネックがディスクI/Oくらいしかないんですよね。まぁひとまずここは推測まで、になりますが。

ということで、結論。Amazon AWSの無料枠でWordPressを複数動かす時は、迷わずDBはRDS上に立てましょう!!

一時的な利用にもオススメ『ロリポップ』

今やGMOグループになってしまったロリポップ(旧paper&boyさん)ですが、使い勝手はこなれてて個人的に好きなので、ここに一時待避することにしました。同じような価格帯で『Firebird』があるんですが、ちょっと管理画面が自分には合わなかったのと、利用を始めてWebサーバが使えるようになるまで少し時間が掛かったりとしたので、『ロリポップ』のチカッパプランにすることにしました。

負荷状況を見ながら、エックスサーバや他のVPSを使うことを考えてみようと思いますが、何はともあれ急いで復旧ということで、チカッパプランにしました。

あと、今なら素敵なことに、チカッパプランを6ヶ月以上で新規契約すると、6ヶ月分さらに無料になるということなので、これはいい!ということでロリポップさんを選ぶことにしました。当面使う分にもいいし、移転したらしたで何かに使えるだろうし。

チカッパプランキャンペーン

チカッパプランキャンペーン

興味がある方は、お試しで使ってみてもよいかもしれないですね。



サイトがダウンすることのGoogleからのペナルティ

サーバ障害やリソース不足によりサイトがダウンすることは、個人のWordPressとかならありえるかもしれません。あまりリッチな環境を使っているとは限らないからですね。ただ、今回はサイトが長いこと落ちてしまって(正しくはアクセスできない状況になって)、Googleのインデックスから外された影響はめちゃくちゃでかいと感じました。

今は復旧しているので再度インデックスされるのかもしれないですが、もしかしたら検索順位は下がったままかもしれない・・・。積み上げてきたものが無くなるとは、こういうことを言うのかもしれないですね。かなりショックです。

この辺の話は、また別途まとめたいと思います。Googleさんに嫌われないためのポイントも、押さえておかないといけない良い教訓になりました。

P.S. 復旧から2日経ってからオーガニック検索からの流入を見ていましたが、今まで上位に上がっていたキーワードは復活して来ませんね。。。代わりにサイト内の改善をした結果で、違うキーワードが引っかかるようにはなりましたが、アクセス数の大幅減な状況は変わらず。一度下がった評価を復活させるのは、簡単ではないのかもしれません(涙)

スポンサーリンク

この記事が良ければ、ぜひシェアお願いします

もぐ
年齢 : 30代半ばの1児の新米パパ。ITネットワークから始まり、WEBディレクター、WEBシステム系のプロマネ、データ分析など色々やってるエンジニアです。WordPress、Webサービス構築、BIツール、IoTなどがトレンド。新しくて面白い仕事募集中。
スポンサーリンク