レイテンシ
英語表記で latency
データの転送要求などのリクエストを発してから、リクエストの結果が返ってくるまでに かかる遅延時間のことです。
レイテンシを理解することが、お客様環境で発生しているパフォーマンス問題を 解決する近道となります。
| I/Oタイプ | レイテンシ | 補足 |
|---|---|---|
| L1キャッシュ参照 | 0.5ns | |
| 分岐予測失敗 (Branch Mispredict) | 5ns | |
| L2キャッシュ参照 | 7ns | 14x L1 cache |
| 相互排他 (Mutex) ロック/アンロック | 25ns | |
| メインメモリ参照 | 100ns | L2キャッシュx 20、L1キャッシュx 200 |
| Zippyを使った1KBの圧縮 | 3,000ns | |
| 1Gbsネットワークで1KBを転送 | 10,000ns | 0.01 ms |
| SSDから4Kをランダム Read | 150,000ns | 0.15 ms |
| メモリから1MBシーケンシャルRead | 250,000ns | 0.25 ms |
| データセンター内のラウンドトリップ | 500,000ns | 0.5 ms |
| SSDから1MBシーケンシャルRead | 1,000,000ns | 1 ms, 4x memory |
| ディスクシーク(HDD) | 10,000,000ns | 10ms、データセンターラウンドトリップx20 |
| ディスクから1MBシーケンシャルRead | 20,000,000ns | 20 ms、メモリ x 80、SSD x 20 |
| CAカリフォルニア州からパケット転送 -> オランダ -> カリフォルニア州 | 150,000,000ns | 150 ms |
(典拠: Jeff Dean, https://gist.github.com/jboner/2841832 )