ETA 計算機
処理速度から長時間タスクの残り時間と完了時刻を算出します。総量・完了済み・処理速度を入力するだけで、残り時間と完了予定時刻がわかります。
この処理はあとどれくらいで終わる? 総量・完了済みの量・現在の処理速度を入力すると、残り時間と全体の所要時間、そして完了予定の時刻を計算します。
処理速度から長時間タスクの残り時間と完了時刻を算出します。総量・完了済み・処理速度を入力するだけで、残り時間と完了予定時刻がわかります。
この処理はあとどれくらいで終わる? 総量・完了済みの量・現在の処理速度を入力すると、残り時間と全体の所要時間、そして完了予定の時刻を計算します。
ETA は単なる割り算です。残作業を処理速度で割る。残り 40,000 行で 1 分あたり 500 行なら 80 分。このツールはその割り算を行い、結果を読みやすい単位に変換し、開始時刻に足して実際の時計の時刻として返します。頭の中で足し算をする手間が要りません。
難しいのは割り算ではありません。この割り算は「測定した速度が最後まで維持される」と仮定していますが、その仮定は当たるより外れることのほうが多いのです。一括インポートはインデックスが育つにつれて遅くなります。ダウンロードは TCP のスロースタートが終われば速くなります。バッチ処理は異常に大きなレコードの塊に当たることがあります。ETA は現在の投影であって未来の予言ではない。誰かがこの数字を進捗報告に書き込む前に、そのことをはっきり言っておく価値があります。
見積もりは与えられた速度をそのまま引き継ぐため、どの区間で測るかがこのページで最も影響の大きい入力になります。直近 10 秒の速度は反応が良い代わりに暴れます。見るたびに違う ETA が出ます。実行開始からの平均速度は安定していますが鈍く、処理がとっくに詰まっていても楽観的な数字を出し続けます。
短い処理なら全期間の平均で十分です。時間単位の処理なら、数分の移動ウィンドウがちょうど良いバランスになります。減速に気づける程度に新しく、細かい揺らぎに反応しない程度に長い。両者の値が大きく食い違うなら、その食い違い自体が有用な信号です。速度が変化しているということなので、正直な答えは一点の時刻ではなく幅を持った範囲になります。
このツールは残り時間だけでなく全体の所要時間も表示します。二つを並べると、どちらか一方だけよりずっと多くのことがわかります。進捗 5% で全体の所要時間が 11 時間と出ていれば、残り時間の数字が何であれ「これは張り付いて見るような処理ではない」と即座に判断できます。妥当性チェックにもなります。推定された全体時間が先週の同じ処理と大きく違うなら、速度の測定が誤っているか、本当に何かが変わったかのどちらかで、いずれも実行が終わる前に調べる価値があります。
進捗率を表示しているのも同じ理由です。開始直後で完了量が小さいうちは、速度の推定がごくわずかなサンプルに依存しており、ETA はほとんど意味を持ちません。パーセンテージが上がっていくのを見て初めて、その見積もりが引用に足るだけのデータを持ったかどうかがわかります。