Проверка скорости/производительности жесткого диска под Mac OS

С внедрением новых технологий и производительного оборудования появляется потребность тестирования производительности и сравнение с прошлыми. Сейчас расскажу как протестировать жесткий диск на Mac OS.

Принцип тестирования просто. Необходим большой файл и попробовать его прочитать. Как писал ранее тестирование жестких дисков под Linux систем в Мак нет тех утилит и при продаже также не дадут поставить, а пощупать хочется.

Нам необходим программа "Терминал", эта системная утилита, что то напоминает командную строку, только с большим функционалом. Первый шаг необходимо найти большой файл. Это можно сделать через Finder или через консоль переходя по каталогам командой cd и просмотром списка файлов ls. В моем случае есть видео с размером 300M в папке документов.

MacBook-Pro-Aleksey:~ aleksey$ ls -lh ~/Documents/
-r--r--r--  1 aleksey  admin   301M 16 апр 11:31 Time.avi
drwxr-xr-x    2 aleksey  staff    68B 19 окт  2010 My Music
drwxr-xr-x    2 aleksey  staff    68B 19 окт  2010 My Pictures
drwxr-xr-x    2 aleksey  staff    68B 19 окт  2010 My Videos

Чтобы посмотреть сколько дисков и какой будем тестировать воспользуемся классической командой df.

 MacBook-Pro-Aleksey:~ aleksey$ df -hl
Filesystem     Size   Used  Avail Capacity  Mounted on
/dev/disk0s2  465Gi  433Gi   32Gi    94%    /

Диск disk0s2 (он может быть и disk0s1) забит у меня под завязку и тест будет немного не точен, но мы его проконтролируем запустив во втором окне Терминала статистику ввода/вывода утилитой iostat.

Первое окно терминала. Запускаем имитацию копирование в никуда с помощью утилиты dd. По окончанию он выдаст скорость записи. В нашем случае чтения. Продолжительность зависит от скорости диска и размера файла не стоит использовать размер более 1G.

MacBook-Pro-Aleksey:~ aleksey$ dd if=~/Documents/Time.avi of=/dev/null bs=100m
3+1 records in
3+1 records out
315562925 bytes transferred in 29.149885 secs (10825529 bytes/sec)

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

MacBook-Pro-Aleksey:~ aleksey$ iostat 1
          disk0       cpu     load average
    KB/t tps  MB/s  us sy id   1m   5m   15m
  553.80  40 21.62  20  9 71  1.59 1.74 1.83
  133.67 172 22.44  25 26 49  1.59 1.74 1.83
  122.88 110 13.19  10 20 70  1.59 1.74 1.83
   94.62 133 12.28  10 16 73  1.59 1.74 1.83
  123.46 134 16.15  13 15 72  1.59 1.74 1.83
  114.41 103 11.50  16 18 66  1.46 1.71 1.82
  288.00  99 27.83  18 23 58  1.46 1.71 1.82
  218.63  76 16.22  22 26 52  1.46 1.71 1.82
  151.73 119 17.62  16 20 65  1.46 1.71 1.82
  193.26 121 22.82  16 21 64  1.46 1.71 1.82
  194.46 104 19.74  17 15 68  1.42 1.70 1.81
  215.76  84 17.69  14 12 74  1.42 1.70 1.81
  137.41  88 11.80  13  6 80  1.42 1.70 1.81
   77.94 127  9.69  12 10 78  1.42 1.70 1.81
   57.69 121  6.80  16 22 62  1.42 1.70 1.81
   46.41 118  5.34  15 18 67  1.47 1.70 1.82
  112.11 112 12.26  14 11 75  1.47 1.70 1.82

И получим такую картину. Через утилиту копирования мы получили среднюю производительность диска 10825529(bytes/sec)/1024/1024=10,34 MB/s, а собранной статистике максимум 27.83MB/s. Верить можно обоим. Первый показатель это средняя скорость чтения диска без учета внутренних программ, а вторая скорость максимальная скорость с которой может работать жесткий диск. В моем случае это ST9500420ASG, со скоростью вращения 7200, со скоростью связи 3 гигабит и диск забит под завязку.