Вопрос или проблема
На нашем сервере Ubuntu 16.04.7 через некоторое время (пока не проверял, сколько времени занимает) скорость записи на внутренний M2 SSD (Ext4) становится очень медленной.
Я случайно узнал об этом после использования
sudo hdparm -Tt /dev/nvme0n1
все снова работает нормально.
Может ли это быть из-за каких-то настроек энергосбережения?
Все остальное (сеть, SMB, Cronjobs) работает нормально.
Вот пример:
Первое копирование (источник и цель на одном SSD)
$ rsync -v -progress Metrotec_Data.accdb /srv/chefordner/IT/
sending incremental file list
Metrotec_Data.accdb
sent 86,926,170 bytes received 35 bytes 10,226,612.35 bytes/sec
total size is 86,904,832 speedup is 1.00
khanzlik@server:/srv/gemdat/Datenbank$ rsync -v -progress --info=progress2 Metrotec_Data.accdb /srv/chefordner/IT/
sending incremental file list
Metrotec_Data.accdb
86,904,832 100% 11.60MB/s 0:00:07 (xfr#1, to-chk=0/1)
sent 86,926,170 bytes received 35 bytes 11,590,160.67 bytes/sec
total size is 86,904,832 speedup is 1.00
Скорость копирования только 11.60MB/s
hdparm:
$ sudo hdparm -Tt /dev/nvme0n1
/dev/nvme0n1:
Timing cached reads: 20420 MB in 2.00 seconds = 10229.56 MB/sec
Timing buffered disk reads: 4118 MB in 3.00 seconds = 1372.44 MB/sec
Копирование снова:
$ rsync -v -progress --info=progress2 Metrotec_Data.accdb /srv/chefordner/IT/
sending incremental file list
Metrotec_Data.accdb
86,904,832 100% 429.26MB/s 0:00:00 (xfr#1, to-chk=0/1)
sent 86,926,171 bytes received 35 bytes 57,950,804.00 bytes/sec
total size is 86,904,832 speedup is 1.00
Скорость копирования увеличилась до 429.26MB/s!!
Есть идеи?
Я почти готов просто добавить “hdparm” в cronjob…
Ответ или решение
Давайте разберемся с вашей проблемой медленных скоростей записи на внутреннем M.2 SSD, которая разрешается после использования команды hdparm
на сервере Ubuntu 16.04.7.
Проблема
Вы заметили, что скорость записи на ваш SSD со временем уменьшается. После выполнения команды hdparm -Tt /dev/nvme0n1
скорость записи значительно увеличивается. Исходя из сценария, это может указывать на временные сбои в работе подсистемы ввода-вывода, или на проблемы с настройками энергосбережения.
Возможные причины
-
Энергосбережение: Многие современные SSD поддерживают функции энергосбережения, такие как ASPM (Active State Power Management). Это может влиять на производительность диска, когда он долго времени находится в простое.
-
Кэширование: Процедуры кэширования данных могут засоряться или некорректно обновляться, что приводит к снижению скорости операций ввода-вывода до их сброса и обновления с помощью таких команд, как
hdparm
. -
Системные сбои и нагрузка: Возможно, на сервере возникают другие проблемы с ресурсами, которые напрямую влияют на производительность SSD.
Решения
-
Настройки энергосбережения: Рассмотрите возможность отключения или анализа применения схем энергосбережения системных устройств. Можно попробовать изменить параметры ASPM через
/etc/default/grub
модифицировав строкуGRUB_CMDLINE_LINUX_DEFAULT
добавив параметрpcie_aspm=off
, затем обновив конфигурацию командойsudo update-grub
и перезапустив систему. -
Сброс кэша: Использование
hdparm
может косвенно сбрасывать или обновлять кэш-систему. Добавлениеhdparm
в cronjob может быть временным решением, но лучше будет разобраться с первопричинами. -
Обновление драйверов и ядра: Периодически проверяйте наличие обновлений для вашей версии Ubuntu, поскольку более новые версии ядра или драйверов могут быть более оптимизированными для работы с SSD.
-
Мониторинг системы: Используйте такие инструменты, как
iostat
,vmstat
иtop/htop
, чтобы отслеживать использование ресурсов и видеть, что может влиять на производительность вашего SSD.
Заключение
Ваша ситуация является не такой редкой, как можно подумать. Важно внимательно подходить к анализу серверных конфигураций и сделать все возможное для предотвращения возможных снижений производительности. Надеюсь, предоставленные рекомендации помогут вам стабилизировать работу вашего SSD. Если проблема продолжает сохраняться, рекомендуется обратиться к системному интегратору или производителю оборудования для более детального анализа.