「そろそろ限界かもしれない…」薄々そう感じてはいたものの、なんとかなるだろう、と目を塞ぎ知らないふりを続けてきたツケがいよいよまわってきました。私が借りているレンタルサーバー「coreserver(コアサーバー)」からメールが届いたのが17日のお昼のこと。なんのけなしに開いてみたら、そこには高負荷のためアカウントに制限をかけるとの通達が。。とうとうきたか、とショックを受けながらも、どうにかするべく検討した結果、同じcoreserverの上位サーバーに移るよりも、一日の転送量が多く評判のよさそうな「xserver (エックスサーバー)」へと移転することにしました。現在DNSの浸透を待っているのでしばらくはブログも安定しませんが、なんとか無事に移行できたので備忘録がてらご報告です。
目次
coreserverで高負荷のため制限がかかる
coreserverでは、アカウントの負荷率が非常に高い状態が続くとそのユーザーに対して制限がかけられます。一応目安は5000pt以上らしいです。
いただいたメールによると
お使いのアカウントにて非常に高帯域で、高負荷になっております。現状では制限を掛けざるを得ません。
現在はこちらでアクセス制限をさせていただいております。
処理方法で改善できる事がある可能性もありますので、ユーザー様で何らかの改善をお願い致します。CMSをご利用の場合には、プラグインやテンプレートの見直し、CSSや静的ページはキャッシュの利用する等
も、ご検討いただきましたら幸甚に存じます。高負荷で、他のユーザーに影響が出ると判断した場合は、改善していただく前に暫定的に制限を掛けさせていただきます。
サーバー管理画面にて、「アクセス統計」メニューから「アカウントの負荷率」は「0」になるよう調整ください。
また、「転送量合計」は CORE-Mプランの場合、「100GB/月」に収まるよう調整ください。
これは既にこのブログを移行した後なので、このブログは含まれていません。が、まだアカウントの負荷率が結構高い…。そんなにアクセスがあるブログは無いのですが、しかたがないのでもう一つのブログも移行させるかちょっと考えています。
共用サーバーの場合、あまりに高負荷をかけるユーザーが一人いると同じサーバーを利用している他のユーザーさんにも迷惑をかけることになるので、気をつけないといけません。コアサーバーでは管理画面のアクセス統計で自分の持っているドメインごとにどれだけの転送量があるのかなど見ることができます。
私はあまりここを見ていなかったのですが、管理者としてはやはりきちんと確認しておかないといけませんね…本当に反省。迷惑をかけてしまったかもしれない他のユーザーさんには申し訳ないです。
コアサーバーで制限をかけられると完全にサイトがアクセス不可に!
制限がかけられると、転送量が多い上位ドメインのいくつかのサイトが全く表示されなくなります。ぎゃー。こうなるとwordpressの管理画面にも入れなくなりますので、バックアップをとりたいと思っても何にもできません。泣けるw
ただ、メールに返事をしてとりあえず管理画面に入りたいからなんとか一時的にでも制限を解除してほしい、とお願いするとしてもらえたりもします。
負荷率を下げるためにやったこと
午前中はまだサイトが表示されていたので、その間に少しでも負荷率を下げようとできることをやりました。PV数のわりに転送量がやたら多いのが気になったので、鰐さんに相談したところ、キュレーションサイトから直リンクされているのではないかという疑いが。
直リン禁止
・.htaccessで画像への直リンク禁止する方法 | CSS Lecture
これは.htaccessで直リンクを禁止する方法です。wp-content>uploadsの中に画像を入れているので、ここに.htaccessを入れます。
SetEnvIf Referer "^http://www\.sky-s\.net" ref_ok SetEnvIf Referer "^http://www\.aozorashokan\.com" ref_ok SetEnvIf Referer "^http://www\.taiwan-selftrip\.com" ref_ok SetEnvIf Referer "^http://www\.ishigakijima-selftrip\.com" ref_ok SetEnvIf Referer "^http://www\.blue-return\.info" ref_ok order deny,allow deny from all allow from env=ref_ok
うちだとこうですね。所持している他のブログからは画像を使っていることがあるので、これはオーケーにしておきます。ただし、これをするとRSSフィードやfacebookでうまく画像が表示されなかったりするので、その場合はURLを追記する方がよさそう。
CSSとjsをgzip圧縮する
これも鰐さんに教えてもらいました。1000PVあたり180MBぐらい抑えられるよとのこと。
mod_deflateと.htaccessで一括制限をかける方法が簡単ですが、それをするとサーバーのCPU負荷が上がってしまうので、今回は意味がないため個別に作ることに。
下のコードは上記ページからの引用です。
RewriteEngine on RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{REQUEST_FILENAME}\.gz -s RewriteRule .+ %{REQUEST_URI}.gz #スタイルシート (.css) <FilesMatch "\.css\.gz$"> ForceType text/css AddEncoding x-gzip .gz </FilesMatch> #Javascript (.js) <FilesMatch "\.js\.gz$"> ForceType application/x-javascript AddEncoding x-gzip .gz </FilesMatch> #HTML (.html) <FilesMatch "\.html\.gz$"> ForceType text/html AddEncoding x-gzip .gz </FilesMatch>
と記述した.htaccessを一番上の階層に置きます。wp-includes内のcssやjsも、テーマフォルダ内のcss,js、さらにplugin内のcss,jsなどもすべてターミナルでgzip圧縮。
ターミナルを開き「gzip」と入力、半角スペースを置いて、そこにgzip圧縮したいcssファイルなどをドラッグアンドドロップです。複数ファイルを一括で圧縮もできます。
ただし気をつけたいのが、後でcssファイルを編集した時に、圧縮もやり直すこと。
常に読み込む画像を圧縮
サイドバーやフッターにあって常に読み込む画像はできるだけ劣化させない程度にぎりぎりまで圧縮しておくのがおすすめ。Compressor.ioでは、jpgだけでなくpngやgif画像も劣化なしに圧縮させてくれます。これ、驚くほど圧縮されるのでおすすめ。
普通のサイトだと、これでだいぶましになると思いますが、sorariumの場合焼け石に水なので、さっさと移転することにしました。
コアサーバーとエックスサーバーを比較
コアサーバー
CORESERVERの料金・プランです。安いですよねー、一年でも2,500円ちょっとですから非常に助かってました。容量自体は全然問題なかったのですが、さすがに転送量がこれではちょっと厳しい。
もしコアサーバーのまま上位プランに移行する方法も考えたのですが、ずっと運営してきてコアサーバーでは入れたいプラグインがうまく入らなかったりといろいろトラブルも多かったので、メインサイトはできればもっと安定していて容量に余裕があるものにしたいな、と思っていました。
エックスサーバー
xserver (エックスサーバー)はさすがにお値段はそれなりにします。下位のX10プランでさえ初期費用含めて1年間16,200円。ただしディスク容量は200GBですし、コアサーバーでいうなら240GBのCORE-Bと同等ぐらいのプランでしょうか。CORE-Bは10,182円なのでやっぱりCORESERVER安いですねぇ。
ちなみに転送量はX10で70GB/日です。210GB/月あればそれなりにPVがあるサイトでも安心ですね。
ちなみに3/31までのキャンペーンでX20とX30プランを契約すると独自ドメインが無料で一つもらえます。契約期間中なら管理料も無料とはなかなか太っ腹。
お値段的に言うならCORESERVERのCORE-Bにするのが妥当なのでしょうが、上にも書いたようにちょっとコアサーバーのトラブルが多かったことと、そこそこPVがあるらしいブロガーさんたちがxserver (エックスサーバー)にこぞって移行されていたのも知っていたので、ここに決めました。
コアサーバーからエックスサーバーへの移行の手順
参考にしたのは、コアサーバー(XREA)からエックスサーバーに引越しする方法 | アフィるネットです。かなり丁寧に解説されていたので、非常に助かりました。
しかしながら、データベースの引っ越しでひっかかってしまいにっちもさっちもいかないことに。一つのデータベースが200MB以上あるので、インポートしようとしても失敗の連続。大きすぎるから、phpmyadminからテーブルをそれぞれダウンロードして一つ一つインポートしようとしても駄目。
最終的にはbigdump.phpを使って、一気にインポートする方法をとりました。
・超巨大な MySQL のデータを共用サーバーにインポートできる BigDump の使い方 | ウェブル
・エックスサーバー、シックスコアサーバーで大容量のSQlをphpmyadmin以外でインポートする方法 | WEB HORIC.
・phpMyAdminでインポートできない大きなSQLファイルを、BigDumpで簡単インポート – N次ホップの感想文
びっくりするぐらいスムーズに入ってびっくり!!
あとはプラグインの調整や、テーマを更新してしまったせいでいくつかいじっていたのが新しいファイルになってしまったので、戻すのに少しとまどいました。
あとはDNSを変更して終わり。一週間ぐらいはちょっと前のサーバーにつながったり新しいのにつながったりと不安定かもしれませんが、ご了承ください。
それから、feedburnerでのRSS配信中止とURL変更のお知らせ&フィード再登録のお願いがあります。こちらもよろしくお願いいたします。
スピードが改善されたかGTmetrixで計測
さて、移転後、GTmetrixを使って、サイトスピードを計測してみました。
以前のスピード
現在のスピード
あれ、ページのグレードは上がってるけど、page load timeは後のほうがかかってる…。なんでだ(笑)
しばらくは様子見しながら記事をアップしていきたいと思います。とりあえず今のところxserver (エックスサーバー)は快適!!お試し期間は10日ですが、さっさと契約しちゃおうと思っています。X10プランでいいかな。