TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Admin Guides | Сисадмин

8 Oct, 12:02

Открыть в Telegram Поделиться Пожаловаться

dm-delay: как Linux специально замедляет диск

Device Mapper умеет не только объединять и шифровать устройства. У него есть target dm-delay, который специально добавляет задержку к I/O.
Это удобно для тестов: можно проверить, как система, файловая система или приложение ведут себя с медленным storage, не меняя реальный диск.

⏺Создаём задержку

Например, добавим 100 мс к чтению и 200 мс к записи:

echo "0 $(blockdev --getsz /dev/nvme0n1) delay /dev/nvme0n1 0 100 /dev/nvme0n1 0 200" \
| dmsetup create slowdisk

Проверяем:

dmsetup table slowdisk
lsblk

Теперь /dev/mapper/slowdisk обращается к тому же storage, но I/O проходит через dm-delay.

⏺Где возникает задержка

Схематично путь выглядит так:

application
↓
filesystem
↓
block layer
↓
dm-delay
↓
NVMe / SSD

dm-delay получает bio, удерживает его заданное время и только потом отправляет дальше.
Важно: физический диск при этом ничего не «замедляет». Дополнительная latency появляется именно в Device Mapper.

⏺Зачем это нужно

Например, можно воспроизвести ситуацию:

обычный SSD
↓
latency ~ сотни μs

dm-delay
↓
latency ~ сотни ms

И посмотреть, что произойдёт с timeout’ами, очередями I/O, fsync, RAID или приложением.

После теста mapping удаляется:

dmsetup remove slowdisk

688 0 16 2
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot