- Кэши L1 и L2: 1 нс, 10 нс
пример: они обычно встроены в процессор, если вы не работаете напрямую с аппаратным обеспечением, вам, вероятно, не нужно о них беспокоиться.
- Доступ к оперативной памяти: 100 нс
пример: чтение данных из памяти занимает около 100 нс. Redis — это хранилище данных в памяти, поэтому чтение данных из Redis занимает около 100 нс.
- Отправка 1 КБ по сети 1 Гбит/с: 10 мкс
пример: для отправки 1 КБ данных из Memcached по сети требуется около 10 мкс.
- Чтение с SSD: 100 мкс
пример: RocksDB — это дисковое хранилище K/V (key-value), задержка чтения на SSD составляет около 100 мкс.
- Операция вставки в базу данных: 1 мс
пример: добавление данных в Postgresql может занять 1 мс. База данных должна хранить данные, создавать индекс и очищать журналы. Все эти действия требуют времени.
- Отправить пакет Калифорния->Нидерланды->Калифорния: 100 мс
пример: если у нас есть междугородний вызов Zoom, задержка может быть около 100 мс.
- Внутрисистемные повторы/обновления: 1-10 с
пример: в системе мониторинга интервал обновления обычно устанавливается на 5–10 секунд (значение по умолчанию в Grafana).
Примечание:
1 нс = 10^-9 секунд
1 мкс = 10^-6 секунд = 1000 нс
1 мс = 10^-3 секунд = 1000 мкс = 1 000 000 нс
P.S. Данные основаны на значениях задержки Джеффа Дина (https://colin-scott.github.io/personal_website/research/interactive_latency.html)