WordPressを2.5倍速くするPHPアクセラレータ「APC」:とにかく速いWordPress(2)(1/4 ページ)
企業のCMSサイトやオウンドメディアなどエンタープライズ用途での利用が増えている「WordPress」の高速化について解説する連載。第2回は、具体的なWordPressの高速化テクニックとして、ページのロード時間を2.5倍速くするPHPアクセラレータ「APC」を解説します。
前回は、「WordPress」の高速化が求められる背景と、高速化の基本的な考え方について解説しました。サーバサイドでのWordPressの高速化については、ページのロード時間と1秒当たりの同時アクセス数の概念を理解するのが重要であること、ページのロード時間は、
- HTTPリクエストの通信時間
- PHPの実行時間
- MySQLの実行時間
- 翻訳処理の実行時間
- HTTPレスポンスの通信時間
の各要素に分解でき、それぞれの要素を最適化することにより、WordPressを高速化できることを説明しました。
今回から、Amazon Web Services(以下、AWS)の仮想クラウドサーバ「Amazon Elastic Compute Cloud(Amazon EC2)」上のCentOS 7にインストールしたWordPressを題材に、実践スタイルでの高速化テクニックを解説していきます。
第二回目は、CentOS 7へWordPressをインストールし、PHPアクセラレータである「APC(Alternative PHP Cache)」を導入するとどんな変化があるか。その前後のベンチマークを取り、効果を実感するまでを解説します。
AWSのAmazon EC2で、CentOS 7を起動する
まずは、サーバ環境を用意します。AWSのアカウントをお持ちの方は、AWSマネジメントコンソール(東京リージョン)から「EC2」→「インスタンスの作成」→「AWS Marketplace」と進み、「CentOS 7(x86_64)with Updates HVM」を選択して、インスタンスの作成を行ってください。
AWSのアカウントをお持ちでない方は、ご自身でCentOS 7の環境をご用意いただき、AWSに関する記述は読み替えても同じように進めていただけます。ただし、SSH(Secure Shell)の鍵認証、デフォルトのユーザー、sudoの利用の有無、firewalldなどの起動しているサービスの差異、インスタンスタイプなどのサーバスペックの違いによるベンチマーク結果に差異が生じる箇所がありますので、この点はあらかじめご承知おきください。
「インスタンスタイプ」は、t2.mediumを選択してください。t2.mediumインスタンス(T2インスタンス)は、2vCPU、4GiBメモリで、1時間当たり10円ほどの価格となる標準的なインスタンスです。
T2インスタンスは、CPUクレジットを利用したバースト機能があり、バースト時にはCPUの完全なコア性能を実行できる特徴を有しています。CPUクレジットはベースラインのCPU性能を消費していないアイドル状態の時に蓄積され、高負荷時はそれを消費してバーストできる権利です。Webサーバならば、夜間や早朝などのあまりトラフィックが発生しない時間帯にCPUクレジットが蓄積されます。そして、日中のピーク時にCPUクレジットを消費して、バースト性能を発揮します。CPUクレジットが全て消費されるとT2インスタンスはベースラインの性能に制限されます。つまり、T2インスタンスは「必要な時に、必要なだけ、コンピューティングリソースを利用できる」というクラウドコンピューティングの特徴を端的に示しているインスタンスタイプです。
WordPressを高速化する目的は、ユーザーがサイトを訪れた際に「いかに速くWordPressを動作させて、PVを獲得し、ユーザーエクスペリエンスを向上させ、検索エンジンに最適化させるか」を高いコストパフォーマンスで実現させられるか、です。この観点からもT2インスタンスは、WordPressの高速化と相性が良いインスタンスタイプといえるでしょう。
では、このままウィザードを進めてインスタンスの作成を完了させましょう。「セキュリティグループ」では、SSHの他、HTTPとHTTPSをルールとして追加します。インスタンスには、SSHでの接続に必要なキーペアを作成するか、既存のキーペアを選択して割り当てます。
インスタンスの作成が完了したら、「Elastic IP」のメニューから固定のグローバルIPアドレスを割り当てて、グローバルIPアドレスとパブリックDNSを固定させておきます。Elastic IPの割り当ての際は、「新しいアドレスの割り当て」でEC2ではなくVPCを選択してから、先に作成したインスタンスに割り当ててください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- WordPress自体のチューニングが必要な理由と高速化の基本的な考え方
企業のCMSサイトやオウンドメディアなどエンタープライズ用途での利用が増加しているWordPressの高速化について解説する連載。初回は、WordPressの高速化が求められる背景や、WordPress高速化の基本的な考え方であるページのロード時間とその構成要素、1秒当たりの同時アクセス数について解説します。 - ここが変わったCentOS 7──「新機能の概要とインストール」編
「CentOS 7」を皆さんどれだけ理解していますでしょうか。CentOS 7は、以前のバージョンから使い勝手がかなり変わりました。本連載では、今さら聞けない/おさらいしたいというインフラエンジニアに向け、CentOS 7の概要と基礎から活用Tipsまでを紹介していきます。 - 安いホスティングに引っ越しって簡単にいうけど 〜リモートアクセスにはSSHを使いましょう〜
安いホスティング先に、メールサーバと社外向けWebサーバが引っ越した。Web画面のリモート設定でいらいらする律子さん。使い慣れたtelnetではアクセスできず…… - Webのバグを燃やしまくるFirebugと、そのアドオン7選
- httpd.confによるWebサーバの最適化
Webサーバのチューニングには、いくつかの段階がある。今回は、httpd.confの修正によるApacheの最適化について説明する。(編集部) - Apacheパフォーマンス・チューニングのポイント
Apacheをチューニングすることにより、Webサイトのパフォーマンスをより向上させることができる。しかし、その前に何をチューニングすべきなのかを見極める必要がある。 - Apacheパフォーマンス・チューニングの実践
前回、ボトルネックになり得るポイントの検討やベンチマークツール「ab」によるパフォーマンス・チェック方法を紹介した。今回はそれらを基に、Apacheのチューニングを行っていく。 - MySQLの高度な管理とチューニングテクニック
本連載もついに最終回。今回はMySQLサーバの運用・管理に必要な状態監視、チューニング、バックアップ、セキュリティについて解説する。以下のテクニックを駆使すれば、MySQLをさらに安定稼働させられるだろう。 - 安全を考えてPHPの実行時設定を調整する
PHPを初期設定のまま使うと、いろいろ問題が起こる可能性があります。今回は、問題の発生を未然に防ぐ設定法をいくつか紹介します。(編集部)