SHOEISHA iD

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

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

性能改善ノウハウを現場から直送! NTTデータのよりぬき『週刊まかせいのう』

負荷に弱いWebサイトはこうして落ちる! BtoCサイトに見るアクセス爆増(バースト)のパターンと備え・対策

性能改善ノウハウを現場から直送! NTTデータのよりぬき『週刊まかせいのう』 第2回


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

 本連載は、パフォーマンスを主な対象としてシステム開発・運用の改善や設計を行うNTTデータのコンサルタントチーム「まかせいのう」のメンバーが、業務での体験やそこから得た知見を共有する『週刊まかせいのう』の記事を編集し転載するものです。今回のトピックは、前回に引き続きBtoCサイトの負荷対策です。筆者が経験したアクセスの突発的・爆発的な増加(バースト)が起こるパターンを紹介し、それぞれへの備えや対処方法を解説します。

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

恐ろしいWebサイトの「バースト」現象

 前回に続いて、今回もECサイトやSNSサービスに代表されるBtoCサイトの負荷対策についてお話ししたいと思います。

 皆さん、よく利用しているECサイトやコミュニティサイトなどがつながりにくかったり、ページ表示がものすごく遅かったりして、「どうなってるんだ!」とストレスを感じた経験が一度はありますよね。BtoC系のWebサイトでは、予期せぬ大量のユーザアクセスが原因でスローダウンしたり、最悪サイト自体が停止してしまうケースもあります。このようなサービス障害を引き起こすのが、短時間でのアクセス集中、すなわち「バースト」です。

 今回は、筆者が経験したECサイト運用現場での事例をもとに、ユーザアクセスの傾向例を紹介しつつ、バーストへの対策について解説します。

バーストが引き起こされるパターン

 一口にバーストと言っても、その発生原因は「参照が多い」のか「更新が多い」のか、はたまた、参照であっても「静的コンテンツへのアクセスが多い」のか「動的ページ生成が重い」のかなどさまざまです。バーストへの対策はこうした負荷特性によって変わってきます。

 ここでは、私が過去にチューニングに携わったECサイトの中から、アクセスが集中するケースの代表的なパターンを3つ紹介します。

パターン①|国内通販サイトA「PC向けメールマガジン配信、ガラケー向けメール配信、夜間の購買ピークで異なる特性」

 このケースでは午前中に「50%OFF!」など特売情報をメールマガジンで告知したタイミングで、急激ににアクセスが集中しています。特徴的なのが、カートへの投入や購買といった更新を伴うアクセスは夜間帯のほうが多いことです。自宅でじっくりと検討できる夜間帯のほうが商品の購入を決断しやすいといったユーザの心理傾向が見て取れます。

グラフ①:パターン①におけるアクセス状況を表したグラフ 〔クリックで拡大〕
グラフ①:パターン①におけるアクセス状況を表したグラフ 〔クリックで拡大〕

 

パターン②|海外通販サイトB「バナー広告出稿タイミング、SNSのプッシュ通知のタイミングでアクセスが集中」

 このケースでは、バナー広告の出稿とSNSでのプッシュ通知でアクセス集中のパターンが大きく異なることが特徴的でした。

 バナー広告の出稿後は、アクセスされるページの分布はそのままで、アクセス量全体が大きく底上げされているのに対し、その直後に実施されたSNSアプリ(スマートフォンアプリ)によるプッシュ通知では、メッセージ内のURLへのアクセスのみが急激にバーストしています。このタイミングでは、サイト全体がスローダウンしてアクセスが受け付けられない状態が発生していました。実際には、この数倍以上のアクセスが来ていたのかもしれません。BtoCサイト運営の恐ろしさを感じます。告知媒体やプロモーション内容によるアクセス傾向の違いを事前に把握しておくことが、いかに大切であるかを痛感した出来事でもありました。

 また、次に示すグラフ②-1は動的に生成されるページへのアクセスのみを可視化したグラフ、グラフ②-2はcss、js、gifといった静的コンテンツを含めたグラフです。このパターン②の事例では、全体の8割以上を静的コンテンツが占めており、ネットワーク帯域の圧迫も問題となっていました。

グラフ②-1:動的に生成されるページへのアクセスのみを可視化したグラフ 〔クリックで拡大〕
グラフ②-1:動的に生成されるページへのアクセスのみを可視化したグラフ 〔クリックで拡大〕

 

グラフ②-2:css、js、gifといった静的コンテンツを含めたグラフ 〔クリックで拡大〕
グラフ②-2:css、js、gifといった静的コンテンツを含めたグラフ 〔クリックで拡大〕

 

パターン③|国内通販サイトC「特定の人気商品の発売にユーザが殺到」

 パターン①、パターン②のケースでは、商品一覧ページや個別の商品ページでも比較的多品目にアクセスが分散される傾向にあったのですが、このパターン③のケースでは、事前告知されていた人気商品の販売開始のタイミングで、特定の商品ページにアクセスが一気に集中しました。

 多品目な日常品を扱うECサイトとは異なり、玩具や書籍などを扱うECサイトでは、限定品や口コミによる人気の集中でサイトのキャパシティに到底見合わない量のアクセスが集中することがよくあります。

 似たケースとして、某中古品販売サイトで、毎日商品の在庫が補充されるタイミングでアクセス集中と、それに伴うレスポンス遅延が発生していました。集中しているURLを解析したところ、エンドユーザが登録しておいた商品が入荷するとそのユーザへ入荷が通知され、その通知結果を確認するページにアクセスが集中していることが判明しました。掘り出し物の争奪戦によって、アクセス集中が引き起こされていたのです。

グラフ③:パターン③におけるアクセス状況を表したグラフ 〔クリックで拡大〕
グラフ③:パターン③におけるアクセス状況を表したグラフ 〔クリックで拡大〕

 

 メルマガやSNSアプリのプッシュ通知、ポータルサイトへのバナー広告出稿などで発生するアクセスの集中なら、発生のタイミングを事前に想定できます。しかし、人気や話題性などで通常以上にアクセスが集中する可能性がありますし、Twitterや2ちゃんねるで話題(祭り?)になって一気に大量のアクセスが集中することもありえます。また、中古品販売サイトのケースのように、ユーザが能動的に行動を起こすことで生じるバーストは、事業者側が意図しないタイミングで起きるため、対応も後手に回りがちで厄介です。

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

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

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

メールバックナンバー

次のページ
アクセス集中への対策

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
性能改善ノウハウを現場から直送! NTTデータのよりぬき『週刊まかせいのう』連載記事一覧

もっと読む

この記事の著者

押田 知己(株式会社NTTデータ 「まかせいのう」チーム)(オシダ トモキ)

2007年に入社してすぐパフォーマンスチューニングの現場に放り込まれて以来、公共系、金融系から法人系まで数多のプロジェクトにてシステムパフォーマンスについて考え続けてきた。数人から始まった性能プロフェッショナルチーム「まかせいのう」が、今や100人近いチームになったことに感慨深さを感じつつ、パフォーマンスを...

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8793 2015/07/23 11:37

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング