WordPressのチューニングで300倍も高速化しました(その1)

公開日: : 最終更新日:2014/11/29 コンピュータ, WordPress ,

WordPressのチューニング

WordPressは、標準の使い方のままだと、PHPスクリプトが動的に生成したHTMLでブログ記事を表示しますので、静的ページと比較すると「速度」の面で劣ります。特に、このじーなか.comが利用するサーバーは、VPSサービスの一番安いプランを使っていることもあり、元々、性能面で心配がありました。そこで出てくるのが、「チューニング」です。

今回はWordPressチューニングしたら、なんと300倍以上も高速化できた、実際のお話です。実例として、この「じーなか.com」( www.jinaka.com ) で試した結果、かなりの高速化が実現できました。

本題に入る前に、まずは前提のお話です。

予めお伝えしますが、この300倍は鵜呑みにしないで下さい。なぜなら、じーなか.comのサーバは、元々、性能的に良くはありませんでした。ですので、早いサーバ環境をお使いの場合は、改善する幅が30倍かも知れませんし、10倍かも知れません。それでも、少なくとも、体感的にもパフォーマンスの改善は見られると思います。

また、WordPressのチューニングは、あくまでも、WEBサーバOSの中でのチューニングのお話です。もし、インターネット回線が遅い、ホームページを見る端末が遅い(古いPCや非力なタブレットなど)場合は、体感することは難しいかも、です。

あくまでも、WordPress が動くサーバ内で完結するベンチマークテストの結果で300倍も高速化できました、というお話です。

参考にさせていただいたサイト

http://hara19.jp/archives/5817

サーバー環境

じーなか.comは、ServersMan@VPSを利用しています。プランは、月々467円のエントリープラン。ビンボー症なので、極力、コストを掛けずにサーバ運用というだけの理由から選んでいます。

  • OS: CentOS 6.4 (32bit)
  • CPU: 仮想CPU 2コア
  • メモリ: 1GB
  • HDD: 50GB(テスト時は50%を使用)

ベンチマークテストの方法

どれくらいの性能が出たか、を確認するためのツールとして「ApacheBench」を使いました。ab というコマンドで計測します。


Sponsored Link

ab -c 10 -n 10 http://www.jinaka.com/

これは、abコマンドが擬似的に10人から10アクセスを受けている状態を作り出します。じーなか.comでは、初め100アクセスを想定し、

ab -c 100 -n 100 http://www.jinaka.com/

でテストを実施しましたが、ロードアベレージが10を超え、延々と終わらない状況になりましたので、10アクセス想定から初めています。チューニングを施しつつ、このabコマンドでベンチマークを取得していけば、チューニングの成果が出ているかどうかを定量的に判断することができるのです。

以下は、チューニング未実施の際のabコマンド結果です。ご覧いただくと分かる通り、1秒間に0.31個のリクエストしか処理できていません。

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.jinaka.com (be patient).....done

Server Software:        Apache
Server Hostname:        www.jinaka.com
Server Port:            80

Document Path:          /
Document Length:        41671 bytes

Concurrency Level:      10
Time taken for tests:   31.988 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      419200 bytes
HTML transferred:       416710 bytes
Requests per second:    0.31 [#/sec] (mean)    <-- 1秒当たりのリクエスト処理数
Time per request:       31987.723 [ms] (mean)
Time per request:       3198.772 [ms] (mean, across all concurrent requests)
Transfer rate:          12.80 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    8   2.7      9       9
Processing: 27989 29743 1400.2  30186   31978
Waiting:    26288 28535 1831.4  28888   31601
Total:      27998 29751 1401.3  30195   31987

Percentage of the requests served within a certain time (ms)
  50%  30195
  66%  30794
  75%  30813
  80%  30900
  90%  31987
  95%  31987
  98%  31987
  99%  31987
100%  31987 (longest request)

 

これでは、ちょっと遅すぎますよね。

ということで、チューニングが出番となります。続きは次の記事で書きます。

WordPressのチューニングで300倍も高速化しました(その2:PHP-PECL-APCで1.5倍)


Sponsored Link

関連記事

ServersMan@VPS (Entryプラン)にリモートデスクトップ環境を構築する

当サイトにお越しくださいましてありがとうございます。 今回は、ServersMan@VPSに、

記事を読む

no image

WordPressデバッグモード切り替え方法

WordPress のデバッグモードの切り替え方法。 プラグインの追加やカスタマイズによるエラーや

記事を読む

ServersMan@VPS (Entryプラン)にデスクトップ環境を構築する

当サイトにお越しくださいましてありがとうございます。 今回は、MetaTraderの自動売買を可能

記事を読む

no image

サムネイル生成でエラー

プラグイン Regenerate Tumbnails を使って一括サムネイル生成をしようとして気が付

記事を読む

no image

.bash_profile読み直し

1. .bash_profileに設定した変数を変更した場合に、いちいちログアウトしていては面倒。コ

記事を読む

no image

ServersMan@VPS (Entryプラン)にWine環境を構築する(その1)

当サイトにお越しくださいましてありがとうございます。 今回は、Linuxデスクトップ上でWindo

記事を読む

WordPressのチューニングで300倍も高速化しました(その2:PHP-PECL-APCで1.5倍)

PHP-PECL-APCによるお手軽チューニング WordPressのチューニングのお話、第二回目

記事を読む

no image

grub シングルモード起動

GRUBのメニュー画面で、起動させたいブートイメージにカーソルをあわせ, (edit)をタイプ

記事を読む

cygwinの導入

1. インストール用パッケージをダウンロード cygwinホームページ(http://www.cy

記事を読む

no image

私がMetaTraderが稼働する自動売買環境を構築したきっかけ

当サイトにお越しくださいましてありがとうございます。 今回は、私が構築したMetaTraderの自

記事を読む



文鳥ブログ ふたたび!

以前も文鳥に関するブログは書いていたのですが、 諸事情により中断してしまったことがありました。 でも決して、飼っていた文鳥が死んだとか逃げたとかではありませ

ミドリガメ
ミドリガメを飼っています

我が家では、「トト」という名前のミドリガメを飼っています。 ホームセンターのペットショップで買ってきたミドリガメの子どもです。 飼い始めてから3

no image
WordPressデバッグモード切り替え方法

WordPress のデバッグモードの切り替え方法。 プラグインの追加やカスタマイズによるエラーや動作がおかしいがなかなか原因がつかめない場合に、デバッグモー

no image
ServersMan@VPS (Entryプラン)にWine環境を構築する(その1)

当サイトにお越しくださいましてありがとうございます。 今回は、Linuxデスクトップ上でWindowsアプリケーションを稼働させる環境、Wineを導入します。

no image
サムネイル生成でエラー

プラグイン Regenerate Tumbnails を使って一括サムネイル生成をしようとして気が付いた問題。 The resize request wa

→もっと見る

PAGE TOP ↑