CentOS 7の標準環境だけですぐできる、WordPress「5.4倍高速化」テクニック 前編:とにかく速いWordPress(3)(3/3 ページ)
企業のCMSサイトやオウンドメディアなどエンタープライズ用途での利用が増えている「WordPress」の高速化について解説する連載。今回は、CentOS 7の標準環境でWordPressを「5.4倍まで高速化」するテクニックを解説します。
「翻訳アクセラレータ」を導入して高速化する
WordPressに限らず、世界的に利用されているCMS(Contents Management System)の多くは、デフォルトの言語環境が英語であり、日本語を含む他の言語では多言語対応のための辞書ファイルを用いた「翻訳処理」を行っているケースが多くあります。WordPressは、原文の英語を「アクセスごとに、辞書ファイルを元に生成したオブジェクトをリアルタイムに参照する」ことで翻訳処理を行っています。日本語を含む他の言語では、このオブジェクトの生成に一定の時間がかかります。この「翻訳処理によるオーバーヘッド」が無視できないくらいのコストになる場合があります。
そこで、一度翻訳処理のためのオブジェクトを生成すれば、それを再利用して翻訳処理を高速化する「翻訳アクセラレータ」を導入します。
今回は、筆者の所属するプライム・ストラテジーが開発し、無償提供しているWordPressのプラグイン「001 Prime Strategy Translate Accelerator」を導入して高速化を実践していきましょう。
プラグイン「001 Prime Strategy Translate Accelerator」をダウンロードして展開します。
[root@ip ~]# cd /var/www/html/wp-content/plugins [root@ip plugins]# wget https://downloads.wordpress.org/plugin/001-prime-strategy-translate-accelerator.1.1.0.zip [root@ip plugins]# unzip 001-prime-strategy-translate-accelerator.1.1.0.zip
続いて、WebブラウザでWordPressの管理画面にログインして、インストールしたプラグインを有効化します。プラグインの設定画面で、「キャッシュを有効にする」にチェックを入れ、キャッシュタイプは「APC」を選択。「サイトに表示される翻訳された文章」「ログイン/サインアップ画面の翻訳」「管理画面の翻訳」はいずれも「キャッシュを使用」を選択して、「変更を保存」をクリックします(画面2)。
設定が完了したら一度WordPressをログアウトしてトップページを表示させ、パフォーマンスをFirebugとabで確認します。筆者の環境では、ページのロード時間は53ms、Requests per secondは39.29となりました。
「翻訳を停止」して高速化する
WordPressに再度ログインして、翻訳アクセラレータの設定画面で「サイトに表示される翻訳された文章」の項目を「翻訳を停止」に設定してください。ログアウトして再度トップページの表示パフォーマンスを確認すると、筆者の環境では、ページのロード時間が36ms、Requests per secondは56.78とパフォーマンスが上がりました。
ここでWebサイトを確認すると、管理画面は全て日本語に翻訳されており、トップページなどのフロントのページも、コンテンツのタイトルや内容は日本語になっています。しかし、一部には英語表示も残っています。WordPressが生成するメッセージのうち、一部の翻訳処理は割愛しているためです。
この設定は、「テーマに翻訳処理がほとんど含まれていない場合」に大変有効です。今回はWordPressのデフォルトテーマである「Twenty Sixteen」を利用したので、WordPressの生成するメッセージは英語です。しかし一般的には、コーポレートサイト用オリジナルテーマのように国内で制作されたテーマならば、翻訳処理がほとんどないケースが多くあります。このようなシーンならば、Webサイトのフロントでは翻訳処理そのものをスキップすることで、英語版のWordPressと同等のパフォーマンスを得ることができます。
ここまでのチューニング内容 | ページのロード時間 (デフォルト環境比) |
1秒当たりの同時アクセス数 (Requests per second) |
---|---|---|
デフォルト環境 | 176ms | 11.24 |
APCの導入 →チューニング方法をおさらい |
70ms(約251%) | 29.20 |
OPcache+APCuを導入 →チューニング方法をおさらい |
66ms(約266%) | 30.51 |
MariaDBの設定を調整 →チューニング方法をおさらい |
64ms(約275%) | 31.82 |
翻訳アクセラレータを導入(キャッシュ) →チューニング方法をおさらい |
53ms(約332%) | 39.29 |
翻訳アクセラレータを導入(翻訳を停止) →チューニング方法をおさらい |
36ms(約488%) | 56.78 |
後編は、「gzip圧縮」や「event MPM+php-fpm構成に変更」する方法で、さらに「5.4倍」までチューニングするテクニックをお届けします。
筆者紹介
中村けん牛
1971年栃木県生まれ。中学1年生で電波新聞社の『マイコンBASICマガジン』にプログラムを寄稿して以来、プログラミング歴30年。早稲田大学法学部を卒業後、野村證券に入社。公認会計士第二次試験合格。2002年にプライム・ストラテジー株式会社を設立、代表取締役に就任する。2005年にPT. Prime Strategy Indonesiaを設立して以来、アジアでのITビジネスに携わる。執筆監訳書籍に『WordPressの教科書』シリーズ(SBクリエイティブ)、『詳解 WordPress』『WordPressによるWebアプリケーション開発』(ともにオライリー・ジャパン)などがある。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- さっくり理解するPHP 5.5の言語仕様と「いい感じ」の使い方
PHP 5.5.0が公開されました。オペコードキャッシュやジェネレータなど、言語仕様としても実行エンジンとしても挑戦的な内容が含まれています。 - 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を初期設定のまま使うと、いろいろ問題が起こる可能性があります。今回は、問題の発生を未然に防ぐ設定法をいくつか紹介します。(編集部)