Для полноценного тестирования производительности дисков виртуальных серверов (IOPS на чтение и запись и пропускной способности) используйте утилиту fio. Для тестирования можно использовать файл-тесты — подготовленные текстовые файлы с настройками тестирования.
1. Создайте пустой диск.
2. Подключите диск к облачному серверу.
В ответе появится список дисков облачного сервера. Скопируйте название пустого диска. 4. Заполните пустой диск данными:
Можно использовать:
1. тестирование IOPS — случайная запись или чтение блоками 4 КБ;
2. тестирования пропускной способности — случайная запись или чтение блоками 4 МБ.
Протестировать IOPS - чтение
1. Откройте CLI.
2. Создайте файл-тест в текстовом редакторе nano:
3. Добавьте в файл-тест содержимое:
- [readtest]
- size=2000M
- blocksize=4k
- filename=/dev/sdb
- rw=randread
- direct=1
- buffered=0
- ioengine=libaio
- iodepth=32
Здесь:
• size — общий размер файла для тестирования;
• blocksize — размер одного блока данных для тестирования;
• filename — путь к файлу, который будет использоваться для тестирования. В примере выше приведен тест с записью на диск с параметром filename=/dev/sdb;
• iodepth — количество потоков.
4. Выйдите из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.
5. Запустите тест:
В выводе теста посмотрите значение IOPS. Пример вывода:
- read: IOPS=320, BW=1280KiB/s (1311kB/s)(2000MiB/1599899msec)
Протестировать IOPS - запись
1. Откройте CLI.
2. Создайте файл-тест в текстовом редакторе nano:
3. Добавьте в файл-тест содержимое:
- [writetest]
- size=2000M
- blocksize=4k
- filename=/dev/sdb
- rw=randwrite
- direct=1
- buffered=0
- ioengine=libaio
- iodepth=32
Здесь:
• size — общий размер файла для тестирования;
• blocksize — размер одного блока данных для тестирования;
• filename — путь к файлу, который будет использоваться для тестирования. В примере выше приведен тест с записью на диск с параметром filename=/dev/sdb;
• iodepth — количество потоков.
4. Выйдите из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.
5. Запустите тест:
В выводе теста посмотрите значение IOPS. Пример вывода:
- write: IOPS=118, BW=475KiB/s (487kB/s)(2000MiB/4310296msec); 0 zone resets
Протестировать пропускную способность - чтение
1. Откройте CLI.
2. Создайте файл-тест в текстовом редакторе nano:
3. Добавьте в файл-тест содержимое:
- [readtest]
- size=2000M
- blocksize=4M
- filename=/dev/sdb
- rw=read
- direct=1
- buffered=0
- ioengine=libaio
- iodepth=32
Здесь:
• size — общий размер файла для тестирования;
• blocksize — размер одного блока данных для тестирования;
• filename — путь к файлу, который будет использоваться для тестирования. filename=/dev/sdb — запись также уничтожит данные и файловую систему на диске, если они там есть;ё;
• iodepth — количество потоков.
4. Выйдите из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.
5. Запустите тест:
В выводе теста посмотрите значение IOPS. Пример вывода:
- read: IOPS=25, BW=100MiB/s (105MB/s)(2000MiB/19911msec)
Протестировать пропускную способность - запись
1. Откройте CLI.
2. Создайте файл-тест в текстовом редакторе nano:
3. Добавьте в файл-тест содержимое:
- [writetest]
- size=2000M
- blocksize=4M
- filename=/dev/sdb
- rw=write
- direct=1
- buffered=0
- ioengine=libaio
- iodepth=32
Здесь:
• size — общий размер файла для тестирования;
• blocksize — размер одного блока данных для тестирования;
• filename — путь к файлу, который будет использоваться для тестирования. filename=/dev/sdb — запись также уничтожит данные и файловую систему на диске, если они там есть;ё;
• iodepth — количество потоков.
4. Выйдите из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.
5. Запустите тест:
В выводе теста посмотрите значение IOPS. Пример вывода:
- write: IOPS=25, BW=100MiB/s (105MB/s)(2000MiB/19974msec); 0 zone resets