ディーネットでは定期的に負荷テストのご相談をいただいています。一言で負荷テストといっても、お客様の状況は様々です。そこでこの記事では、実際にあったお客様のご相談動機を分類し、負荷テストでどのような課題が解決できるかをご紹介します。
ご相談時のシステム運用状況
まず、ご相談サービスの運用状況の割合について調べました。
- サービスリリース前:運用中=28:72
サービスリリース前のお客様が約3割、運用中のお客様が7割となりました。
負荷テストというと、リリース前に行うテスト工程のようなイメージですが、以外にも運用中のお客様のほうが多い結果となりました。
サービスリリース前のお客様
まずは、サービスリリース前のお客様は、
- 事前定義した性能要件を満たしていることを証明する
- ナレッジ不足の補填
というお困りごとを解決するためにご相談いただいています。
それぞれについて詳しくみていきましょう。
事前定義した性能要件を満たしていることを証明する
システム開発では、要件定義に性能要件が組み込まれます。性能要件では、「想定するデータ量、ユーザ数でシステムへアクセスしたときに許容可能な応答速度」などが定義されます。当然定義しただけで終わるわけではなく、その性能を満たしていることを証明することが必要です。その証明のために負荷テストの実施を行います。
負荷テストは開発フェーズの後半に行われることが多く、場合によっては未実施でリリースされることもあります。開発の終盤では、開発へリソースを集中させたいため、負荷テストをアウトソースしたい。そんなご相談を受け、性能要件を満たすための負荷テスト計画から実施・レポート作成までのご支援をさせていただいております。
ナレッジ不足の補填
JMeterという負荷テストツールを使うことが多くあります。実施のためには、開発スキルとは別のスキルが要求されることもあり、社内で負荷テストができる体制が整っていない会社様も多いのが実情です。自社でシナリオを作成してみたものの、うまく動作せずに大幅な工数がかかってしまうことがあります。
そのような状況になったさいに、シナリオ作成のみのご支援をさせていただくことも可能です。
運用中のお客様
運用中のお客様の動機には次のようなものがありました。
- メディア露出対策
- LINEプッシュ通知対策
- 限定セールのための性能向上
- 季節的なアクセス増加の対応とインフラ運用
- 高負荷時に発生した障害の原因特定
メディア露出対策
テレビやCMなどのメディアへの露出対策のために負荷テストを行う場合があります。
テレビで大々的に取り上げられた企業やサービスのサイトを見に行くと閲覧できなかった。という経験が一度はあるのではないでしょうか。
莫大なマーケティング費用をかけて露出を増やしているにも関わらずサイトの閲覧ができなくなると機会損失は非常に大きくなります。それを防ぐために、事前に負荷テストを行い、大規模なアクセスに備えることになります。
そのような場合は、これくらいのアクセスに耐えられれば大丈夫。というような明確な目標設定をするのが難しくなります。時間的な制約もあるため、期間を決めて、可能な限り改善のサイクルを多く回す形で支援させていただいています。
ただ、無事に安定稼働できたとしても、「そんなにアクセスこなかった?」と逆にがっかりされがちなのがメディア露出対策の辛いところです。
LINEプッシュ通知対策
企業の情報発信が、メルマガからLINEプッシュ通知へと変わりました。LINEのプッシュ通知は即時性が高いため、タイムラグなく全会員に情報を届けることが可能です。
その結果として、リンク先URLへのアクセス集中が発生し、サイトが停止することになります。通常時の数百倍から数千倍以上のアクセスが来ることも珍しくはありません。中には1Gbpsを超えるトラフィックが発生するお客様もいらっしゃります。
会員数が少ない場合はサーバーのみでも対応できますが、数万会員規模となるとサーバーで対応することが難しくなってきます。そのような場合の対策として、CDNの導入や静的コンテンツ化のご支援をしております。
限定セールのための性能向上
ECサイトの限定販売なども負荷テストを活用できるパターンです。最近では、マスクを販売するサイトへのアクセス集中が発生し、販売休止や抽選方式になった。等のニュースもよく聞くのでイメージしやすいかもしれません。
この場合、販売当日のシュミレーションを行い、負荷テストで限定販売当日のシュミレーションをすることが可能です。シュミレーション結果を分析し、ボトルネックとなる箇所を把握し、チューニングへとつなげていきます。サーバスペックやミドルウェアのチューニングで解消する場合は当社にて実施します。スロークエリやアプリケーションが原因の場合は、開発会社様へ情報を連携し、対応いただくことになります。
また、負荷テストだけではなく、インフラをお預かりして、当日の運用対応までひきうけることも可能です。
季節的なアクセス増加の対応とインフラ運用
ゴールデンウィーク、年末、年始、〆切など季節的に決まってアクセスが増えるサイトもあります。
そのようなサイトの場合は、負荷テストだけでなくインフラをお預かりすることで、運用ナレッジの蓄積がすすみ、円滑に対応することが可能です。
負荷テストシナリオは使いまわせることが多いため、2回目以降はピーク時期の数か月前に短期間で負荷テストを行い、前回以降のシステム改修が悪影響を与えていないかを確認することが可能です。
高負荷時に発生した障害の原因特定
事前の対策ではなく、事後の対応でも負荷テストを利用される場合があります。
インフラ移設直後に高負荷エラーが発生し、切り戻しを行ったお客様がいました。原因追及ができておらず、特定しないことには切り替えができない状況です。
お客様環境へログインさせていただき、アクセスログ等から当時の状況を解き明かし、負荷テストを行うことで当時の状況の再現を行い、原因特定を行うことができました。
まとめ
過去ご相談いただいたお客様の動機を見ると、負荷テストをすることで、
- 事前定義した性能要件を満たしていることを証明する
- ナレッジ不足の補填
- メディア露出対策
- LINEプッシュ通知対策
- 限定セールのための性能向上
- 季節的なアクセス増加の対応とインフラ運用
- 高負荷時に発生した障害の原因特定
などの課題を解決することが出来ています。
事前の負荷テストから稼働中のインフラ運用まで対応していますので、お気軽にご相談ください。
参考.
全体的な負荷テストの進め方が気になる方は、「負荷テストの進め方」をご覧ください。