keyboard_double_arrow_up

Blog X-Tech5エンジニアがお送りするテックブログ
SREやDevOpsをはじめ、インフラエンジニアリングの実践情報を届けします。

事例:負荷テスト・パフォーマンスチューニング

2022年3月14日 

システム応答性能はサービス利用者の利用体験に直結する重要な要素です。システム応答性能・キャパシティのリスクマネジメントには負荷テストが欠かせません。システム応答性能やキャパシティを検討・検証・実現するには、システム全体を俯瞰し・かつソースコードレベルまで掘り下げる総合力が必要です。

X-Tech5の負荷テスト・パフォーマンスチューニングは、サービス利用者の利用体験を担保・向上させるために、何をどのように検証するかから考え、負荷テストによって検証し、ボトルネックを特定します。

 

事例:教育系Webサービスの負荷テスト・パフォーマンスチューニング

  • 実施時期 :本番リリース直前
  • 所要期間 :6週間(準備:2~3週間、実施・まとめ:3~4週間)
  • 実施範囲 :負荷テストパターン提案、負荷シナリオ設計、負荷シナリオ実装、与負荷環境構築、モニタリング整備(Infrastructure、APM)、報告&ディスカッション&改善提案×3、改善結果をもとにしたスケーリングと再試験の設計・実施
    • ※アプリケーションプログラムの改善は開発者にて実施
  • ドキュメント :負荷テスト結果報告書(都度/最終)



ヒアリングの結果として今回は想定される利用傾向(システムへのアクセスパターン)が瞬発的で特徴的であったため、その利用傾向を模した負荷テストシナリオを作成しました。おおまかな利用方法はお客さまから伺い、X-Tech5がシナリオの具体化やポイントの絞り込みを行いました。

モニタリング整備も併せて行い、インフラやシステムアーキテクチャ・アプリケーションプログラムのホットスポット(エンドポイントやコード)を特定し、アプリケーションプログラム開発者の方とともに改善しました。

負荷テストを経ておよそ1000倍の効率化を実現しました。

負荷テスト結果報告書の目次例

  • 実施概要
  • 寸評
  • 負荷テスト実施時のシステム設定
  • 負荷テスト結果

 

改善提案例

  • RDBMSにおいて特定の状況下でテーブルに対するINSERTが遅延することを確認。システム利用上はその状況は基本的に発生しないはずということがわかったので、念のため運用上のシステム利用パターンを調整し注意喚起を行う
  • サーバサイドで特定の処理の所要時間が長いことを確認。その処理をフロントエンドへ移行し、サーバサイドに必要なキャパシティを削減することで、キャパシティ向上とコスト最適化を行う

ご興味・ご関心がありましたらお問い合せください。