HTC速報でのWordPress 負荷対応 その1

それは突然のツイートから始まった。


HTC速報というサイト、私がさくらのVPS 1G でホスティングして、@fnoj 氏が更新されているのですが、
どうやら、このエントリーで急なアクセスが来たようで、繋がりにくくなっておりました。

まずはこの環境ですが、 PHP5.4.0 + MySQL 5.5.23 + nginx 1.2.3 で構築しております。
この環境にVirtualHost で 3サイトを運用しています。
で、この時点まで特に負荷対策等は行っていない状態でした。

WordPress でパフォーマンスのボトルネックになるのは、MySQL 周りが多いので、
その部分のチューニングでなんとかなるかなぁ、という予測をしつつ、
ターミナルからログインを試みるも、、、そもそもサーバにログインするのがおっそい。
ようやくログインして、 top コマンドで確認すると、load average が 5前後、
しかもphp が負荷の結構な部分を占めてるようでした。

この時点でパッと思いついたのが、

・キャッシュ系プラグインで対応
WP Booster
・APC や、eAcceralator は高付加状態での設定は、危険かなぁ
・リバースプロキシの設定も、オンステージのこの状態では、、、

とったところでした。

PHP で出力する部分については、キャッシュで軽減させ、
WP Booster で、htc速報外に、リクエストを分散させることで、
取り急ぎ、負荷を減らせるかなぁ、という判断です。

まずは管理画面に入り、キャッシュ系プラグインがないことを確認。
よし、と思いつつ、WP Super Cache を入れ、有効化しようとすると、、、動かない。
そう、パーマリンク設定がデフォルトのままだったのですorz.

とりあえず、ここはさておき、WP Booster の設定に。
設定といっても、WP Boosterの管理画面でサイトを登録、
API Keyをメモして、 The WP Booster CDN Client プラグインをインストールし、
上でメモしたAPI Key を入れるだけです。
すぐには、効果はわからなかったですが、後ほど、管理画面から確認すると、
23時過ぎに設定して、次の日10時の時点で80ポイントほど消化されてました。
24日の1時間で、69,784リクエスト 約1.5GB ほど転送されてたようです。。
WP BOoster 様々だなぁ、と思いました。

少し長くなったので、これ以降の対応は次エントリーで。

シェアする

フォローする

コメント

  1. nakanishi より:

    パブリッシュしたHTMLをgzipにして予めサーバ上に配置しておく方法は如何でしょう?
    常にDBから情報とらないとNGであれば無理ですが。

    • a2zmax より:

      > nakanishi さん
      コメントありがとうございます。
      PHP の負荷が高いので、そういう方法はありですね。
      実際WP Static HTML Output って、WordPress のサイトから、
      静的 HTML 出力するプラグインもあるんですよね。
      WordPress を使った形で考えると、NG ですが、
      CMS 等で更新がそう多くないなら、アリだと思います。

  2. […] ューニングすることなく運用していました。 ただ、以前のエントリーした「HTC速報でのWordPress 負荷対応 その1」の事態となり、 「こりゃ、いかんなー」ということで構築し直し、今にい […]