クラウド移行後の「遅い」を防ぐ!負荷テスト&モニタリングの3つのポイント
|
長年運用されてきた基幹業務システムを、オンプレミスからクラウドに移行するお客様が年々増えています。
クラウドへの移行は高い可用性と信頼性の実現が期待できる一方で、性能劣化・コスト増加・性能問題発生時の問題解決の難しさ・オンプレミス環境との互換性のリスクなど、様々な問題があります。
そこで、クラウド移行前後に必要となる「負荷テスト」や「モニタリング」に関するポイントをお伝えします。
![]() |
---|
<執筆者> 大石 佐代 Ohishi Sayo
ビジネスインフラ技術本部 システム基盤技術統括部
1997年に入社以来、機能テスト、負荷テスト、テスト工程管理、システム監視、アプリケーション性能管理、
ITサービスマネジメント分野を中心に担当。
最近は、ITサービスマネジメントの価値向上に貢献するサービスの開発に挑戦する傍ら、業務改善につながる
お客様向けの勉強会を企画・実施している。
16年間の東京勤務を経て、2013年に名古屋に転勤。現在は名古屋だけでなく西日本全体の提案活動を担当。
今ではすっかり名古屋の魅力にとりつかれ、9歳の娘と自転車で散策を楽しんでいる。
クラウド移行時によくある性能問題
業務システムをクラウドへ移行する際、「性能問題」は避けて通れない課題の一つです。
オンプレミス環境では問題なかったシステムでも、クラウド特有の特性により予期せぬ性能劣化や問題が発生する可能性があります。
-
全体的な処理速度の低下
「以前よりシステムが遅くなった」と感じる全体的なパフォーマンスの低下が起こる -
ピーク時の応答遅延
オンプレミスでは問題がなかったトラフィック量でも、
クラウド環境の設計や設定によってはピーク時に処理が追いつかず、システムが遅延する -
地理的要因による遅延
グローバル展開するアプリケーションの場合、特定地域からのアクセスでネットワーク遅延が発生する -
オートスケール機能の不備
高負荷時に自動でリソースを増やす「オートスケール」が正しく機能せず、性能低下を招く - リソース不足
適切なリソースプランニングが行われず、リソースの割り当てが不十分なために、従来の処理速度が出ない -
予期せぬコスト増加
リソースを過剰に割り当てたまま使い続けるなど、適切なリソース管理ができていない
これらの性能問題は、ユーザーエクスペリエンス(ユーザー体験)の低下だけでなく、業務の遅延や停止、機会損失、さらにはビジネス全体の信頼性低下に繋がりかねません。
限界性能や高負荷時の処理能力は、実際に負荷をかけてみなければ分かりません。
特に高いオンライン性能が求められるシステムでは、実運用を想定した適切な負荷テストを実施して、性能問題の発生を予防しましょう。
-
問題発生時のビジネスインパクトが大きいシステム
- 業務遅延/停止による影響が大きい
- 利用者の満足度が著しく低下する
- ビジネスの信頼性が低下する
- キャンペーンの機会を損失する
- オンプレミスと同等の性能が求められるシステム
- 最適なコスト管理とシステム品質の維持が求められるシステム
- 災害対策として異なるリージョンを利用するシステム
負荷テストの3つのポイント
多くの企業で「どのような負荷テストをすれば良いかわからない」、「そもそも性能要件が明確ではない」といった問題を抱えています。
負荷テストは、単にツールを使って負荷をかけるだけでは意味がありません。
以下のポイントを踏まえて、プロジェクトの目的に合った負荷テスト計画を立てましょう。
1. 負荷テストの目的を明確にする
負荷テストの実施自体が目的とならないよう、プロジェクトごとに目的を言語化することが重要です。
以下を参考に、具体的な目的を書き出しましょう。
-
必要な性能を確認する
システムが要求される性能を満たしているかを確認する -
限界性能を把握する
システムの限界性能や高負荷時の処理能力を把握する -
監視要件を検討する
通常監視や予兆把握のために、システムの特性に応じた監視項目や閾値を検討する
2. 点検項目と判断基準を決める
負荷テストで何を点検し、どのような基準で合否を判断するのかを事前に決めておきましょう。
- 想定業務ごとの処理量とレスポンス時間はどの程度か?
- 高負荷時にユーザー体感する応答時間はどの程度か?
- 限界性能に達するタイミングはいつ頃か?
- サーバー側のプログラム処理性能に問題はないか?
- 適切なネットワーク帯域・構成になっているか?
- 適切なリソース配分が行われているか?
- オートスケールが適切に動作するか?
-
応答時間
- 各トランザクションの応答時間が5秒以下であること -
サーバーリソース
- CPU継続使用率が90%を超えないこと
- メモリ枯渇やフルGCが発生しないこと
3. 負荷テストのシナリオを決める
多くのシステムでは、単一URLの負荷テストだけでは意味がありません。
実際の業務では、複数のオペレーションが混在していますので、そこを想定した負荷テストシナリオを作成しましょう。
-
ユーザー数
同時に何ユーザーの処理に耐える必要があるかを検討する -
ユーザー操作(業務シナリオ)
既存システムの利用状況を分析し、どのオペレーションの組み合わせでテストをするかを決める -
負荷のかけ方
対象システムの要件や特性に応じ、どのような負荷のかけ方をするかを設計する
- 特定のタイミングで大量の負荷を生成する
- バッチ処理実行中にオンライン処理を実行する
- 複数の業務(ログイン、新規登録、決済、明細照会など)が混在するタイミングを再現する
- ピーク時(年度末の注文ピーク時など)を再現する など -
改善方法や体制
限られた期間で「負荷テスト → チューニング → 再負荷テスト」を繰り返せるよう、
テスト後の想定アクションや体制も事前に検討する
- CPU使用率の高いコードやSQLを見直す
- バッチ処理実行中にオンライン処理を実行する
- 外部の呼び出し処理を改善する
- リソースの過不足を調整する など
負荷テストによくある問題と解決策
ここまで負荷テストのポイントをお伝えしましたが、実際に負荷テストを実施するとなると、様々な問題が出てきます。
- 大規模なユーザーアクセスや長時間の稼働テストは、人手で再現することが難しい
- 負荷テストのためのインフラ環境を準備するコストがかかる上、継続利用する場合は管理コストもかかる
- フリーツールなどを使う場合は、正しい負荷設定ができないことがある
- フリーツールなどを使う場合は、レポートが充実しておらず、多角的な分析ができないことがある
このような問題を解決するには、負荷テストツールの活用が不可欠です。
短期間で質の高い負荷テストを実施するためにも、早めにツールの準備を進めることが成功の鍵です。
例えば「OpenTextTM Professional Performance Engineering(旧 LoadRunner)」のような負荷テストツールを使うのも良いでしょう。
国内外で豊富な実績があり、信頼性の高い負荷テストを実現します。
テスト要件によって稼働環境をオンプレミスかクラウドか選べる上、WEBはもちろん、SAP・ERP・AJAX・FLEX・Citrixなど多様な環境にも対応しているので、様々な負荷テストに活用できます。
クラウド移行後の性能問題発生時によくある困りごと
クラウド移行できたからといって安心してはいけません。
システムの経年劣化はもちろん、クラウド環境では常に変化が起こるため、性能問題が発生する可能性はゼロにはなりません。
-
現状の説明が困難
ユーザーから問い合わせがあっても、必要なデータが足りないことで、正確な状況説明ができない -
原因の特定が困難
クラウド環境の動的で複雑なシステム構成により、原因の特定が難しい -
デプロイ起因の障害が多発
リリース頻度が増えるクラウド環境では、デプロイのタイミングと性能の関係を把握できていないために
障害が多発することがある
クラウドはオンプレミスよりも動的な要素が増えるため「どこで、何が、なぜ起きているのか」の特定が難しく、オンプレミスでの経験が通用しないケースも多いです。
クラウド環境では、常にモニタリングを行い、問題発生時にすぐに調査できる環境を準備しておくことが大切です。
モニタリングの3つのポイント
クラウド移行後の安定稼働には、問題発生から解決までのリードタイムを短縮するための適切なモニタリングが不可欠です。
リードタイム短縮の工夫をしているか否かで、問題発生時の対応力は大きく変わります。
以下の「理想のパターン」に近づけるためのモニタリングのポイントを見ていきましょう。
問題解決のアンチパターンと理想のパターン
|
1.検知すべき事象を明確にする
モニタリングを成功させる最初のステップは、何を検知すべきかを明確にすることです。
単にシステムが動いているかを確認するだけでなく、ビジネスへの影響やシステムの重要性によって検知する基準を変える必要があります。
受注処理、発送処理、決済処理など、ビジネスへの影響が大きい処理については「通常10秒で終わる処理が1分以上かかるようなら検知する」などの明確な基準を設けると良いでしょう。
- ユーザーに影響は出ていないか?
- リソース状況に問題はないか?
- パフォーマンスに問題はないか?
- サービスやプログラムは問題なく稼働しているか?
- エラーや警告は出ていないか?
2.すぐに問題の検知や原因調査ができる環境や体制をつくる
問題が発生する前に検知したり、問題が発生した時に迅速に対応できる環境や体制を構築することは、システムの安定稼働の鍵となります。
運用チームがログ収集に時間をかけたり、関係部門間でのコミュニケーションに時間がかかるようでは、対応が遅くなってしまいます。
まずは、誰もがすぐに原因調査に入れるように、以下のような機能を実装しておくと良いでしょう。
クラウド環境においては、コンテナ化されたアプリケーションにおいても、個々のアプリケーション単位で問題の検知や原因調査ができるようにしておくことも大切です。
-
アラート通知
異常を検知した際に、適切な担当者に適切な方法(メール、チャット、SMSなど)で通知されるようにアラートを設定する
できるだけ誤検知が少なく、本当に対応が必要なアラートのみが通知されるように閾値を調整する -
ログの一元管理
複数のシステムやアプリケーションから出力されるログを集約し、検索・分析が容易な環境を構築する
問題発生時には、関連するログの特定や状況把握が迅速にできる -
ダッシュボードによる可視化
必要な情報を集約し、システム全体の性能や処理状況を一目で把握できるダッシュボードを準備する
どこに問題があるのかを素早く特定し、原因調査の初動を早めることができる -
分析
収集したデータで原因や傾向を分析できるようにする
改善アクションまでのリードタイムを短縮することができる
- 現在と過去のデータを比較し、性能改善の方向性を検討する
- 特定のアプリケーションで過剰なリソースを使用するSQLを早期発見する
- SQLの実行頻度や処理時間を分析し、データベースの負担を最小化する など
3.モニタリングを継続する
システム移行後のモニタリングは一度設定して終わりではありません。継続的なモニタリングが不可欠です。
問題がないかを常に確認し、将来的なリスクを早期に発見できる体制を維持します。
ダッシュボードなどを使って以下のような情報をリアルタイムに把握し、関係者に定期的にレビューすると良いでしょう。
- システムがどれぐらい利用されているか?
- 現時点でどれぐらいの処理に対応できているか?
- 今日は普段と比べて応答時間は短いのか長いのか?
- 今日は何回デプロイが発生したのか?
- 今日はどのようなイベントが発生しているのか?
- システムで処理する機能が増えた後、どのような影響があったのか?
- システムを利用するユーザーが増えた後、どのような影響があったのか?
モニタリングによくある問題と解決策
ここまでモニタリングのポイントをお伝えしましたが、実際にモニタリングを実施するとなると、様々な問題が出てきます。
特にWEBシステムの遅延となると、障害監視だけでは分からず、苦労するケースも多いです。
- WEBシステムが遅くなる原因は多岐にわたるため、特定が難しい
- 各レイヤー(インフラ、OS、データベース、アプリケーション、サービス)ごとに
原因を探らなくてはいけないので、莫大な時間がかかる
このような問題を解決するには、アプリケーション性能管理(APM)ツールの活用がおすすめです。
インフラのモニタリングと併せて利用することで、クラウドでのWEBアプリケーションの安定稼働に繋がるでしょう。
例えば「JENNIFER(ジェニファー)」のようなアプリケーション性能管理ツールを使うのも良いでしょう。
わずか3クリックで性能低下の原因を特定でき、アプリケーションに関するイベントの検知や一覧化、予兆の把握ができます。
さらに、イベント発生前後のアプリケーションサーバー全体の動きをタイムマシンのように再現することができるため、原因調査の効率化が可能です。
さいごに
本コラムでご紹介した「負荷テスト」と「モニタリング」は、安定したクラウド運用に不可欠な要素です。
アシストでは「そもそも負荷テストで検討すべきことは何か?」「効果的な負荷テストのために何をすれば良いのか?」などのお悩みについて、様々なお客様へのご支援を通してブラッシュアップしてきた勘所があります。
さらに、負荷テストやモニタリングだけでなく、クラウド移行から運用までを幅広くご支援しています。
勉強会なども開催できますので、もしご興味があれば、ご気軽にお声掛けください。
参考
|
大規模基幹システムのオープン化を推進する中で、性能や安定稼働を担保するために負荷テストツールとAPMツールを導入。 |
|
テストツールを10年以上担当する技術者が、負荷テストの進め方や成功のコツを解説します。 |
-
[ コラム ]
オブザーバビリティとは?
ユーザー満足度を向上させるクラウド時代のシステム監視
クラウドの進化により、システム監視にも見直しが求められる今、
注目されている「オブザーバビリティ」という考え方をご紹介します。
・システム監視の新しい概念「オブザーバビリティ」とは
・オブザーバビリティを実現する3つのポイント
・システム監視でユーザー満足度を向上させる方法
本ページの内容やアシスト西日本について何かございましたら、お気軽にお問い合わせください。