sonyps4.ru

Ubuntu проверить скорость диска. Как измерить скорость жесткого диска

Иногда хочется быстро прикинуть, как работает дисковая подсистема, либо сравнить 2 жестких диска. Очевидно, что измерить реальную скорость дисков практически невозможно, она зависит от слишком большого числа параметров. Но получить некое представление о скорости дисков можно.

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую по программе, основанной на информации из официального курса MikroTik Certified Network Associate . Курс стоящий, все подробности читайте по ссылке. Есть бесплатные курсы.

Проще всего измерить скорость диска с помощью программы hdparm . Установить ее очень просто:

# yum -y install hdparm

# apt-get -y install hdparm

Теперь нужно вывести список дисков и разделов в системе:

# fdisk -l

Выбираем нужный раздел и проверяем скорость чтения:

# hdparm -t /dev/sda2

Обращаю ваше внимание еще раз на то, что мы видим очень примерные цифры, которые имеют значение только в сравнении с другими цифрами, полученными в схожих условиях. hdparm выполняет последовательное чтение с диска. В реально работе скорость чтения диска будет другой.

Проверка скорости записи на диск

Для того, чтобы измерить скорость записи на диск, можно воспользоваться стандартной утилитой linux — dd . С ее помощью мы создадим на диске файл размером 1 Gb частями по 1Mb.

Измеряем скорость записи на диск:

# sync; dd if=/dev/zero of=tempfile bs=1M count=1024; sync

Я измерял скорость на виртуальной машине, диск которой был размещен на RAID5, собранным из 5-ти дисков SAS 10к. В принципе, неплохой результат. Можно изменить размер файла и блоков, из которого он записывается. Если сделать файл побольше, результат скорости диска может получиться более приближенный к реальности.

А вот скорость диска на VDS, который я арендую. Результат в разы хуже:

Скорость диска на виртуальной машине, расположенной на втором SATA диске моего рабочего ноутбука:

Результат не очень, надо разбираться в чем дело. Давно возникли подозрения, что с диском что-то не то, заметно подтормаживают виртуальные машины, хотя раньше это было не заметно. Жаль, результатов более ранних тестов не сохранилось.

Интересно было бы посмотреть на ваши результаты тестов. Если же вы хотите серьезно измерить скорость дисков, то вам сюда — Как правильно мерять производительность диска .

Онлайн курс Основы сетевых технологий

Теоретический курс с самыми базовыми знаниями по сетям . Курс подходит и начинающим, и людям с опытом. Практикующим системным администраторам курс поможет упорядочить знания и восполнить пробелы. А те, кто только входит в профессию, получат на курсе базовые знания и навыки, без воды и избыточной теории. После обучения вы сможете ответить на вопросы:
  • На каком уровне модели OSI могут работать коммутаторы;
  • Как лучше организовать работу сети организации с множеством отделов;
  • Для чего и как использовать технологию VLAN;
  • Для чего сервера стоит выносить в DMZ;
  • Как организовать объединение филиалов и удаленный доступ сотрудников по vpn;
  • и многое другое.
Уже знаете ответы на вопросы выше? Или сомневаетесь? Попробуйте пройти тест по основам сетевых технологий. Всего 53 вопроса, в один цикл теста входит 10 вопросов в случайном порядке. Поэтому тест можно проходить несколько раз без потери интереса. Бесплатно и без регистрации. Все подробности на странице.

Сейчас ударными темпами идет модернизация дисковых подсистем практически у любых хостеров. Твердотельные накопители стали существенным рывком в улучшении производительности компьютерного и в том числе серверного оборудования. Дело в том, что диск уже много лет был узким местом, что называется «слабым звеном», в производительности любых информационных систем. Другими словами все остальные составляющие — процессор, оперативная память, системные шины и даже сеть — все уже давно сильно быстрее и производительнее накопителей. SSD дает прирост производительности любого устройства примерно в 3-5 раз. Это значит любые приложения будут запускаться в несколько раз быстрее, иногда даже в десятки раз быстрее.

Итак, хостер предлагает вам две тарифные линейки — SSD и не_SSD. Вы, конечно же, берете SSD. Но как убедиться в том, что хостер выдал действительно SSD? Ведь для работы сайта нет никакой разницы — у вас все будет работать на хостинге с любым диском. То есть, теоретически хостер может вам объявить, что у него серверы на быстрых твердотельных дисках. А на деле продавать мощности на обычных традиционных HDD. И вы, скорее всего, даже не узнаете об этом.

Ведь SSD гораздо дороже обычных дисков. А у хостеров мощности ведь серьезные, им нужно терабайты данных хранить. Представляете, сколько такие системы могут стоить, учитывая, что 1 Гб твердотельного накопителя в примерно в 10 раз дороже 1 Гб обычного диска?

Что такое SSD-boost или flashcache?

Вообще, есть гибридная система. Когда используют связку SSD + HDD. При этом, все данные хранятся на традицонных больших дисках. Есть специальный софт, который настраивает эти диски в особый хитрый массив, где SSD выступает как бы кэшем для любых данных, которые записываются или считываются. В таком массиве мы имеем небольшой SSD, допустим на 120 Гб и за ним большой HDD, на 2 Tb. Такая связка дает скорость чтения/записи как у SSD, но объем, как у HDD. Вот такие дела. При этом, хостер спокойно может вам сказать, что у него все на SSD. Честные хостеры называют это SSD-boost. На работе сайтов это никак негативно не отражается.

Я проверял скорость дисков у десятков различных хостеров. Вы удивитесь, но только 1 из 5 хостеров дает «честный» SSD.

Такие вещи фиксирую скриншотами.

Тесты фейковых SSD некоторых хостеров

Хостер №1

Здесь мы видим всего 30 Мб/с на запись. Это нормальная скорость для обычного HDD. Но у хостера он объявлен как SSD.

Хостер №2

Аналогичная картина. Но скорость чтения уже получше немного. Возможно это случай с flashcache, но очень перегруженный. А скорее всего просто raid массив из обычных HDD. Можно их собирать таким образом, что увеличивается в 1,5-2 раза производительность на чтение.

Хостер №3

Любимый многими хостер. Показывает вообще дикие результаты. Мало того что HDD, так еще и перегруженный обращениями к диску.

Хостер №4

Здесь вообще веселая история. Делал клиенту аудит сервера, были жалобы на тормоза. Дай, думаю, проверю диск.

Вот такая картина. Пишу клиенту так и так — хостер вас нагло обманывает. Клиент бегом в саппорт — оказывается действительно. Клиенту «забыли» включить SSD при переходе когда-то там с тарифа на тариф, понимаете? Переключают, тестируем снова и видим как появился настоящий SSD.

Тесты реальных SSD

Теперь, чтобы понимать разницу, я покажу вам скриншоты тестов действительно SSD.

Вот так это выглядит. Скорость записи свыше 100 Mb/s должна быть. Это минимум для SSD. Это тест с моего рабочего ноутбука, на котором я сейчас пишу этот пост. В нем стоит самый дешевый SSD на 120 Gb. Как видите, скорость работы у него в 4-5 раз быстрее чем у традиционного диска.

А вот тест хостера, который предоставляет реальный SSD.

Вот здесь уж точно настоящий SSD. Вот таким оно и должно быть. Возможно настроен буст, но таки это SSD и жить с этим хостером можно.

Как сделать тест скорости диска у хостера?

Я для этого использую утилиту dd. Она есть в любом linux. Но обращаться с ней следует осторожно, иначе есть риск испортить вообще весь сервер, все данные на нем. Поскольку эта утилита пишет сырые данные в любое устройство или файл, которое ей укажешь.

Итак, для теста записи следует взять поток нулей из специального устройства /dev/zero и направить его в файл, на тестеруемом диске. Любой произвольный файл. Например в папку временных файлов /tmp/test.img

Dd if=/dev/zero of=/tmp/test.img bs=1M count=1024 oflag=dsync

Такая команда создаст файл в 1 Гб размером и выведет скорость записи.

Сразу же можно проверить и скорость чтения, только здесь опция if должна указывать на созданный файл, а of куда нибудь в пустоту. В линуксах есть такое устройство /dev/null , в него и направим:

Dd if=/tmp/test.img of=/dev/null bs=1M count=1024

Но перед этим, нужно сбросить дисковый кэш, иначе файл будет считан за секунду, а вам выведется скорость чтения в Gb/s. Это делается такой командой:

Sysctl vm.drop_caches=3

После чего проводим тест чтения второй командой.

Ну и по окончанию нужно удалить тестовый файл, дабы не занимал место:

Rm -f /tmp/test.img

Это все сработает только на выделенном сервере или VPS. Причем, не на всяком VPS. Поскольку они различаются еще и по технологии виртуализации. Многие хостеры дают не полноценную виртуализацию (KVM, XEN) а контейнеры (openVZ). Здесь нет доступа к параметрам ядра, а значит не получится сбросить кэш. Придется читать и писать в разные файлы, либо перед тестом чтения подождать несколько часов, пока дисковый кэш перезапишется другими данными. Также довольно сложно проверить скорость на виртуальном (shared) хостинге, поскольку вы не имеете там root доступа. Но утилита dd обычно доступна любому системному пользователю, поэтому можно проверить и на нём, имея доступ по SSH.


При наличии некоторого количества жестких дисков, а так же флеш-накопителей (флешек) , возникает необходимость определить их производительность, для того что бы определится для каких целей использовать то или иное запоминающее устройство. Проверку скорости чтения/записи жестких дисков обычно проводят с помощью hdparm .

hdparm - консольная утилита (ранее входила в состав пакета hwtools) предназначенная для просмотра и регулировки параметров жестких дисков с интерфейсом ATA (параллельный интерфейс подключения накопителей, жестких дисков и оптических накопителей, к компьютеру) .

Параметры жестким дискам задаются с уклоном на надёжность работы, даже на не очень качественном оборудовании, а на большинстве современных материнских плат и жестких дисков можно заметно увеличить производительность IDE подсистемы, без уменьшения надёжности.

В настоящее время нет надёжных методов для определения оптимальных параметров для устройств (кроме осторожных проб и наблюдений) , а так же не существует никакой централизованной базы данных (в которой была бы собрана информация о наблюдениях опытных пользователей) , то самым безопасным остаётся осуществление сравнения некоторых параметров "по умолчанию " и на основе них выбора устройства с наиболее оптимальными параметрами. Проще всего это сделать с помощью hdparm тем более что она входит в состав практически всех современных дистрибутивов Linux .

Хоть основное назначение hdparm настройка и оптимизация, её можно использовать как постой инструмент для проведения тестов, для этого достаточно выполнить (для работы hdparm требует прав администратора / root ) :

Sudo hdpam -t "имя устройства"

К примеру:

Sudo hdpam -t /dev/sda

Узнать имя диска можно выполнив:

Fdisk -l

Тест желательно проводить при отсутствии заметной дисковой активности. Опция "-t " позволяет отображать скорость последовательного чтения данных с диска, без задержек вызванных работой файловой системы.

Проведённый тест покажет самую высокую скорость передачи данных для тестируемого диска. Проверка чтения/записи происходит в самом начале диска, на самом быстром его участке, поэтому полученные цифры мало соответствуют реальной скорости работы диска. Наиболее реальный результат можно получить при проверке диска в произвольных точках, в случайном порядке... Провести такой тест можно с помощью консольной утилиты seeker .

seeker - консольная утилита которая проводит проверку скорости чтения/записи жестких дисков произвольно, с доступом к диску в случайном порядке. При этом методе тестирования головка диска быстро перемещается из одного места в другое, считывая небольшие фрагменты данных. Процесс включает в себя механические операции и доступ к диску гораздо медленнее чем тест при последовательном доступе.

Произвольный метод проверки используемый в seeker гораздо ближе к реальной работе жесткого диска и получаемые результаты тестов выглядят более правдоподобными. Поэтому используя seeker очень важно тестировать диск целиком (/dev/sda) , а не отдельный его раздел (/dev/sda1, /dev/sda2, /dev/sda3 и прочее) :

Sudo seeker "имя диска"

Утилита проста в использовании, запускается без дополнительных опций, тестирование диска проводится в течении тридцати секунд, а для более полного доступа к диску утилиту лучше запускать с правами администратора (root ) . Помимо жестких дисков с помощью seeker можно провести сравнительное тестирование имеющихся флеш-накопителей (например для использования самого быстрого устройства в качестве LiveUSB) .



Загрузка...