Akamai Diversity

Akamai Japan ブログ

大規模トラフィックに備える、負荷試験ソリューションCloudTestのご紹介

北米のクリスマスセールや中国の独身の日(11月11日)のセールのように、近年インターネット上で大規模なセールを行う企業が増加しています。このような大きなセールは、平常時に比べて大勢のユーザがアクセスします。結果として、オリジンサーバの負荷が上昇し、ユーザへの応答に長い時間を要してしまったり、場合によってはサーバがダウンしてしまい、情報が全く応答されなくなったりします。ウェブサイトではその間、商品やサービスを売ることができなくなったり、新規会員の登録ができなくなったりする可能性があります。このような事態は機会損失に加えてブランドイメージの低下を招き、ユーザによっては二度とウェブサイトへ訪問しなくなる可能性さえあります。ウェブサイトにおけるビジネスリスクを取り除くために、大規模なトラフィックが発生するイベントの前には周到な準備が必要となっています。

CloudTestとは

アカマイではCDN (Content Delivery Network) を活用したキャッシュ機能はもちろん、ピークトラフィックを柔軟にコントロールできるCloudletのVisitor Prioritizationなどの多彩なソリューションを活用することで、オリジンサーバを過負荷な状態から守ることができます。その中でもピークトラフィックが耐えられるかどうかを検証できる負荷試験ソリューションのCloudTestは、事前にどこに弱点や問題となりそうな点があるかを把握できるため、予め対策を講じることでピークトラフィックに対して万全の準備を整えることができます。

CloudTestは、クラウドを活用して世界中の分散された箇所から希望に応じた規模の仮想ユーザ数と実ユーザの行動を模擬して、ターゲットの環境へ負荷をかけることが可能です。本記事ではCloudTestの特徴であるテストシナリオ作成の容易さ、テスト中に様々な気付きを得られるダッシュボード、仮想ユーザ数をリアルタイムに変更できるDynamic Ramp機能およびCloudTestを用いたプロフェッショナルサービスについてご紹介します。

テストシナリオ作成

負荷テストとなるとテストシナリオの作成が難しいケースがありますが、CloudTestはブラウザの拡張機能やコンダクターと呼ばれるエージェントアプリケーションを利用することで簡単にテストシナリオを作成できます。例えば、ブラウザの拡張機能ではターゲット先にアクセスするだけでベースページおよび組み込みコンテンツがレコーディングされます。こちらのレコーディングした結果をもとに、何十万の仮想ユーザをログインさせたり、レスポンスに応じてリクエストを分けることなどの多種多様なテストシナリオを作成することができます。

ct_recording.jpgct_recording2.jpg

ダッシュボード画面

CloudTestは様々なダッシュボードを活用して、リアルタイムに負荷テストを監視できます。CloudTestの特徴の一つとして、ターゲット先の環境も含めて一つの画面で監視できる点があります。ターゲット先のCPU使用率やメモリを直接接続して確認できるほか、DynatarceやNew Relic等のAPM (Applecation Perfromance Monitoring) 製品と連携して監視することも可能です。結果として、負荷テストのシナリオの状況とサーバ内部の状況を関連付けて監視できます。例えば、仮想ユーザ数とCPU使用率等の関係性を可視化できます。以下のダッシュボード画面では、仮想ユーザ数が一定の人数に達してから、CPU使用率が100%になっていることを確認できます。

ct_cpu.jpg

他にもエラーの発生状況や、Waterfallチャートでレスポンス状況を確認できます。どのようなエラーが発生しているか、どちらのホスト名やリソースが問題となっているか、テスト実行中に分析できます。

ct_error.jpg
ct_waterfall.jpgもしかしたらテストの途中でシステムの問題点を見つけてテストシナリオを変更したいかもしれません。そのときは、機能の一つであるDynamic Rampにて仮想ユーザ数の制御をテスト中に実施し、突然のテストシナリオ変更も実現できます。

ct_dynamic.jpg

プロフェッショナルサービスについて

CloudTestの機能は多彩であらゆる負荷テストを実現できますが、社内で負荷テストのリソースが割けない場合もあるかと思います。CloudTestには、CloudTest On Demandというアカマイの負荷テストのプロフェッショナルであるパフォーマンスエンジニアが、お客様と事前に要件をヒアリングさせていただき、テストシナリオの作成、テストの実行、結果内容の報告を行うサービスも提供しています。CloudTestやサービスに関して、詳しいご案内をご希望の際はお気軽にお問い合わせ下さい。