Мой твердотельный накопитель NVMe M.2 емкостью 1 ТБ стал ОЧЕНЬ медленным за последние месяц или два, и мне бы очень хотелось восстановить исходную производительность. Это запрос на отладку предложений и советов. Ниже я перечислил некоторую системную информацию и тесты производительности (тесты случайного чтения / записи sysbench, за которыми следуют тесты случайного чтения sysbench).
Эта система Gentoo Linux была построена прошлой осенью и основана на материнской плате SuperMicro C9X299-PG300 с тремя дисками: Системный диск: Samsung 970 PRO NVMe M.2 Home и данные: Crucial MX500 Sata2 SSD Резервная копия: Seagate BarraCuda Pro Sata2 HDD Текущее ядро: 4.20.7-папуасских
Все разделы как на SSM NVMe M.2, так и на SSD Sata2 имеют формат ext4 и имеют ежедневный запуск /sbin /fstrim, и каждый диск был первоначально отформатирован с помощью parted. 10 ГБ не был отформатирован на каждом SSD. В настоящее время менее чем каждый раздел на NVMe использует менее 50% его общего пространства.
Я не вижу очевидных ошибок в /var /log /messages.
Я SmartD запускаю короткий тест каждую неделю на всех дисках, и об ошибках не сообщается.
Результаты тестов:
SuperMicro MB на МЕДЛЕННОМ разделе Samsung 970 PRO NVMe M.2:
===== sysbench fileio --file-total-size = 128G подготовить sysbench fileio --file-total-size = 128G --file-test-mode = rndrw --time = 120 --max-запросов = 0 запустить sysbench 1.0.15 (с использованием системы LuaJIT 2.0.5)
Запуск теста со следующими параметрами: Количество потоков: 1 Инициализация генератора случайных чисел по текущему времени.
Флаги открытия дополнительных файлов: (нет) 128 файлов, 1 ГБ каждый. Общий размер файла 128 ГБ. Размер блока 16 КБ. Количество запросов ввода-вывода: 0 Коэффициент чтения / записи для комбинированного теста случайного ввода-вывода: 1,50. Вызов fsync () в конце теста включен. Использование режима синхронного ввода-вывода. Выполнение произвольного ч / б теста. Инициализация рабочих потоков ...
Темы начались!
Файловые операции: читает / с: 93,14 пишет / с: 62,09 fsyncs / с: 199,69
Пропускная способность: чтение, МиБ / с: 1,46, записано, МиБ / с: 0,97
Общая статистика: общее время: 120.4662с общее количество событий: 42629
Задержка (мс): мин: 0,00, в среднем: 2,81, макс: 232,93, 95-й процентиль: 8,28, сумма: 119588,52.
Справедливость потоков: события (avg/stddev): 42629.0000/0.00 время выполнения (avg/stddev): 119.5885/0.00
=====
SuperMicro MB Crucial SATA2 SSD Partiton:(не NVMe --- похоже, нет проблем с производительностью)
===== sysbench fileio --file-total-size = 128G подготовить
sysbench fileio --file-total-size = 128G --file-test-mode = rndrw --time = 120 --max-запросов = 0 запустить sysbench 1.0.15 (с использованием системы LuaJIT 2.0.5)
Запуск теста со следующими параметрами: Количество потоков: 1 Инициализация генератора случайных чисел из текущего времени.
Флаги открытия дополнительных файлов: (нет) 128 файлов, 1 ГБ каждый. Общий размер файла 128 ГБ. Размер блока 16 КБ. Количество запросов ввода-вывода: 0 Коэффициент чтения / записи для комбинированного теста случайного ввода-вывода: 1,50. Вызов fsync () в конце теста включен. Использование режима синхронного ввода-вывода. Выполнение произвольного ч / б теста. Инициализация рабочих потоков ...
Темы начались!
Файловые операции: читает / с: 171,96 пишет / с: 114,64 fsyncs / с: 367,84
Пропускная способность: чтение, МБ / с: 2,69, МБ / с: 1,79
Общая статистика: общее время: 120.0254с Общее количество событий: 78423
Задержка (мс): мин: 0,01, средняя: 1,52 макс: 76,46 95-й процентиль: 4,41 сумма: 119243,66
Справедливость потоков: события (avg/stddev): 78423.0000/0.00 время выполнения (avg/stddev): 119.2437/0.00
=====
Скорость произвольного чтения SSATA-диска SATA2 в 1,8 раза выше, чем у NVMe SSD в той же системе.
Тот же тест на SuperMicro MB спиннинг HD:
=====
sysbench fileio --file-total-size = 128G подготовить
sysbench fileio --file-total-size = 128G --file-test-mode = rndrw --time = 120 --max-запросов = 0 запустить sysbench 1.0.15 (с использованием системы LuaJIT 2.0.5)
Запуск теста со следующими параметрами: Количество потоков: 1 Инициализация генератора случайных чисел из текущего времени.
Флаги открытия дополнительных файлов: (нет) 128 файлов, 1 ГБ каждый. Общий размер файла 128 ГБ. Размер блока 16 КБ. Количество запросов ввода-вывода: 0 Коэффициент чтения / записи для комбинированного теста случайного ввода-вывода: 1,50. Вызов fsync () в конце теста включен. Использование режима синхронного ввода-вывода. Выполнение произвольного ч / б теста. Инициализация рабочих потоков ...
Темы начались!
Файловые операции: читает / с: 81,04 пишет / с: 54,02 фсин / с: 173,62
Пропускная способность: чтение, МБ / с: 1,27, записано, МБ / с: 0,84
Общая статистика: общее время: 120.1649с Общее количество событий: 36966
Задержка (мс): мин: 0,01, средняя: 3,24, макс: 242,17, 95-й процентиль: 12,98, сумма: 119633,22
Справедливость потоков: события (avg/stddev): 36966.0000/0.00 время выполнения (avg/stddev): 119.6332/0.00
=====
Пропускная способность чтения и записи на SSM NVMe лишь немного выше, чем на HD.
Наконец, здесь тот же тест, что и выше, но только случайный тест на чтение (без записи):
=====
sysbench fileio --file-total-size = 128G подготовить
sysbench fileio --file-total-size = 128G - время = 120 --max-запросов = 0 --file-test-mode = rndrd запустить sysbench 1.0.15 (с использованием системы LuaJIT 2.0.5)
Запуск теста со следующими параметрами: Количество потоков: 1 Инициализация генератора случайных чисел из текущего времени.
Флаги открытия дополнительных файлов: (нет) 128 файлов, 1 ГБ каждый. Общий размер файла 128 ГБ. Размер блока 16 КБ. Количество запросов ввода-вывода: 0 Коэффициент чтения / записи для комбинированного теста случайного ввода-вывода: 1,50. Вызов fsync () в конце теста включен. Использование режима синхронного ввода-вывода Выполнение теста случайного чтения Инициализация рабочих потоков ...
Темы начались!
Файловые операции: читает / с: 644,97 пишет / с: 0,00 фсин / с: 0,00
Пропускная способность: чтение, МБ / с: 10,08, МБ / с: 0,00
Общая статистика: общее время: 120.0028с общее количество событий: 77401
Латентность (мс): мин: 0,00, в среднем: 1,54, макс: 251,64 95-й процентиль: 3,55, сумма: 119217.50
Справедливость потоков: события (avg/stddev): 77401.0000/0.00 время выполнения (avg/stddev): 119.2175/0.00
Гораздо лучшая производительность «чтения», чем «чтение» в случайном тесте чтения-записи.