
Все бенчмарки врут одинаково, а правду показывают по-разному. Именно поэтому, может быть, они не конкурируют между собой, а дополняют друг друга? Хорошо бы проверить данное предположение. Для начала решено было сравнить метрики, полученные утилитой AS SSD Алексея Шепелянского, с бенчмаркаvми, снятыми на том же самом устройстве java-приложением NIOBench (разработка Ильи Манусова). Подопытный — 120 ГБ твердотельный накопитель 3510-й серии производства Intel. Платформа ASUS P10S-i с процессором Xeon E3-1230 v5 и объемом оперативной DDR4-памяти 16 ГБ.
Начнем с копирования
Начнем с копирования: утилита AS SSD v1.9.5986.35387 «прячет» эту опцию внутри закладки Tools, а выбор накопителя и, самое главное, — размер тестового паттерна задаются на главной странице. Мы, как и условились, выбираем Intel SSDSC2BB120G6, на котором будем оценивать скорость копирования файлов размером 1 GB. Носитель отформатирован как extFAT — на первый взгляд, шаг не вполне логичный, исходя из практики использования SSD-дисков для операционных систем. Но у нас есть свои резоны, да и сравнение с NTFS никто не отменял.
Тест Copy-Benchmark выполняем с помощью AS SSD трижды с тем, чтобы убедиться в повторяемости результатов. Документировать операцию будем скриншотами, иллюстрировать — коллажем из них.
Рис 1. Одно из испытаний теста Copy-Benchmark, выполненная с помощью AS SSD
на твердотельном накопителе Intel SSDSC2BB120G6
Хотя разработчик и не раскрывает подробностей алгоритма Copy-Benchmark, но судя по продолжительности бенчмарок, AS SSD задействует десять или около того итераций для формирования финальных результатов. Сведем их в таблицу, где каждая ячейка — скорость копирования в МБ/сек.
Таблица 1.
Испытание | №1 | №2 | №3 | Среднее | Погрешность | В %% |
ISO | 102,16 | 101,77 | 92,54 | 98,82 | 4,19 | 4,24% |
Program | 87,09 | 84,90 | 85,68 | 85,89 | 0,80 | 0,93% |
Game | 98,87 | 97,90 | 98,08 | 98,28 | 0,39 | 0,40% |
Думается, результаты копирования в AS SSD могли быть более стабильными, если бы разработчик увеличил их длительность или дал возможность пользователю управлять этим параметром (в заданных пределах, разумеется).
В связи с тем, что тип каждого из паттернов (ISO, Program, Game) мы можем только теоретически соотносить с его содержимым, первый цикл тестов NIOBench решено было выполнить файлами, содержащими нули (Data: Zeroes) в самом производительном режиме неблокирующего ввода-вывода — асинхронном.
Рис 2. Испытания SSD-накопителя Intel SSDSC2BB120G6 в асинхронном режиме паттернами,
состоящими из нулей (левое поле) и с аппаратной рандомизацией (правое поле)
Полученные таким образом метрики, обусловленные применением java-приложения на основе фреймворка NIO, будут оценкой сверху для лучшего сравнения с результатами AS SSD. Для контроля повторим испытания утилиты NIOBench паттернами, состоящими из псевдо-случайных данных, полученных с помощью аппаратной рандомизации (Data: Hardware RNG). В таблицу скоростей сведем только медианы по операции копирования.
Таблица 2.
Испытание | №1 | №2 | №3 | Среднее | Погрешность | В %% |
Zeroes | 86,19 | 87,08 | 85,63 | 86,30 | 0,52 | 0,60% |
Hardware RNG | 86,19 | 86,72 | 87,00 | 86,64 | 0,30 | 0,34% |
Особой заслуги в том, что результаты NIOBench чуть более стабильны, чем у AS SSD, нет. Они получены при количестве итераций (опция Count), равном 20, исходя из a priori известного времени, затраченного Copy-Benchmark на тестирование: просто NIOBench работал дольше, чем партнерская утилита. Понятно, что в обоих случаях использовались паттерны одинакового размера — 1 GB.
Первые выводы
Сразу бросается в глаза хорошая корреляция данных, полученных с помощью утилиты NIOBench, с результатами использования инструментария Copy-Benchmark в режиме Program из арсенала AS SSD. Скорее всего, этот режим базируется на пропорциональном соотношении записи и последующего чтения, общем для обоих тестов. Разница в пол-процента для метрик, рассчитанных разным способом не может не радовать!
Очевидно также, что режимы ISO и Game (за недостатком информации) можно считать вариативной суперпозицией чтения и записи в рамках агрегированного теста копирования. Для их детального анализа потребуется выполнить основные тесты AS SSD, а также продолжить съём бенчмарок в режимах синхрноного выполнения операций утилитой NIOBench. Это также поможет проанализировать влияние технологии отложенной записи и нивелировать ее влияние на результаты тестов.