Q1. k6のOpen Model(arrival-rate)とClosed Model(VU)の主な違いは?
A. Open Modelの方がメモリ使用量が少ない B. Open Modelは一定の到着レートを維持し、レスポンス遅延に影響されない C. Closed Modelの方がリアルな負荷を再現できる D. Open Modelはブラウザテスト専用
答えを見る
正解: B
Open Model(arrival-rate executor)はサーバーのレスポンス時間に関係なく一定のリクエストレートで送信し続ける。Closed Model(VU executor)はVUがレスポンスを受けてから次のリクエストを送るため、サーバーが遅くなるとリクエストレートが下がる。スパイクテストにはOpen Modelが適している。
Q2. キャパシティプランニングで安全マージンを設定する主な理由は?
A. コストを増やして予算を消化するため B. 予測の不確実性とバースト対応のバッファを確保するため C. オートスケーリングを無効化するため D. 負荷テストの実行時間を短縮するため
答えを見る
正解: B
需要予測は必ず不確実性を含み、予測外のバーストトラフィックも発生する。安全マージン(通常20-30%)を設けることで、これらに対するバッファを確保し、スケーリングが間に合わない場合でもサービスレベルを維持できる。
Q3. オートスケーリングのクールダウン期間の主な目的は?
A. インスタンスの起動時間を短縮する B. フラッピング(頻繁な増減)を防止する C. コストを削減する D. メトリクスの精度を上げる
答えを見る
正解: B
クールダウン期間は、スケーリングアクション後に一定時間新たなスケーリングを抑制することで、メトリクスが安定する前に過剰なスケーリングが繰り返される(フラッピング)のを防ぐ。スケールインのクールダウンはスケールアウトより長く設定するのが一般的。
Q4. リトルの法則 L = λ × W で、Webサーバーの同時接続数が100、平均レスポンス時間が50msの場合、最大スループットは?
A. 500 RPS B. 2,000 RPS C. 5,000 RPS D. 50,000 RPS
答えを見る
正解: B
λ = L / W = 100 / 0.05 = 2,000 RPS。同時接続100、レスポンス50ms(0.05秒)なので、1秒間に各接続が20リクエストを処理でき、100 × 20 = 2,000 RPS。
Q5. Lighthouse CIのパフォーマンスバジェットで「LCP < 2.5s」を設定する理由は?
A. Googleの検索ランキングに影響するCore Web Vitalsの指標だから B. LCPが2.5sを超えるとサーバーがクラッシュするから C. ブラウザの描画エンジンの制限だから D. HTTP/2の仕様で定められた値だから
答えを見る
正解: A
LCP(Largest Contentful Paint)はCore Web Vitalsの主要指標の一つで、2.5秒以内が「良好」と評価される。Googleの検索ランキングにも影響するため、CIで継続的に監視してリグレッションを防ぐことが重要。
Q6. 垂直スケーリング(Scale Up)が水平スケーリング(Scale Out)より適しているケースは?
A. ステートレスなWebサーバー B. シャーディングが困難なリレーショナルDB C. CDNのエッジサーバー D. バッチ処理のワーカー
答えを見る
正解: B
シャーディングが困難なRDBは、データの整合性を保つために単一インスタンスで動作させる必要があり、垂直スケーリング(CPU/メモリの増強)が適している。ステートレスなWebサーバーやワーカーは水平スケーリングが容易。
Q7. Canaryデプロイでパフォーマンス回帰を検知する際、比較すべき最も重要なメトリクスは?
A. CPU使用率のみ B. デプロイ時間 C. レイテンシのパーセンタイル値(p50, p95, p99)とエラー率 D. コンテナイメージのサイズ
答えを見る
正解: C
Canaryデプロイでは、Canary群とBaseline群のレイテンシ分布(p50, p95, p99)とエラー率を統計的に比較することで、パフォーマンス回帰を客観的に検知する。CPU使用率だけでは、アプリケーションレベルの問題を見逃す可能性がある。
Q8. サンダリングハード問題の最も効果的な対策は?
A. キャッシュを使わない B. キャッシュのTTLにジッター(ランダムな揺らぎ)を追加する C. キャッシュサーバーを増やす D. データベースのコネクションプールを増やす
答えを見る
正解: B
サンダリングハード問題は、同じTTLのキャッシュが一斉に期限切れになり、大量のリクエストがDBに集中する現象。TTLにランダムなジッター(例: TTL × 0.8〜1.2)を追加することで、キャッシュの期限切れを分散させて同時アクセスを防ぐ。