ライブドアのサーバーエンジニアさんに百式系ブログ(WordPress)の負荷対策について聞いてきた

SPONSORED LINK

Pocket

さて、実は先日から、ライブドアさんのご厚意で、百式系ブログを同社サービスの「EX-SCALE」にてホストしてもらうことになりました!

今まで何かと不安定だったブログがこれでかなり安定するようになりました!安心して旅行に行けるようになりました!快適すぎる!

なお、ホストしていただくかわりに、ライブドアさんのブログメディアまわりの活動を応援したり、ブログにバナーがついたり、という感じになりますのでよろしくお願いいたします(金銭を受け取ってはいませんよ)。

というお知らせではありますが、ここ数ヶ月、ブログの負荷対策に相談にのっていただいたのでそこで学んだことをまとめてみます。やっぱりプロはすごいですね(というか、僕が素人すぎる・・・)。WordPressの負荷でお困りな方は是非参考にしてみてください。

↑ いろいろ教えていただいたライブドアの田畑さん。問題を理詰めで特定していく姿がかっこいい!

では、施した対策について紹介していきましょう。

  • サーバーの分離
  • まず、WebサーバーとDBサーバーを分けて問題の切り出しをしやすくしました(これは前もそうだったのですが、大事なことなので)。予算にもよりますが、もし可能ならやっておくといろいろ便利です。

  • リソース監視ツールの見方を学ぶ
  • EX-SCALEに標準装備されているリソース監視ツール、「Munin」の見方を教わりました!実は、今までもこうしたツールの存在は知っていたのですが、見方がわかっていなかったのです・・・。

    正直、今までは「top」を見ながらあーでもない、こーでもない、と手探りで対策をしてきたのですが(← 大きな間違い)、モニタリングツールを使うことでより的確に問題箇所を把握することができるようになりました。

    すごく簡単に書いてしまうと「あるプログラムで負荷が高まったときに、どのプログラムの負荷が変化しているか?」を見ていくことで問題箇所にあたりをつけていくことができます。muninではプログラムごとに同じ時系列で負荷グラフを眺めていくことができるのですごく便利です。

    今まで知らなかったのが恥ずかしいのですが、「リソース監視ツールの見方ってよくわからないなぁ」となんとなく感じている人は一度詳しい人にレクチャーを受けてみることを強くおすすめします。

    なお、EX-SCALEのマニュアルにMuninで出来ることがまとめられていますのでこちらもご参考までに。

    » リソース監視ツールMuninについて EX-SCALEプラン livedoor レンタルサーバ ガイド livedoor ヘルプ

  • mysqlのキャッシュを増やした
  • さてここからは実際に設定した点をば。設定値は個々のサーバーによるかと思いますが、一応ご参考までに。

    まずmuninを見ていてわかったのが、mysqlの負荷が高くなりすぎていた点。そこでmysqlのquery_cacheを次のように設定して様子を見ます。

    query_cache_limit=5M
    query_cache_min_res_unit=4k
    query_cache_size=64M
    query_cache_type=1
    

    こちらでしばらく運用してみて、muninで確認したところ、キャッシュが効き始めてどんどん負荷が落ちていきました(muninではmysqlのqueryがキャッシュによるものか、そうではないのか、がわかります)。

  • mysqlのmax_conncetionを増やす
  • これだけでもだいぶ改善されたのですが、エントリー投稿直後にCPU負荷とロードアベレージが上昇し、mysqlのスレッドが限界値に達していたので、max_connectionsを増やします。

    また同時にDBサーバーのユニット数を一つ増やしました。ユニットを増やす際に無停止で追加できるのはやはり感動ですよ!

    max_connections=300
    

    これでだいぶOKになりました。

  • WP Super Cacheの導入
  • これはまだ導入していない人向けですが、やはりWP Super Cacheは必須です。muninとあわせてみるとぐっと負荷が下がるのがわかります。

    » WordPress › WP Super Cache « WordPress Plugins

以上、結局のところ、my.cnfをいじりつつ、ユニット数を無停止で追加、という処置ですが、「muninを見る→問題箇所の特定→対策を施す→muninで確認」というサイクルを経ることでより確実にサーバー管理ができるようになりました。

サーバーエンジニアの方からすると「いまさら、何言っちゃってるの?」ということばかりでしょうが(汗)、適当に設定値をいじってなんとかなるだろう・・・といきあたりばったりの対策をしちゃっている人の参考になればということで恥をしのんでエントリーしておきます・・・。

最後になりますが、EX-SCALEさん、快適でいいですよ!他にもクラウドサーバーはありますが、動的にユニット数を変更できたり、お手頃価格だったりするのに加え、転送料無制限!というのが強みではないですかね。

負荷が読みにくいソーシャルアプリやキャンペーンサイトなどによく利用されているようですね。詳細は以下からどうぞ!

» クラウド時代のレンタルサーバー livedoorレンタルサーバ EX-SCALEプラン

ツイッターもやっています!

SPONSORED LINK

  1. No comments yet.

  1. No trackbacks yet.