WordPressのチューニングで300倍も高速化しました(その1)
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 というコマンドで計測します。
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倍)
関連記事
-
-
ServersMan@VPS (Entryプラン)にWine環境を構築する(その1)
当サイトにお越しくださいましてありがとうございます。 今回は、Linuxデスクトップ上でWindo
-
-
WordPressのチューニングで300倍も高速化しました(その3:WP Super Cacheで360倍)
WP Super Cacheによるチューニング WordPressのチューニングのお話、第三回目で
-
-
WordPressデバッグモード切り替え方法
WordPress のデバッグモードの切り替え方法。 プラグインの追加やカスタマイズによるエラーや
-
-
.bash_profile読み直し
1. .bash_profileに設定した変数を変更した場合に、いちいちログアウトしていては面倒。コ
-
-
ServersMan@VPS (Entryプラン)にデスクトップ環境を構築する
当サイトにお越しくださいましてありがとうございます。 今回は、MetaTraderの自動売買を可能
-
-
grub シングルモード起動
GRUBのメニュー画面で、起動させたいブートイメージにカーソルをあわせ, (edit)をタイプ
-
-
WordPressのチューニングで300倍も高速化しました(その2:PHP-PECL-APCで1.5倍)
PHP-PECL-APCによるお手軽チューニング WordPressのチューニングのお話、第二回目
-
-
私がMetaTraderが稼働する自動売買環境を構築したきっかけ
当サイトにお越しくださいましてありがとうございます。 今回は、私が構築したMetaTraderの自
-
-
ServersMan@VPS (Entryプラン)にリモートデスクトップ環境を構築する
当サイトにお越しくださいましてありがとうございます。 今回は、ServersMan@VPSに、