Q1 — 単一選択決済APIについて「ピーク時でも十分に速いこと」という要件がある。ピーク時は1秒あたり3,000リクエストを想定し、少なくとも95%のリクエストを300ミリ秒以内に完了させたい。設計判断に使えるパフォーマンス目標として最も適切なものはどれか。
A. 1秒あたり3,000リクエストの負荷で、最新世代のEC2インスタンスを使用することを目標にする
B. ピーク時を含むすべての時間帯で、決済APIの平均CPU使用率を70%未満に維持する
C. 1秒あたり3,000リクエストの負荷条件で、決済APIのエンドツーエンドレイテンシーをp95で300ミリ秒以下にする
D. 通常時の平均レイテンシーが300ミリ秒以下であることだけを目標にし、ピーク負荷は条件に含めない
答えと解説
答え:C
測定可能なパフォーマンス目標には、対象、負荷条件、指標、統計方法、閾値が必要です。Cはそのすべてを含んでいます。また、「少なくとも95%を300ミリ秒以内」という条件は、p95レイテンシーを300ミリ秒以下にする条件として直接評価できます。EC2の世代やCPU使用率は設計・原因分析には利用できますが、それだけでは利用者が求める応答性能を満たしたか判定できません。
Q2 — 単一選択夜間バッチで2TBのデータを60分以内に処理する必要がある。各処理の個別レイテンシーよりも、一定時間内に完了できるデータ量が重要である。主要なパフォーマンス指標として最も適切なものはどれか。
A. 1秒あたりに処理できるデータ量としてのスループット
B. 同時に処理中のリクエスト数としての同時実行数
C. 1回の処理が完了するまでのレイテンシー
D. 1秒あたりのI/O操作回数としてのIOPS
答えと解説
答え:A
この要件で重要なのは、2TBを60分以内に処理するという一定時間内の総処理量です。そのため、データ量/時間として表すスループットが中心となります。
Q3 — 単一選択トランザクション処理用ストレージでは、8 KiB程度の小さいランダムI/Oを1秒あたり25,000回処理することが主要要件である。転送する総データ量より、1秒あたりに完了できるI/O操作数を重視する。主要なパフォーマンス指標として最も適切なものはどれか。
A. ネットワークの同時接続数
B. データ転送量としてのスループット
C. 1秒あたりのリクエスト到着数
D. 1秒あたりのI/O操作数としてのIOPS
答えと解説
答え:D
この要件は、小さいランダムI/Oを25,000操作/秒と、I/O操作数を直接指定しています。したがって主な指標はIOPSです。スループットはデータ量/時間を見る別の軸であり、同じものではありません。
Q4 — 単一選択あるAPIは安定した負荷で平均4,000リクエスト/秒を受け、1リクエストの平均処理時間は250ミリ秒である。処理中リクエスト数の概算として最も適切な値はどれか。
A. 250
B. 1,000
C. 4,000
D. 16,000
答えと解説
答え:B
250ミリ秒は0.25秒なので、4,000リクエスト/秒 × 0.25秒 = 1,000です。概算では約1,000件が同時処理中になります。リクエストレートと同時実行数は同じ値ではなく、平均処理時間にも依存します。
Q5 — 単一選択注文APIの平均レイテンシーは150ミリ秒だが、一部の利用者では1秒を超える。要件は「リクエストの99%を500ミリ秒以内に完了する」である。この要件を直接評価するパフォーマンス目標として最も適切なものはどれか。
A. 平均レイテンシーを500ミリ秒以下にする
B. 最大レイテンシーを500ミリ秒以下にする
C. p99レイテンシーを500ミリ秒以下にする
D. 1秒あたりのスループットを500にする
答えと解説
答え:C
p99は99%の測定値がその値以下になる位置を表します。したがって、99%のリクエストを500ミリ秒以内という要件は、p99レイテンシーを500ミリ秒以下にする条件として直接評価できます。平均値だけでは、一部の遅いリクエストが見えにくくなる場合があります。
Q6 — 複数選択:2つ選択決済APIのパフォーマンス要件は、ピーク時2,000リクエスト/秒、p95レイテンシー300ミリ秒以下である。負荷試験では、2,000リクエスト/秒、p95レイテンシー420ミリ秒、平均CPU使用率35%、平均メモリ使用率40%という結果になった。要件達成の判定として正しいものを2つ選択してください。
A. CPU使用率が低くても、指定負荷でp95が420ミリ秒なのでパフォーマンス要件は未達である
B. CPU使用率が35%なので、レイテンシーに関係なくパフォーマンス要件を満たしている
C. CPU使用率やメモリ使用率は原因分析に使えるが、要件達成の判定は指定負荷でのp95レイテンシーを基準にする
D. p95が閾値を超えていても、CPUに余裕があるためパフォーマンス要件を満たしていると判断する
E. CPU使用率70%未満を新たなパフォーマンス目標に置き換えれば、元のレイテンシー要件も満たしたことになる
F. リクエストレートを下げてp95が300ミリ秒以下になれば、元のピーク時要件も満たしたと判断する
答えと解説
答え:A / C
CPU使用率やメモリ使用率は、性能問題の原因を調査するときに役立ちます。しかし今回の業務要件は2,000リクエスト/秒かつp95レイテンシー300ミリ秒以下です。実測は420ミリ秒なので、CPUに余裕があっても要件は未達です。内部リソース指標は原因分析に使い、要件達成は業務目標に直接対応した指標で判定します。
Q7 — 単一選択新サービスでは5,000人が同時にログインすることが想定されている。APIの想定リクエストレートを決めるための判断として最も適切なものはどれか。
A. 同時利用者数とリクエストレートは同じ値なので、5,000リクエスト/秒とする
B. 同時利用者数だけでは一意に決められないため、1利用者あたりの平均リクエスト頻度を確認する
C. 平均処理時間が分かれば、利用者の操作頻度を確認しなくてもリクエストレートを決められる
D. 同時利用者数が分かれば、リクエストレートだけでなくp95レイテンシーも自動的に決まる
答えと解説
答え:B
同時利用者数とリクエストレートは別の値です。例えば5,000人が同時利用していても、1人が平均10秒に1回要求なら約500リクエスト/秒です。まず同時利用者数と利用者あたりの要求頻度からリクエストレートを見積もります。平均処理時間は、その後リクエストレートと組み合わせて同時実行数を見積もるために使います。