ターンアラウンドタイムの意味はわかりますか。普段パソコンで仕事をしたり、ゲームや動画視聴などで処理が遅くなったり止まるケースもあります。このような事態が頻発してしまうと仕事などに支障をきたしてしまったり、ゲームなどを楽しめなくなる状況が生まれてしまいます。
状況を改善するためにも、あらかじめ処理に関する知識をつけておくことが必要ですが、最も重要なのがターンアラウンドタイムなど処理時間に関する知識です。IT業界ではターンアラウンドタイム以外にもレスポンスタイムなど処理時間について様々な用語があり、混同してしまうことも少なくありません。そこで処理全体に関わるターンアラウンドタイムを見ていき、処理時間の把握に努めていくといいでしょう。
ターンアラウンドタイム(ターンアラウンド時間)とは
一度処理をお願いしたいとパソコンに要求を行ってから、全体の処理をパソコンが終えて結果を出すまでにかかる時間をターンアラウンドタイムと呼んでいます。普段活用する際にはデータやコマンド入力を行ってから、実行結果を目で確認できるまでの時間となります。
システム処理の流れ
システムでユーザからのコマンドやデータ処理を指示を受けてから、結果を返すまでは流れがあります。
処理開始をユーザから指示
↓
処理について優先順を決定
↓
優先順に処理を開始
↓
処理終了
↓
結果表示
ターンアラウンドタイムは対象の処理で計算などが複雑になると、処理完了まで時間がかかってしまいます。これは待ち時間といわれており、目で見えるのは砂時計などで処理が行われている光景やパソコンのディスプレイや動画などが止まっているように見える状況です。
その後該当する処理が行われ、結果が表示されます。ユーザが望む結果になっているかどうかディスプレイ上で見ることができますが、ここまでの時間をターンアラウンドタイムとして計測することができます。
ターンアラウンドタイムとレスポンスタイムの違い
ターンアラウンドタイムは処理を要求してから、結果を表示するまでの時間を指しています。様々な処理を行い、計算などを行いながら結果を表示します。ターンアラウンドタイムの他にレスポンスタイムがありますが、その違いをみていきます。
レスポンスタイムとは
ターンアラウンドタイムと比較されるレスポンスタイムは、システムなどに処理をEnterキーなどを押して指示したり、コマンド入力を実行した際に反応するまでの時間となります。処理依頼実行時に他の処理があれば、システムは該当する処理が待たされる状態に切り替わります。他の処理が時間がかかるほど、該当する処理は結果を返すまで待つ状態になります。待ち状態の時間を経て該当する処理の対応を開始しますが、そこまでの時間がレスポンスタイムとなります。
レスポンスタイムとほぼ同義の「応答速度」は以下の記事で解説しています。
ターンアラウンドタイムとの違いは、処理開始を指示した後の待ち時間と処理開始時間のみをピックアップしている点です。正常な状態だとターンアラウンドタイムとレスポンスタイムは、合計するとほぼ差はありません。瞬時に処理を行っているためで、待ち時間も少ないことを証明しています。しかしレスポンスタイムが大きすぎると、待ち時間が増えているケースが見えてきます。他の処理をチェックしながら、レスポンスタイムの改善に努めるといいでしょう。
ターンアラウンドタイムを使用する場合
主にターンアラウンドタイムは、以下のようなケースで使用します。
・独自サービスを提供開始した時の処理速度
・負荷が非常に高くなって、処理停止で画面などが止まる時
・複数サービスを一斉に動かす時の処理速度
システムの性能を測定する際に主に使いますが、最初にユーザ向けにリリースして稼働させた時に、設計した内容で負荷がかかり処理が遅くならないかチェックする時に使います。特に独自のサービスを提供する上で、少しでも負荷が大きい内容になっているとターンアラウンドタイムが長くなってしまうこともあります。
次にユーザや利用するサービスが増えて負荷が増した時、止まってしまうケースも少なくありません。そこでスループットを考える上で、ターンアラウンドタイムを確認します。スループットは単位として指定した時間あたりにどのくらいの件数の処理を行えるか測ります。1件の処理でどのくらいかかるかという点で、時間の計測でターンアラウンドタイムを利用します。ここでは利用者側の視点で計測を行い、レスポンスがどのくらいで返ってくるかを判断していきます。
最後に複数のサービスを同時に動かす時に、ターンアラウンドタイムを確認します。構成上様々なサービスを同時に動かしたい時、CPUがしっかりと処理できるかチェックしなければなりません。マルチスレッドとするかデュアルコアにするかで処理速度は大きく変わるため、コスト面と併せてターンアラウンドタイムを意識することが重要です。
ターンアラウンドタイムの計測方法
ターンアラウンドタイムは処理を開始するところから計測し、処理が完了しユーザに結果が返されるまでの時間となります。
計測を行うには、実際に利用するコマンドやソフトを個々もしくは一斉に実行していきます。
1件の処理あたり、何秒かかるか測っていきますが一般的にミリ秒単位で計算します。ミリ秒は1秒の1000分の1、0.001秒となります。
具体的にターンアラウンドタイムを処理するツールは色々とありますが、アプリケーションの処理計測時には以下のようなものがあります。
・フリーウェア「RTStopWatch」…アプリケーションの計測用ソフト
・Web関連「Navigation Timing」…ホームページアクセス時に表示するまでの時間を計測
ただしフリーウェアはセキュリティ面などの不安もあるため、あらかじめウイルス対策ソフトなどをインストールしてから、実行することをお勧め致します。
最初に計測する時に基準として、正常に処理する際のスピードを確認します。概ね1秒かからずに、結果を表示してくれることでしょう。もしも問題ない時は瞬間的に結果を出す処理が数秒かかっていれば、ターンアラウンドタイムが大きくなっています。
負荷がかかっていたり、処理するデータが多くなっているなどの原因があるため、調査を行うようにしましょう。
処理開始の指示を起点として、依頼がシステムに届くまでの時間と待ち時間、その後システムが処理を行ってから結果を返すまでの時間それぞれを足していきます。
合計時間を算出する中で、処理待ち時間や結果を表示させるまでの時間はシステムのスペックなどで大きく変わっていきます。ハイスペックのCPUやメモリを搭載していたり、処理に必要なディスクスペースを確保することで、より短いターンアラウンドタイムで処理を行うことができます。
まとめ
システムを利用する上で処理結果の時間がどうしてもかかると悩んでいる時は、一度ターンアラウンドタイムを計測してみるといいでしょう。また待ち時間が異様にかかっていると判断できる時は、レスポンスタイムを別途計算しておき比較をすると状況が見えてきます。それぞれの意味合いを理解して、システムの改善を目指していくようにしましょう。