FE EXAM

レスポンスタイム(応答時間)

リクエストを送ってから最初の応答が返り始めるまでの時間。

INTERACTIVE VISUALIZATION
待ち時間
処理(応答)
残り出力
フェーズ
idle
レスポンスタイム
ターンアラウンドタイム
シナリオ
ステップ1 / 6
STEP 1/6リクエストを送る前まだ何も送っていない状態です。これからクライアント(=利用者の端末)がサーバに「このページをください」といった要求(リクエスト)を送ります。横軸は時間の流れを表します。左から右へ進むほど時間が経過していると考えてください。
時間 →0ms待ち時間(順番待ち)処理(応答が返る)残りの結果出力送信最初の応答全完了
計測のしかた
レスポンスタイム = (最初の応答が返り始めた時刻) − (送信した時刻)
         = 100ms − 0ms = 100ms
ターンアラウンドタイム = (全結果が出た時刻) − (送信した時刻)
            = 400ms − 0ms = 400ms
解説

📌
レスポンスタイムとは

送信最初の応答レスポンスタイム

レスポンスタイム(応答時間)とは、リクエスト(=処理してほしいという要求)を送ってから、最初の応答が返り始めるまでの時間のことです。利用者が「反応の速さ」として体感する時間そのものです。

身近な例で考えると、レストランで注文してから料理が運ばれ始めるまでに似ています。注文を伝えた瞬間からストップウォッチを押し、最初の一皿が出てきたら止める。その間がレスポンスタイムです。全コースを食べ終わるまでの時間とは別ものだという点に注意してください。

上のツールで▶ボタンを押すと、リクエスト送信から待ち時間を経て、最初の応答が返り始めた瞬間にレスポンスタイムが確定する流れを確認できます。

📐
計測方法

レスポンスタイムは、2つの時刻の差で求めます。難しい計算は必要ありません。

レスポンスタイム = 応答開始時刻 − 送信時刻

計測の手順は次のとおりです。
① 送信時刻を記録:リクエストを送った瞬間の時刻をひかえる(計測スタート)
② 応答開始時刻を記録:最初の応答が返り始めた瞬間の時刻をひかえる(計測ストップ)
③ 引き算:②から①を引いた値がレスポンスタイム

注意したいのは、あくまで「最初の応答まで」を測る点です。全データが届くまでではありません。たくさんの利用者の値を測って平均をとった「平均レスポンスタイム」は、システムの速さを比べる目安としてよく使われます。上のツールの計測のしかたで、送信時刻と応答開始時刻の差を確認できます。

⚖️
ターンアラウンドタイムとの違い

送信最初の応答全完了レスポンスターンアラウンド

どちらも同じ「送信時刻」からスタートしますが、どこで止めるかが違います。レスポンスタイムは「最初の応答まで」、ターンアラウンドタイムは「投入から全結果が出るまで」を測ります。

項目レスポンスタイムターンアラウンドタイム
測る区間送信〜最初の応答投入〜全結果完了
意味反応の速さ全部終わるまでの早さ
例での値100ms400ms(より長い)

同じ処理でも、ターンアラウンドタイムはレスポンスタイムを内側に含む、より大きな時間になります。対話的な操作(Web画面のクリックなど)では「反応の速さ」が大事なのでレスポンスタイムを重視し、夜間バッチのようなまとめ処理では「全部終わるまで」が大事なのでターンアラウンドタイムを重視する、と使い分けます。上のツールの最終ステップで2本の区間を見比べてみてください。

練習問題

🎯
基本情報技術者 練習問題

Q1.レスポンスタイムの説明として最も適切なものはどれか。
A.リクエストを送ってから最初の応答が返り始めるまでの時間
B.リクエストを送ってから全結果が返り終わるまでの時間
C.単位時間あたりに処理できる件数
D.サーバが処理だけにかかった時間
Q2.レスポンスタイムの計測方法として正しいものはどれか。
A.処理にかかったCPU時間だけを足し合わせる
B.リクエストの送信時刻と、最初の応答が返り始めた時刻の差を測る
C.1秒間に完了したリクエスト数を数える
D.全結果が出力された時刻から送信時刻を引く
Q3.レスポンスタイムとターンアラウンドタイムの違いとして正しいものはどれか。
A.両者はまったく同じ意味である
B.レスポンスタイムは全結果まで、ターンアラウンドタイムは最初の応答までを測る
C.レスポンスタイムは最初の応答まで、ターンアラウンドタイムは全結果が出るまでを測る
D.ターンアラウンドタイムは待ち時間を含まない

関連コンテンツ