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.