ネットの海の漂流者

インターネット上で話題になっている問題を検証しています。

*

さくらVPSへのサイト移転計画2-移転前の負荷軽減策

   

サーバー負荷の目安を測るために、まずローカルにテスト環境を作ります。
*転送量目安
**1アクセス辺りの転送量
まず、テストのために転送量対策を全くしていないWordpressをローカルにインストール。
プラグインとテーマを設定し、サイドバーにウィジットの設定をします。
この状態でちょっとした検証記事をテスト投稿してページサイズを測定してみました。
すると、ローカルからの転送量はアクセス一回につき1.5M程となりました。
(スクリーンショットが数枚とグラフが数個付いた5000字程度の記事です)
**一日のpv
僕のジャンルの場合、はてブのホッテントリ―入りして、twitterや楽天ソーシャルニュースでも話題になると一日5万アクセス位までは想定する必要があります。
**何の対策もしなかった場合の高負荷日の転送量
RSSや検索エンジンのロボット等も考慮すると一日の転送量が100Gとなります。
一般的な格安共有サーバーの転送量目安は一日数G程度ですので、これは一発レッドカードクラスの過負荷となります。
なんらかの方法で転送量を軽減する必要があります。
*wpテーマの軽量化
まずは毎回読み込んでいるWordPressのテーマを軽量化します。
僕が使っている
**画像ファイルの最適化
テーマ内の画像を最適化することでファイルサイズを減らします。
-Yahoo! Smush.it™
を使うと便利です。
僕が使用していたテーマの場合、これで7.7kbのサイズ軽減ができました。
**CSSの縮小
Google Page Speedからページの解析を行い、「CSSを縮小する」の項目をクリックすると縮小版のcssファイルを入手できます。
著作権表示を残すなら4kb 残さないなら5.2kbのサイズ軽減
**使用しないjsのコメントアウト
使用していたテーマには関連エントリーのスライドショー機能が付いていたのですが、転送量軽減のためにfunction.phpを編集しスライドショー関連のjsをコメントアウトしました。
55.8kbのサイズ軽減。
(転送量だけを考えるならば、スライドショー関係のjsをGoogle ajax Librariesから読み込む方法もあり)
**使わないwebフォントを切る
海外版のテーマには記事タイトルやブログタイトル用に飾り文字系のwebフォントを読み込んでいる場合があります。
しかしこの手の飾り文字は日本語に対応していないことも多いので、日本語ブログにおいては、ただ重くなるだけで何のメリットもないもあります。
function.phpを精査したところ、webフォントを読み込んでいる箇所があったので、コメントアウトしました。
そしてcssを書き換え、フォント設定を日本語に変更しました。
ローカルの転送量には変化はありませんが、ページサイズを88.2kb軽減できました。
**google ajax library使用
Head Cleaner というプラグインの機能を利用し、使用するjavascriptの読み込み先をGoogle ajax Librariesに変更しました。
91.6kbの削減。

|*項目|サーバー内のファイルのサイズ削減量(kb)|ページ全体のサイズ削減量(kb)|
|テーマの画像の最適化|7.7|7.7|
|CSSの縮小|4|4|
|使用しないjsのコメントアウト|55.8|55.8|
|google ajax library使用|91.6|-|
|webフォントのコメントアウト|-|88.2|
|計|159.1kb|155.7|
テーマの軽量化により150kb程の軽量化に成功しました。
というか選んだテーマが最初から重かっただけという話かもしれませんが……
*コンテンツの軽量化
**ブラウザキャッシュを有効にする
expiresの設定をすることで転送量を押さえます。
画像やjsやcssあたりは滅多に変更しないので、ブラウザにキャッシュしてもらうという設定。
アクセスの度にサーバーから読み込ませる必要がなくなるので転送量が減ります。
しかしロリポップ firebird あたりは対応していなくて使えませんでした。
**コンテンツをgzipに圧縮する
コンテンツをgzipに圧縮することで転送量を減らします。
wp super cacheの設定を使ってみました。
**画像の最適化
転送量的に言うと画像が一番重いので画像対策が中心になります。
転送量を減らすことだけを考えるならば、使用する画像をすべて外部サーバーにアップロードし、それを読み込んで使用するというのが一番転送量を落とせるはずです。
そこまでした場合は1pv辺りの転送量は200kb程度まで減少します。
しかし現実的には WP Smush.itで画像の最適化。サムネイルサイズを小さくする等の方法で転送量を減らしていくことになると思います。
どちらにせよ一日数万pvも来れば格安レンタルサーバーの転送量目安を余裕でオーバーするわけで、この時点でサーバー移転は必須かなと思いました。

 - サイト改装計画

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  関連記事

月pv
さくらVPSへのサイト移転計画1-はじめに~Todoリスト

僕は主にインターネット上で話題になっている問題について検証を行う、というスタイルでブログを書いています。
どれくらいの規模かというと、真面目に更新している時期のpvは月間10~20万といったところです。
個人ブログとしては中堅といったところですね。
このクラスのブログのアクセス傾向は大きく二つに分かれます。
一つは毎日安定して数千pvをキープして30日合計したら6桁になるというタイプ。
もう一つは普段は数百~千pv程度だが、月に何日かアクセスが集中する日があり、そんな日は24時間で数万pvになる。少ない日と多い日を合わせると月間6桁になるというタイプ。
前者のタイプは固定読者や検索エンジンからのアクセスが中心のブログに多く、ソーシャルメディア経由のアクセスが中心のブログは後者のタイプが多い感じです。

僕のブログはネット上の時事問題を扱うことが多いためソーシャルメディア上で話題になることが多く、後者の典型例です。
*pvの例

数年前までは年間数万pv位だったのが、ここ最近のソーシャルメディア人気に後押しされて一気にpvが跳ね上がった状況です。

この手のブログを運用していると、平時の負荷だけではなく瞬間最大風速時の負荷を考慮してサーバーを選ぶ必要が出てきます。
少し前までは月額280円のレンタルサーバーロリポップのロリポプランを使っていたのですが、月額数百円の共有サーバーでこのレベルの負荷を捌かせるのは同居人に迷惑かけすぎなので投稿自重気味になり、人気が出そうな記事は、はてなダイアリー、livedoorブログといったレンタルブログサービスに投稿する状況が続いていました。
で、こうした状況を打破すべく移転先を探して最終的にさくらのVPSを選びました。
今回はその辺りの話を書いていきたいと思います。
|*Todo|*進捗状況|
|負荷の軽減策|△|
|移転先のサーバーを探す|◯|
|サーバーの設定をする|△|
|ディレクトリ構造の変更|△|
|WordPressのインストール|◯|
|WordPressの初期設定|◯|
|旧ブログからの301リダイレクト|△|
|WordPressテーマの軽量化|△|
|WordPerssのナビゲーション機能の強化|×|