性能評価・プロファイリング

Webのサービスの応答時間を評価するとき、平均の値だけでなく99パーセンタイルの値(遅い方から1%の境目)を見ることが多い理由として正しいものはどれか。

  1. A平均が良くても、一部の要求がとても遅いことがあり、多くの部品の応答を待つ処理ではその遅い応答が全体の遅さを決めるから
  2. B99パーセンタイルの値は、必ず平均より小さいから
  3. C平均の値は計算できないから
答えと解説を見る

正解:A. 平均が良くても、一部の要求がとても遅いことがあり、多くの部品の応答を待つ処理ではその遅い応答が全体の遅さを決めるから

応答時間の分布は、ほとんどが速く、ごく一部がとても遅い形になりがちです。平均だけを見ると、この遅い部分が隠れます。さらに、1つの画面を表示するのに100個の部品の応答を待つような処理では、どれか1つでも遅ければ全体が遅くなるので、1%の遅い応答がほとんどの利用者に影響します。そのため、遅い側の値(テールレイテンシ)を目標にして管理します。

  • A. 正しい。テールレイテンシと呼ばれます。
  • B. 遅い側の値なので、普通は平均より大きくなります。
  • C. 平均も計算できますが、それだけでは不十分です。
この分野を解く 分野ページへ

性能評価・プロファイリングのほかの問題

  1. あるサーバに毎秒100件の要求が届き、1件の処理に平均0.2秒かかる(定常状態とする)。サーバの中で同時に処理中の要求は平均何件か(リトルの法則)。
  2. サーバの使用率(忙しい時間の割合)が100%に近づくと、要求の待ち時間はどうなるか。
  3. プログラムの性能を改善するときにプロファイラを使う目的として正しいものはどれか。
  4. サンプリング方式のプロファイラの特徴として正しいものはどれか。
  5. 関数の入口と出口に時間を測るコードを入れて記録する計測(インストルメンテーション)方式のプロファイラについて正しいものはどれか。