Crystal disk mark це хороша програма, проте її можливостей не вистачає для того, щоб відтворити реальну роботу на сервері і заміряти продуктивність дискової системи в умовах, які будуть схожі на реальні.
Нам потрібно протестувати систему, яка надалі буде використовуватися як сервер 1C або сервер бази даних.
Для цієї мети найкраще використовувати програму Iometer.Вона хоч і давно не оновлюється, але цілі свої виконує добре.
Налаштувань у цієї програми багато, тому ми розберемо тільки ті, які потрібні нам.
Worker. Процес, який звертається до жорстких дисків. Рекомендується виставляти їх стільки ж, скільки є фізичних ядер в системі. За замовчуванням програма так і робить.
Targets. Список дисків, які є в системі. Якщо диск жовтого кольору, значить це логічний диск. Бірюзовий колір - фізичний диск, на якому не створені логічні розділи. Для тестування краще використовувати логічні диски, оскільки Windows може накладати свої обмеження, які не будуть помітні на фізичних дисках. Якщо диск перекреслений, це означає що на ньому немає створеного тестового файлу і він буде створений при початку тесту.
Кнопка для копіювання worker
Кнопка для видалення worker
Maximum disk size. Розмір області, яку ми хочемо протестувати. Задається в секторах. Один сектор дорівнює 512 байтам. На скріншоті задана область з розміром 8 388 608 секторів, що дорівнює 4GB. Для того, щоб отримати розмір в гігабайтах потрібно розділити кількість секторів на 2 097 152.
# of Outstanding I / Os. Розмір черги дискових запитів. Бази даних генерують дуже багато дискових запитів і цей параметр відповідає за кількість цих дискових запитів. 64 - це добре навантажена база даних.
Write IO Data Pattern. Параметр відповідає за те, що буде писатися в тестовий файл.
Repeating bytes. Повторення одних і тих же символів
Pseudo random. Блок випадкових символів, який буде повторюватися в кожній дискової операції
Full random. Повністю випадкові дані.
Цей параметр важливий для деяких RAID контролерів. Щоб отримати максимально коректні дані, краще завжди використовувати режим Fullrandom.
Налаштування тесту можна задавати декількома способами:
Індивідуально для кожного worker. Для цього потрібно ставати на кожного worker в секції 1 і задавати потрібні параметри. Зручно коли хочеться задати різні параметри для різних worker.
Однакові для всіх worker. Для цього потрібно стати на manager в 1 секції (HarleyLaptop на скріншоті) і задати потрібні параметри. При цьому важливо враховувати що тестовані диски в секції 2 потрібно все одно ставити індивідуально для кожного worker.
Третій спосіб теж для все worker, але більш зручний ніж другий. Потрібно видалити всі worker крім одного, задати налаштування для одного worker і потім скопіювати його, щоб worker було стільки ж, скільки фізичних ядер.
На сторінці Access specifications вибираємо Databasepattern.За замовчуванням його в програмі немає. Завантажити можна з файлу налаштувань.
На сторінці налаштувань тесту вказуємо тільки Run time - тривалість тесту. Чим більше значення, тим точніше буде результат.
Запускається тест натисканням на кнопку із зеленим прапорцем.
На сторінці результатів є два налаштування відображення
Results since. Спосіб підрахунку результатів.
Start of test. Виводить усереднені результати з початку тесту.
Last Update. Виводить результати останньої операції.
Update frequency. Частота з якою будуть оновлюватися результати.
У секції Results Display виводяться результати тесту.
У кожному показнику можна клацнути на кнопку з назвою результату і вибрати довільний параметр. У нашому тесті ми використовуємо такі показники
Total I / O per second. Кількість IOPS в секунду. Ключовий показник при роботі з базами даних, оскільки бази генерують велику кількість операцій над невеликими порціями даних. У середньому одному користувачеві бази даних потрібно 500-700 IOPS.
Total MBs per Second (Decimal). Кількість мегабайт в секунду. Не дуже інформативний показник. Може збивати з пантелику тим, що на SSD вказана набагато більша швидкість. Однак зазвичай виробники та тести показують швидкість лінійного читання, яке не має ніякого відношення до роботи бази даних.
Average I / O Response Time (ms). Середній час виконання операції в мілісекундах. Чим менше цей показник, тим краще. У разі бази даних може бути досить критично, оскільки затримка однієї операції, яка виконується в рамках транзакції, може затримати всі інші операції в інших транзакціях. IOmeter не може відтворити такі ситуації, тому важливо стежити за цим параметром при виборі конфігурації дискової підсистеми.
Maximum I / O Response Time (ms). Максимальний час виконання операції в мілісекундах.
% CPU utilization. Відсоток завантаження процесорів.
Total Error count. Кількість помилок, які відбулися під час виконання операцій. Повинна дорівнювати 0.
У налаштуваннях є поділ показників на операції читання і запису, проте в цьому випадку немає сенсу їх виводити, оскільки в Database pattern задано 67/33 співвідношення операцій читання і запису, відповідно результати будуть виходити в такому ж співвідношенні.