Тестирование производительности дисков – Linux

Тестирование производительности дисков – Linux

Для полноценного тестирования производительности дисков виртуальных серверов (IOPS на чтение и запись и пропускной способности) используйте утилиту fio. Для тестирования можно использовать файл-тесты — подготовленные текстовые файлы с настройками тестирования.

  1. Установите утилиту fio.
  2. Подготовьте диск к тестированию.
  3. Протестируйте производительность.

1. Установка утилиты fio

1. Подключитесь к серверу
2. Установите утилиту fio:
  1. sudo apt update
  2. sudo apt install fio

2. Подготовить диск к тестированию

Warning
Для тестирования не используйте диск, который содержит какую-либо информацию — при подготовке к тестированию все данные на диске будут уничтожены.
1. Создайте пустой диск.
2. Подключите диск к облачному серверу.
3. Посмотрите название пустого диска:
  1. lsblk
В ответе появится список дисков облачного сервера. Скопируйте название пустого диска. 4. Заполните пустой диск данными:
  1. dd if=/dev/urandom of=/dev/<sdX> bs=4M
Укажите <sdX> — название пустого диска, которое вы скопировали на шаге 3.

3. Протестировать производительность

Info
Можно использовать:
1. тестирование IOPS — случайная запись или чтение блоками 4 КБ;
2. тестирования пропускной способности — случайная запись или чтение блоками 4 МБ.
Протестировать IOPS - чтение

1. Откройте CLI.
2. Создайте файл-тест в текстовом редакторе nano:
  1. nano read.ini
3. Добавьте в файл-тест содержимое:
  1. [readtest]
  2. size=2000M
  3. blocksize=4k
  4. filename=/dev/sdb
  5. rw=randread
  6. direct=1
  7. buffered=0
  8. ioengine=libaio
  9. iodepth=32
Здесь:
• size — общий размер файла для тестирования;
• blocksize — размер одного блока данных для тестирования;
• filename — путь к файлу, который будет использоваться для тестирования. В примере выше приведен тест с записью на диск с параметром filename=/dev/sdb;
• iodepth — количество потоков.

4. Выйдите из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.
5. Запустите тест:
  1. fio read.ini
В выводе теста посмотрите значение IOPS. Пример вывода:
  1. read: IOPS=320, BW=1280KiB/s (1311kB/s)(2000MiB/1599899msec)

Протестировать IOPS - запись

1. Откройте CLI.
2. Создайте файл-тест в текстовом редакторе nano:
  1. nano write.ini
3. Добавьте в файл-тест содержимое:
  1. [writetest]
  2. size=2000M
  3. blocksize=4k
  4. filename=/dev/sdb
  5. rw=randwrite
  6. direct=1
  7. buffered=0
  8. ioengine=libaio
  9. iodepth=32
Здесь:
• size — общий размер файла для тестирования;
• blocksize — размер одного блока данных для тестирования;
• filename — путь к файлу, который будет использоваться для тестирования. В примере выше приведен тест с записью на диск с параметром filename=/dev/sdb;
• iodepth — количество потоков.

4. Выйдите из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.
5. Запустите тест:
  1. fio write.ini
В выводе теста посмотрите значение IOPS. Пример вывода:
  1. write: IOPS=118, BW=475KiB/s (487kB/s)(2000MiB/4310296msec); 0 zone resets

Протестировать пропускную способность - чтение

1. Откройте CLI.
2. Создайте файл-тест в текстовом редакторе nano:
  1. nano read.ini
3. Добавьте в файл-тест содержимое:
  1. [readtest]
  2. size=2000M
  3. blocksize=4M
  4. filename=/dev/sdb
  5. rw=read
  6. direct=1
  7. buffered=0
  8. ioengine=libaio
  9. iodepth=32
Здесь:
• size — общий размер файла для тестирования;
• blocksize — размер одного блока данных для тестирования;
• filename — путь к файлу, который будет использоваться для тестирования. filename=/dev/sdb — запись также уничтожит данные и файловую систему на диске, если они там есть;ё;
• iodepth — количество потоков.

4. Выйдите из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.
5. Запустите тест:
  1. fio read.ini
В выводе теста посмотрите значение IOPS. Пример вывода:
  1. read: IOPS=25, BW=100MiB/s (105MB/s)(2000MiB/19911msec)

Протестировать пропускную способность - запись

1. Откройте CLI.
2. Создайте файл-тест в текстовом редакторе nano:
  1. nano write.ini
3. Добавьте в файл-тест содержимое:
  1. [writetest]
  2. size=2000M
  3. blocksize=4M
  4. filename=/dev/sdb
  5. rw=write
  6. direct=1
  7. buffered=0
  8. ioengine=libaio
  9. iodepth=32
Здесь:
• size — общий размер файла для тестирования;
• blocksize — размер одного блока данных для тестирования;
• filename — путь к файлу, который будет использоваться для тестирования. filename=/dev/sdb — запись также уничтожит данные и файловую систему на диске, если они там есть;ё;
• iodepth — количество потоков.

4. Выйдите из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.
5. Запустите тест:
  1. fio write.ini
В выводе теста посмотрите значение IOPS. Пример вывода:
  1. write: IOPS=25, BW=100MiB/s (105MB/s)(2000MiB/19974msec); 0 zone resets

    • Related Articles

    • Тестирование производительности дисков – Windows

      Для полноценного тестирования производительности дисков облачных серверов (IOPS на чтение и запись и пропускной способности) используйте утилиту CrystalDiskMark. Мы рекомендуем проводить тестирование на дополнительном диске облачного сервера. 1. ...
    • Диагностика виртуального сервера

      Диагностика производительности виртуального сервера Цель: Обнаружить и проанализировать нагрузку на основные ресурсы сервера: процессор (CPU), оперативную память (RAM), диск (Disk I/O) и сетевой трафик (Network). Это поможет выявить узкие места и ...
    • Диски

      Типы дисков Стандартный диск – Подходит для хранения больших объёмов данных с редким доступом к чтению и перезаписи. Быстрый диск – Подходит для использования в качестве загрузочного диска виртуального сервера. Производительный диск – Отличается ...
    • Подключение к виртуальному серверу

      Подключение к серверу можно выполнить через панель управления. Подключение через консоль Перейдите в панель управления. Откройте раздел «Виртуальные серверы» и выберите нужный сервер из списка. На странице сервера отобразится информация: ...
    • Шифрование диска с помощью LUKS в Ubuntu

      Данная инструкция описывает процесс шифрования дополнительного диска в операционной системе Ubuntu с использованием LUKS (Linux Unified Key Setup). Это позволяет обеспечить полную защиту пользовательских данных на уровне блочного устройства. Без ...