第2章. パフォーマンステスト手法
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
パフォーマンステスト は、さまざまな理由で実施される。この章では、チームが実施したいと考えるさまざまなタイプのパフォーマンステストを紹介し、各タイプのテストのベストプラクティスについて説明する。
この章の後半では、パフォーマンスの問題を考える際に軽視されがちな統計と、非常に重要な人的要因について説明する。
パフォーマンステストの種類
パフォーマンステスト は、しばしば間違った理由で実施されたり、ひどい形で実施されたりする。その理由は多岐にわたるが、パフォーマンス分析の本質を理解していないことや、「何もしないよりは、何かをした方が良い」という信念に根ざしていることが多い。本書を通じて何度か見るように、この信念は、せいぜい危険な半分の真実であることが多い。
よくある間違いのひとつは、具体的な話をせずに「パフォーマンステスト」と一般化することである。実際、システムで実施できる大規模なパフォーマンステストには、さまざまな種類がある。
注
優れたパフォーマンステストは定量的である。それらは、実験的なアウトプットとして扱え、統計的な分析の対象となるような、数値的な答えを生み出すような質問をする。
本書で取り上げるパフォーマンステストの種類は、通常、独立した(しかし多少重複する)目標を持っている。 したがって、どの種類のテストを実施すべきかを決定する前に、答えようとしている定量的な問題を理解することが重要である。
これは、それほど複雑である必要はない。単純に、テストが回答することを意図している質問( )を書き出すだけで十分である。しかし、これらのテストがアプリケーションにとってなぜ重要なのかを検討し、アプリケーションの所有者(または主要な顧客)にその理由を確認するのが普通である。
最も一般的なテストの種類と、それぞれの例題は以下の通りである:
- 遅延テスト
-
エンド・ツー・エンドのトランザクション時間は?
- スループットテスト
-
現在のシステム容量で、どれだけの同時トランザクションに対応できるか?
- ストレステスト
-
システムの限界点はどこなのか?
- 負荷テスト
-
システムは特定の負荷に対応できるか?
- 耐久テスト
-
システムを長期間稼働させた場合、どのようなパフォーマンス異常が発見されるのか?
- キャパシティ・プランニング・テスト
-
リソースが追加されたとき、システムは期待通りにスケールするか?
- 劣化
-
システムが部分的に故障した場合はどうなるのか?
これらのテストの種類を順番に詳しく見ていこう。
遅延テスト
遅延 は、最も一般的なタイプのパフォーマンステストの1つである。なぜなら、遅延は、経営陣(およびユーザ)にとって非常に関心の高いシステム観測値であることが多いからである。
これは諸刃の剣である。なぜなら、(遅延テストが答えようとする)質問が単純であるために、チームは遅延に集中しすぎてしまう可能性があるからである。 その結果、チームは他のタイプのパフォーマンステストのための定量的な質問を特定する必要性を無視することになりかねない。
注
遅延チューニングの目的は通常、ユーザ体験を直接改善すること、あるいはサービスレベル契約を満たすことである。
しかし、最も単純なケースであっても、遅延テストには注意深く扱わなければならない微妙な点がある。 最も顕著な点の1つは、単純な平均値(平均値) ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access