IOMeter2 v1.1.0

IOMeter2 v1.1.0

Абсолютно несподівано для мене вийшла стабільна версія мультиплатформеного гнератора синтетичного навантаження IOMeter2 v1.1.0. IOMeter часто застосовують для тестів дискової підсистеми, хоча він також може генерувати навантаження на мережу. Інтерфейс абсолютно не притерпів змін. У попередній статті я тестував СГД NetApp FAS підключений по FC4 до хосту на стабільній версії IOMeter2 2008-06-22-rc2.

При навантажувальному тестуванні не забувайте, що потрібно оптимально налаштувати ланцюжок:

СХД - > Мережа (Ethernet/FC) - > Вузол (Windows/Linux/VMware ESXi) - > Програма.

Щоб отримати найкращі результати як у синтетично тестах, так і на реальних даних. Одного сервера може виявитися недостатньо щоб навантажити СГД.

З важливих нововведень:

  • Підтримка Windows UAC.
  • Пофікшен Windows Disk detection, що дозволяє працювати з новими дисками. Диск з таблицею розділів GPT як блоковий пристрій досі не підтримується.
  • Data randomization - з'явилося три варіанти, що сильно відрізняються генерованим патерном випадковості.
  • На жаль не всі старі версії конфігів сумісні з новою версією IOMeter2, наводжу патерни навантаження для нової версії трохи нижче.

Для Outstanding I/O максимальне значення може бути 256, тоді як 128 означає високе навантаження схоже з високонавантаженими БД.

Встановлюємо максимальний розмір тестового файлу «Maximum Disk Size» (0 означає весь вільний простір на диску), значення задається в секторах, наприклад 20971520 сектора (де один сектор дорівнює 512 Byte, так 20971520 секторів дадуть 10 GByte). І задаємо патерн навантаження в полі «Write IO Data Pattern». Варто зазначити, що IOMeter вміє працювати з блочним пристроєм (тобто без файлової системи) для якого створена таблицею розділів MBR, так і «поверх» файлової системи на диску. У разі запуску тесту «поверх» файлової системи, IOMeter'y необхідно створити тестовий файл, що може займати істотний час і залежить від значення «Maximum Disk Size». При роботі з блочним пристроєм «безпосередньо», створення тестового файлу не потрібно, IOMeter негайно запускає тест.

Патерні навантаження

Всі патерни: сервери БД, Web сервера, VDI і сервери віртуалізації, для IOMeter у спойлері нижче. Запустіть текстовий редактор і збережіть вміст спойлера, у файл із розширенням icf.

iometer_v110_4k_ALL.icf

Version 1.1.0

'ACCESS SPECIFICATIONS =========================================================

'Access specification name,default assignment

Default,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,100,67,100,0,1,4096,0

'Access specification name,default assignment

4 KiB; 100% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,100,100,0,0,1,4096,0

'Access specification name,default assignment

4 KiB; 75% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,100,75,0,0,1,4096,0

'Access specification name,default assignment

4 KiB; 50% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,100,50,0,0,1,4096,0

'Access specification name,default assignment

4 KiB; 25% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,100,25,0,0,1,4096,0

'Access specification name,default assignment

4 KiB; 0% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,100,0,0,0,1,4096,0

'Access specification name,default assignment

4 KiB aligned; 100% Read; 100% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,100,100,100,0,1,4096,0

'Access specification name,default assignment

4 KiB aligned; 50% Read; 100% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,100,50,100,0,1,4096,0

'Access specification name,default assignment

4 KiB aligned; 0% Read; 100% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,100,0,100,0,1,4096,0

'Access specification name,default assignment

16 KiB; 100% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

16384,100,100,0,0,1,4096,0

'Access specification name,default assignment

16 KiB; 75% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

16384,100,75,0,0,1,4096,0

'Access specification name,default assignment

16 KiB; 50% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

16384,100,50,0,0,1,4096,0

'Access specification name,default assignment

16 KiB; 25% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

16384,100,25,0,0,1,4096,0

'Access specification name,default assignment

16 KiB; 0% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

16384,100,0,0,0,1,4096,0

'Access specification name,default assignment

32 KiB; 100% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

32768,100,100,0,0,1,4096,0

'Access specification name,default assignment

32 KiB; 75% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

32768,100,75,0,0,1,4096,0

'Access specification name,default assignment

32 KiB; 50% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

32768,100,50,0,0,1,4096,0

'Access specification name,default assignment

32 KiB; 25% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

32768,100,25,0,0,1,4096,0

'Access specification name,default assignment

32 KiB; 0% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

32768,100,0,0,0,1,4096,0

'Access specification name,default assignment

64 KiB; 100% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

65536,100,100,0,0,1,4096,0

'Access specification name,default assignment

64 KiB; 50% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

65536,100,50,0,0,1,4096,0

'Access specification name,default assignment

64 KiB; 0% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

65536,100,0,0,0,1,4096,0

'Access specification name,default assignment

256 KiB; 100% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

262144,100,100,0,0,1,4096,0

'Access specification name,default assignment

256 KiB; 50% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

262144,100,50,0,0,1,4096,0

'Access specification name,default assignment

256 KiB; 0% Read; 0% random,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

262144,100,0,0,0,1,4096,0

'Access specification name,default assignment

All in one,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,5,100,0,0,1,4096,0

4096,5,75,0,0,1,4096,0

4096,5,50,0,0,1,4096,0

4096,5,25,0,0,1,4096,0

4096,5,0,0,0,1,4096,0

4096,5,100,100,0,1,4096,0

4096,5,50,100,0,1,4096,0

4096,5,0,100,0,1,4096,0

16384,4,100,0,0,1,4096,0

16384,4,75,0,0,1,4096,0

16384,4,50,0,0,1,4096,0

16384,4,25,0,0,1,4096,0

16384,4,0,0,0,1,4096,0

32768,4,100,0,0,1,4096,0

32768,4,75,0,0,1,4096,0

32768,4,50,0,0,1,4096,0

32768,4,25,0,0,1,4096,0

32768,4,0,0,0,1,4096,0

65536,4,100,0,0,1,4096,0

65536,4,50,0,0,1,4096,0

65536,3,0,0,0,1,4096,0

262144,3,100,0,0,1,4096,0

262144,3,50,0,0,1,4096,0

262144,3,0,0,0,1,4096,0

'Access specification name,default assignment

Database pattern,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

8192,100,67,100,0,1,4096,0

'Access specification name,default assignment

Fileserver pattern (Intel),NONE

'size,% of size,% reads,% random,delay,burst,align,reply

512,10,80,100,0,1,4096,0

1024,5,80,100,0,1,4096,0

2048,5,80,100,0,1,4096,0

4096,60,80,100,0,1,4096,0

8192,2,80,100,0,1,4096,0

16384,4,80,100,0,1,4096,0

32768,4,80,100,0,1,4096,0

65536,10,80,100,0,1,4096,0

'Access specification name,default assignment

Workstation pattern (StorageReview.com),NONE

'size,% of size,% reads,% random,delay,burst,align,reply

8192,100,80,80,0,1,8192,0

'Access specification name,default assignment

Webserver pattern (unknown),NONE

'size,% of size,% reads,% random,delay,burst,align,reply

512,22,100,100,0,1,4096,0

1024,15,100,100,0,1,4096,0

2048,8,100,100,0,1,4096,0

4096,23,100,100,0,1,4096,0

8192,15,100,100,0,1,4096,0

16384,2,100,100,0,1,4096,0

32768,6,100,100,0,1,4096,0

66560,7,100,100,0,1,4096,0

131072,1,100,100,0,1,4096,0

524288,1,100,100,0,1,4096,0

'Access specification name,default assignment

VDI,NONE

'size,% of size,% reads,% random,delay,burst,align,reply

4096,100,20,80,0,1,4096,0

'END access specifications

'MANAGER LIST ==================================================================

'Manager ID, manager name

1,NetApp

'Manager network address

'End manager

'END manager list

Version 1.1.0

Приклад налаштування патерну синтетичного навантаження для БД

  • Transfer Request Size: 8КВ
  • Percent Read/Write Distribution: 67% read / 33% write
  • Percent Random/Sequential Distribution: 100% random
  • Align I/O on: завжди повинен бути 4КВ
  • Outstanding I/O: 128

Align I/O on завжди повинен бути 4К, як найбільш відповідний у випадку з сучасними ОС і СГД. Так для Windows починаючи з NT 4.0 для NTFS мінімальне значення кластера 4KB, для EXT3/EXT4 на x86 платформі, розмір блоку за замовчуванням, часто, 4KB. Диски SATA працюють з 4KB блоками інформації. Розмір блоку для БД з навантаженням OLTP, як правило рекомендується встановлювати у значення від 2KB до 8KB, а для змішаних і DSS навантажень рекомендоване значення блоку зазвичай вище (8 KB, 16 KB, or 32 KB). VMware VMFS-5 використовує розмір блоку 1MB і sub-blocks у розмірі 8KB. Докладніше про налаштування IOMeter. VMware VMFS-6 (починаючи з vSphere 6.5) використовує розмір сектора 4К з емуляцією 512 байт (512е).

Все вищенаписане відниситися і до Transfer request size: немає сенсу його робити менше 4КБ.

Інші генератори навантаження

sio

fio

Oracle Orion

MS SQLIO Disk Subsystem Benchmark Tool

IOZone

ATTO Disk Benchmark

Intel NASPT - послідовні дії читання/запису для NAS

IOmeter відстає від життя, він був створений так давно, що іноді не адекватно реагує на All-flash системах, зараз більшою популярністю користується fio, рекомендую користуватися ним.

Повідомлення помилково в тексті прошу надсилати до ЛС.

Зауваження та доповнення навпроти прошу в коментарі

Image