SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

高速WordPress実行環境「KUSANAGI」を支えるサーバの技術

超高速WordPress仮想マシン「KUSANAGI」に学ぶ、PHP+MySQLアプリチューニングの秘訣

高速WordPress実行環境「KUSANAGI」を支えるサーバの技術(1)

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本連載では、プライム・ストラテジー株式会社が開発、オープンソースライセンスで無償提供している超高速WordPress仮想マシン「KUSANAGI」(以下、KUSANAGI)を構成するそれぞれのミドルウェアや技術を解説していきます。第1回では、KUSANAGIの紹介から、どのようなミドルウェアや高速化技術を採用しているかまでを解説します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

本連載について

 WordPressは、W3Techsの統計情報によると世界中のおよそ26%のWebサイトで利用されているオープンソースCMSソフトウェアであり、CMSソフトウェアに限定するとおよそ59%と過半数以上のシェアを有しています。WordPressは当初、GPLライセンスで誰もが無償で利用できることもあり、ブログソフトウェアとして広く利用されてきましたが、最近では、その開発生産性の高さや圧倒的なマーケットシェアを背景に、CMSソフトウェアとしてまたWebアプリケーションフレームワークとしても利用されており、エンタープライズ領域での採用も加速しています。

 一方で、WordPressはPHP、MySQLベースの動的なCMSソフトウェアであり、Webシステムそのものとして活用できるというメリットがある反面、エンタープライズ領域での利用が増えるに従って、動作速度としてのパフォーマンス、セキュリティ、高負荷環境での安定性・信頼性、可用性などの要件が求められるようになりました。

 そのような要件に応えるべく開発されたのが高速WordPress実行環境のKUSANAGIです。KUSANAGIは標準のLAMP環境に比べておよそ10倍~15倍の実行速度でWordPressを動作させることが可能です。

 この連載では、インフラエンジニアの方、また、アプリケーション開発エンジニアの方向けに、KUSANAGIのパフォーマンスを実現させているKUSANAGIが採用する各ミドルウェアなどのサーバの技術を解説していきます。

 KUSANAGIはWordPressの高速実行環境ではありますが、実は、KUSANAGIはPHP、MySQLベースのソフトウェアであれば、スクラッチでもフレームワークでもWordPress以外のCMSでも高速に動作させることが可能です。ですから、本連載で解説するサーバの技術の多くは、そのままPHP、MySQLベースのシステムへの導入も可能ですし、WordPress固有の技術についても、その考え方や原理を他のPHP、MySQLベースのシステムへも応用できるものと考えています。

KUSANAGIの概要と特徴

 KUSANAGIはプライム・ストラテジー株式会社が開発し、仮想マシンイメージ(仮想アプライアンス)として、オープンソースライセンスで無償提供しているCentOS 7ベースの高速WordPress実行環境です。

 2016年3月現在、Microsoft Azure(マイクロソフト)、IBM SoftLayer(IBM)、Amazon Web Services(アマゾン ウェブ サービス)、Cloudn(NTTコミュニケーションズ)、IDCFクラウド(IDCフロンティア)、さくらのクラウド(さくらインターネット)、ConoHa/Z.com Cloud(GMOインターネット)、S-Portクラウド(鈴与シンワート)の9つのクラウドプラットフォームで仮想マシンイメージとして採用されており、すべて無償で利用することができます(各プラットフォームのサービス利用料自体は発生します)。

 最大の特徴は、高速であることです。プライム・ストラテジー株式会社のプライベートクラウド上での性能試験の結果では、4vCPUの最大性能時において、WordPressの実行時間3ミリ秒台、1秒あたり1000リクエスト超をページキャッシュ非使用で実現しています。また、同一仮想マシンインスタンス同士での比較では、CentOS 7ベースの標準のLAMP環境に比べておよそ10~15倍の実行速度でWordPressを動作させることが可能です。

 ですが、もともとKUSANAGIはエンタープライズ領域での現場のニーズに基づいて開発されてきた経緯があり、高速であることの他にも、エンタープライズ領域で必要とされる要件を満たせるように、いくつかの方針に従っています。

 例えば、KUSANAGIの採用するミドルウェアやライブラリはすべてyumリポジトリで管理されており、HTTP/2、Let's Encryptなどの新しい技術がリリースされた場合も、セキュリティリリースの際も基本的にはyum updateコマンドでアップデートが可能です。

 また、CentOS 7をはじめ、ミドルウェアなどについても、標準的なメインストリームの技術のみを採用することによって、極力、環境への依存性を除去し、ブラックボックス化を防いでいます。

 さらに、Webサーバについては、Apacheとnginxを、PHP処理系については、PHP 7、HHVM、PHP 5のそれぞれを採用しており、例えば、Apache+PHP 7、nginx+HHVMのような構成を同一の仮想マシン内でコマンド一つで切り替えることが可能です。これも、「どうしても.htaccessを使いたい」「同じ仮想マシン内の環境で採用するミドルウェアとの適合性をテストしたい」「最新のミドルウェアを使いたいがフォールバックできるものを用意しておきたい」などの現場の切実なニーズに応える工夫の一つです。

 ですから、KUSANAGIの採用するサーバの技術を学ぶことは、みなさんにとって、複数の最新の技術を学ぶ機会になるとともに、プラットフォームなどに依存しない、標準的な知識の習得となるものと思います。

 CentOS 7をはじめとする標準的な技術しか採用していないKUSANAGIがなぜこれだけのパフォーマンスを出すことができるかというと、それは、オペレーティングシステムのレイヤーから、ミドルウェア、アプリケーションのレイヤーまで、すべてのレイヤーで高速化のためのチューニング技術を導入しているからです。

 Webアプリケーションを垂直に構成する要素が7つあるとして、一つ一つの要素にチューニングを施して、一つ一つのパフォーマンスを50%向上できたと仮定すると、全体のパフォーマンスは1.5の7乗で約17倍向上することになります。これが、KUSANAGIのヒミツです。本連載では、その一つ一つとなる、KUSANAGIを支えるサーバの技術を解説していきます。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
KUSANAGI環境と標準LAMP環境のWordPressベンチマーク比較

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
高速WordPress実行環境「KUSANAGI」を支えるサーバの技術連載記事一覧
この記事の著者

中村けん牛(プライム・ストラテジー株式会社)(ナカムラ ケンギュウ)

プライム・ストラテジー株式会社 代表取締役。 中学1年生で電波新聞社の『マイコンBASICマガジン』にプログラムを寄稿して以来、プログラミング歴30年。早稲田大学法学部を卒業後、野村證券に入社。公認会計士第二次試験合格。執筆監訳書籍に『WordPressの教科書』シリーズ(SBクリエイティブ)、『詳解 WordPress』『WordPressによるWebアプリケーション開発』(ともにオライリー・ジャパン)などがある。Tw...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

大曲仁(プライム・ストラテジー株式会社)(オオマガリ ヒトシ)

プライム・ストラテジー株式会社 執行役員CTO。 執行役員CTOとして技術のTOPを務め、超高速仮想マシン「KUSANAGI」の開発にも参加。技術書の執筆や登壇実績も多数。WordPressでは、PS Auto Sitemap ほか、開発プラグインをWordPress.ORGの公式ディレクトリで公開。WordCamp Yokohama 2010 実行委員長、WordPress日本語フォーラム世話役などコミュニティでも活...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

宮﨑悟(プライム・ストラテジー株式会社)(ミヤザキ サトル)

プライム・ストラテジー株式会社 チーフエンジニア。 国立函館高専を卒業後、現在のNEC情報システムズに入社。UNIX・Windowsアプリケーション開発、Solaris/Linuxでのシステム構築に20年以上従事した。SolarisとLinuxを専門とし、OSおよび仮想化技術を得意とする。日本OpenSolarisユーザグループのメンバとして、OSCなど勉強会での登壇多数。Twitter: @s-miyaza Facebook: satoru.miyazaki.31 Slideshare: http://www.slideshare.net/satorumiyazaki<KUSANAGI開発チーム> プライム・ストラテジー株式会社超高速WordPress仮想マシンKUSANAGIの開発とWordPressマネージドサーバホスティングのサービス開発を担当するチームです。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9338 2016/04/11 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング