TeXteP's Blog!

落ちない WordPress サイト!

WordPress による落ちないサイト


「会社の製品がテレビで紹介された」
「お店のサービスがラジオで紹介された」
「大手ポータルのトップで商品が紹介された」

いわゆるパブリシティは費用対効果の高い営業促進の手法で、取り上げてもらうのはたいへんありがたいことです。

しかし、その情報を見た消費者が一斉にサイトへアクセスしたため、ウェブホストの能力を超えてページが表示されないことがあります。せっかくの機会に情報発信が滞るのはとてももったいない事態です。

アクセス急増のきっかけはパブリシティだけではありません。商品やサービスが口コミによる高い評価を得ることや、何かのきっかけでお店や会社がニュースで伝えられるということもあります。もちろん営業活動がうまくいって、世間からたくさんの反響をいただくこともあります。

一般に、アクセスが急増しても耐えられるウェブサイトは、決して安くないコストをかけて、ウェブホストを増強します。旧来はとくにそう考えられていました。しかし様々なサービスの進歩とともに安価に対応できる方法も生まれました。ここではその例を紹介します。

一般のウェブサイト


一般に、シンプルなウェブサイトは次の構成でウェブページを送信します。

  • ホストコンピュータ
  • ホストコンピュータ上のウェブサービスプログラム
  • ホストコンピュータ上に保存したコンテンツ

シンプルなウェブサイトの構成図
ホストコンピュータがブラウザからページ表示のリクエストを受け取ると、ウェブサービスプログラムがコンテンツを取り出してブラウザへ送ります。ブラウザは受け取ったコンテンツを表示します。

このとき、ウェブサービスプログラムはホストコンピュータの CPUメモリといったハードウェアを利用します。もし同時に複数の箇所からリクエストを受ければ、CPU やメモリを多く使ってできる限り遅れないよう働きます。

しかし、ホストコンピュータ内の CPU やメモリは限られています。可能な限りの CPU とメモリを利用しても追いつかないほどのリクエストを受ければ、先着順で処理し、あとからのリクエストを待たせることになります。あまりにも長い時間待たせると、リクエストしたブラウザは「サイトが応答しない」と表示して終えることがあります。この状態を一般に「サイトが反応しない」「サイトが落ちた」などと表現します。

落ちないサイトの作り方


Amazon S3 を利用します。
https://aws.amazon.com/jp/s3/
Amazon Simple Storage Service
Amazon S3 標準ストレージクラスには3つの特徴があります。

  • 「高可用性」システムが継続して稼働できる能力が高いという意味です。
  • 「低レイテンシー」遅延が少ないという意味です。
  • 「高スループット」転送能力が高いという意味です。

この S3 は静的ウェブサイトホスティングを利用できます。常に一定のコンテンツを返すページであれば利用できる仕組みです。
Amazon S3サイトの構成図
つまり、継続して稼働でき、遅延が少なく、転送能力が高い、落ちないウェブサイトを作成できます。

しかし万能ではありません。WordPress サイトをそのまま動かせないためです。

WordPress サイト


WordPress は専門知識がなくてもウェブサイトやブログを作成できる仕組みです。
https://ja.wordpress.com/
WordPress
この記事も WordPress で書いています。ブログ全体を WordPress で作成しました。

WordPress は次の構成でウェブページを送信します。記事はじめの「一般のウェブサイト」と比べてください。

  • ホストコンピュータ
  • ホストコンピュータ上のウェブサービスプログラム
  • ホストコンピュータ上のWordPress プログラム
  • ホストコンピュータ上に保存したコンテンツ
  • データベース上に保存したコンテンツ

WordPressサイトの構成図
ホストコンピュータがブラウザからページ表示のリクエストを受け取ると、ウェブサービスプログラムが WordPress プログラムを実行します。WordPress プログラムはホストコンピュータ上とデータベース上に保存したコンテンツを取り出してページを作成します。ウェブサービスプログラムは作成したページをブラウザへ送ります。ブラウザは受け取ったコンテンツを表示します。

シンプルなウェブサイト(静的ウェブサイト)に比べて次の違いがあります。

  • 仕組みが複雑になりコンピュータ内の手続きが増えます。
  • ページ表示時の実行に時間がかかります。
  • CPU やメモリの使用量が増えます。
  • 動的ウェブサイトなので Amazon S3 を利用できません。

つまり WordPress サイトそのものは、この記事で目指している落ちないサイトにはなれません。

WordPress による落ちないサイト


WordPress サイトのコンテンツを静的サイト化する方法があります。StaticPress プラグインStaticPress S3 プラグインを用います。

StaticPress プラグインは WordPress が生成するサイトの全ページを取り出して、静的コンテンツとして保存してくれます。
StaticPress S3 プラグインは StaticPress プラグインが生成した静的コンテンツを S3 へ転送します。
WordPressを用いたS3サイトの構成図

いまご覧になっているブログはこのように作成しました。


テクステップでは落ちないサイト構築をお手伝いいたします。
お問い合わせは へお気軽にお送りください。