Random 4kib что это
Немного о дисковой производительности Windows VM в Proxmox VE. Результаты бенчмарков ZFS и MDADM+LVM
Если кому интересно, мы тут недавно потестили производительность чтение/запись внутри windows машины на ноде с Proxmox 4.3.
Хостовая система была установленна на raid10 реализованный двумя разными способами (zfs и mdadm+lvm)
Тесты проводились на Windows-госте, так-как в первую очередь интересовала производительность именно этой ОС.
Должен признать, это вторая версия статьи, в первой была допущена фатальная ошибка:
zfs тестировался на local storage, а не на zvol, т.к. я до последнего думал, что proxmox не поддерживает zvol.
Огромное спасибо winduzoid за то, что заметил данное недоразумение.
Мысль о написании данной статьи навели коментарии к недавней статье про Установку PROXMOX 4.3 на Soft-RAID 10 GPT от vasyakrg. Не холивара ради, но я решил опубликовать наши недавние результаты.
Водные данные:
CPU: Intel® Core(TM) i7-3820 CPU @ 3.60GHz
RAM: 20GB (1334 MHz)
HDD: 4x500GIB (ST500NM0011, ST500NM0011, ST3500418AS, WDC WD5000AAKX-22ERMA0)
SSD: 250GiB (PLEXTOR PX-256M5Pro)
OS: Proxmox Virtual Environment 4.3-10
Виртуальная машина:
CPU: 8 (1 sockets, 8 cores)
RAM: 6.00 GiB
HDD: 60 GiB (virtio)
OS: Windows Server 2008 R2 Server Standard (full installation) SP1 [6.1 Build 7601] (x64)
Все результаты получены с помощью утилиты CrystalDiskMark 5.2.0 x64.
Каждый тест проводился в 5 итераций по 32GB.
Никаких дополнительных твиков и изменений не указанных в статье не вносилось ни в конфигурацию гипервизора ни в конфигурацию виртуальной машины. То есть использовался просто свежеустановленный Proxmox и восстановленная из бэкапа виртуалка с Windows.
Результаты:
Итак сами результаты:
Позже мы добавили в наш zfs-пул кэширующий SSD.
Ради интереса мы так же запустили тесты на одном SSD:
Графики:
Для наглядности я решил нарисовать несколько графиков
Скорость на последовательное чтение и запись:
Скорость на случайное чтение и запись:
Количество IOPS на случайное чтение и запись:
Выводы:
Не смотря на то, что результаты получились довольно необычные, а местами даже странные, можно заметить что raid10 собранный на zfs, с опцией cache=none для диска показал более хороший результат, нежели raid10 собранный на mdadm + lvm как на чтение, так и на запись.
Однако, с опцией cache=writeback raid10 собранный на mdadm + lvm заметно выходит вперед.
Насколько сильно опция cache=writeback увеличивает риск потери данных мне пока-что выяснить не удалось, но на официальном форуме proxmox есть сообщение, что эта информация является устаревшей и в новых версиях ядра и qemu, она является рекомендуемой, во всяком случае, для дисков размещенных в zfs.
you refer to an old post, newer kernels and newer qemu version are in place now. for zfs, cache=writeback is the recommended setting.
Кроме того IlyaEvseev в своей статье писал, что writeback кэш дает хорошие результаты для виртулок с Windows.
По субъективной оценке, для ВМ с Windows оптимален writeback, для ВМ с Linux и FreeBSD — none.
На этом пожалуй все, если у вас есть какие-либо предложения на тему того, как еще можно увеличить производительность дисковых операций на гостевой машине, с радостью их выслушаю.
В новой системе под ОС стоит ссд, я его протестировал cristaldiskmark 5 и какие-то, по-моему, низкие результаты:
Sequential Read (Q= 32,T= 1) : 558.312 MB/s
Sequential Write (Q= 32,T= 1) : 232.447 MB/s
Random Read 4KiB (Q= 32,T= 1) : 216.398 MB/s [ 52831.5 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 76.639 MB/s [ 18710.7 IOPS]
Sequential Read (T= 1) : 515.737 MB/s
Sequential Write (T= 1) : 226.971 MB/s
Random Read 4KiB (Q= 1,T= 1) : 26.751 MB/s [ 6531.0 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 28.842 MB/s [ 7041.5 IOPS]
Test : 1024 MiB [C: 62.6% (279.7/446.6 GiB)] (x5) [Interval=5 sec]
Date : 2017/01/18 8:15:07
OS : Windows 7 Ultimate SP1 [6.1 Build 7601] (x64)
Для примера, протестированные hdd:
————————————————————————
Sequential Read (Q= 32,T= 1) : 200.011 MB/s
Sequential Write (Q= 32,T= 1) : 198.370 MB/s
Random Read 4KiB (Q= 32,T= 1) : 1.505 MB/s [ 367.4 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 1.268 MB/s [ 309.6 IOPS]
Sequential Read (T= 1) : 202.624 MB/s
Sequential Write (T= 1) : 162.352 MB/s
Random Read 4KiB (Q= 1,T= 1) : 0.602 MB/s [ 147.0 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 1.088 MB/s [ 265.6 IOPS]
—————————————————————————
1. Вторая, например, строчка в результатах тестов у ссд и хдд почти одинаковые. Разве это нормально?
2. И в целом, по тесту сдд результат адекватный? В инете смотрел, видел результаты третей/четвертой, седьмой/восьмой строчек (Random Read 4KiB/Random Write 4KiB) были заметно выше моих значений, в то же время, у меня, вроде бы, все железо новое, должно по идее давать высокие показатели.
П.С. МП asus z170 pro, ssd kingston hyper x fury 480 Gb (hdd обычные, старые).
О чем недоговаривают производители SSD [Обновлено!]
Это перевод статьи с сайта «The SSD Review». По правде сказать, это не совсем перевод — скорее выжимка смысла с добавлением графиков, которые говорят сами за себя. Я намеренно оставил без внимания рекламу накопителей Intel. Ну и еще один момент — автор странно передергивает, сначала показывая преобладание random 4-8k write, а затем приводя на графиках как меру производительности random 4-8k read. Ощущение, что он сам что-то недоговаривает. Будет неплохо, если кто-то из компетентных людей оставит в комментариях свое мнение.
UPD:
Достоверность информации в статье подтверждена опытным путем. Проделал опыты, написал парсер и выложил результаты хабражитель deseven, за что ему огромное спасибо. Табличку с его данными вы можете посмотреть в конце статьи.
Вы задумались о покупке SSD? Речь пойдет о самом важном, что необходимо для этого знать. Данная информация покажет в выгодном свете лишь парочку-другую производителей, в то время как остальные окажутся в крайне невыгодном положении.
Итак, в чем же обман?
Давайте перейдем к делу. Взгляните на графики и скажите — какой из этих SSD-дисков выбрали бы вы?
Окей, некоторые из вас уже уловили суть. Давайте попробуем еще раз. Внимательно посмотрите еще на пару графиков и скажите — какая конфигурация даст ощущение большей производительности для среднего пользователя?
Те из вас, кто посчитал более быстрой конфигурацию на правом графике — абсолютно правы.
Когда мы выбираем себе диск для покупки, в глаза бросаются в первую очередь «огромные» цифры последовательного чтения/записи. На правом верхнем графике, к примеру, эта цифра составляет 245 MB/s. Должно быть, этот диск пошустрее того, чей график приведен слева с цифрой в 183 MB/s, ведь так?
Так, да не так. Чтобы определить, какой из SSD лучше подходит именно вам — надо сначала разобраться, какого рода дисковая активность является наиболее типичной для вашей системы.
К счастью, у меня есть хорошая техническая поддержка со стороны людей, разбирающихся в SSD-технологиях. Недавно один из них написал пост, привлекший мое внимание. Он использовал Diskmon, чтобы отследить дисковую активность в процессе повседневного использования компьютера — запускал приложения, пользовался интернетом, слушал музыку и так далее. На основании этого было выявлено, какой процент в общей дисковой активности занимает тот или иной вид доступа при использовании компьютера для повседневных задач.
Top 5 Most Frequent Drive Accesses by Type and Percentage | |
---|---|
8K Write | 56.35% |
8K Read | 7.60% |
1K Write | 6.10% |
16K Write | 5.79% |
64K Read | 2.49% |
Top 5 summary | 78.33% |
Largest access size in top 50: 256K Read | 0.44% |
В итоге он сделал заключение, о котором вроде все знают, но почему-то отказываются понимать до конца. Последовательный доступ к большим блокам данных используется средним пользователем менее 1% времени, в то время как основной дисковой активностью — более 50%, как видно из цифр выше — является «8k random write», то есть случайная запись маленькими блоками.
Чтобы заставить вас купить SSD, производители демонстрируют нам скорость дисковой операции, которая составляет наименьшую (0.44% в общем) долю от всей дисковой активности!
С учетом этой информации, взгляните на графики еще раз — на ту их часть, где указана скорость «4kb random write». Думаю, идею вы уловили.
В момент запуска приложения либо самой ОС, компьютер активно использует библиотеки динамической компоновки (dll). Они представляют из себя тысячи маленьких программ, которые вызываются основной программой по мере необходимости, не будучи загруженными в память резидентно. Для их чтения с диска чаще всего используется «4-8k random access», и чем быстрее они загружаются, тем быстрее стартует приложение или ОС. Аналогично, чем быстрее они могут быть вызваны в процессе работы программы — тем быстрее программа.
Другими словами, «4-8km random access» — ключевой вид дисковой операции, влияющий на видимую пользователем производительность SSD, и при покупке следует ориентироваться именно на него.
Следует отметить, что для некоторых видов деятельности, таких как редактирование видео, скорость последовательного чтения/записи будет иметь не последнее значение. Однако типичным пользователем такая высокая скорость практически никогда не используется.
Как вы понимаете, производители редко указывают скорость случайного чтения/записи блоками по 4-8 Кб на упаковке своих SSD-накопителей. Эти данные можно найти только в интернете, из различных тестов.
Ну и напоследок — производительность random 4k read для некоторых дисков.
Обновлено:
Кстати сказать, я тоже ранее попытался повторить данный опыт, но на моей XP diskmon вообще ничего не показывает, то есть не собирает статистику. Нагуглить решение так и не смог.
Выводы:
Технически статья скорее верна, по крайней мере в том, что основной дисковой активностью является 4-8k random r/w. Преобладание чтение над записью в исходных данных объясняется скорее всего особенностями ОС автора и ее настройкой.
Почему 4K чтения в HDD/ssd тестах медленнее, чем записи?
есть несколько эталонных инструментов, доступных для тестирования скорости привода ПК.
вот пример эталонного твердотельного накопителя SATA:
в каждом случае «случайное чтение 4KB Q1» медленнее, чем запись, и в большинстве случаи его противоположность для «QD32».
на некоторых форумах люди говорят, что это ограничение в отношении чип-структуры SSD, но, как обычно, жесткие диски показывают такое же поведение, кажется, другая причина?!
1 ответов
TL; DR: это потому, что SSD лжет вам и говорит, что запись сделана раньше, чем это. Это не может сойти с рук то же самое для чтения.
более длинная версия ответа-кэширование записи.
начнем с случая QD1. SSD сообщит о завершении записи в ОС, как только получит данные и сохранит их в кэше локально на диске, но до того, как он фактически запишет их в NAND. Это имеет большое значение, потому что на самом деле запись данных в NAND происходит довольно медленно. Для чтения он фактически должен прочитать данные из NAND, прежде чем он сможет отправить его обратно (если только он не прочитал его раньше и все еще имеет его в кэше, но это очень маловероятно при случайном чтении).
недостатком этого является то, что перед лицом внезапной потери мощности может быть потеря данных, записанных на SSD, но которые еще не сделали это на NAND. Некоторые SSD предприятия включают супер конденсатор который хранит достаточная сила закончить написать данные в тайнике к NAND в случае неожиданных потерь элекпропитания.
вы видите то же самое для жестких дисков, потому что они также делают кэширование записи. Они просто не так агрессивны по этому поводу. Почему SSD так агрессивен? Чтобы ответить на этот вопрос, нам нужно перейти к рассмотрению случая QD32, который является более сложным и более интересным.
Это не правда, что вы говорите, что случайные чтения, как правило, быстрее, чем случайные записи в QD32. Это зависит от того, какой именно SSD, на которые вы смотрите.
Если вы посмотрите на 4K QD1 случайных чтений на многих SSD SATA все они, кажется, выполняют в диапазоне 20-30 МБ / с. Почему так? Это за 4K QD1 случайно читает в основном про задержки, а не пропускная способность. Задержка происходит из трех частей:
ни один из 1. или 3. многое изменилось за долгое время, и именно поэтому случайные чтения 1K QD1 также не сильно изменились.
недавний переход на твердотельные накопители с SATA/AHCI на PCIe / NVMe значительно сократил задержку 1., поэтому некоторые m.2 и PCIe SSD в последнее время показывают большие улучшения здесь.
одна вещь, контроллер SSD может сделать значительно справка с задержкой читается или записывается в несколько плашек NAND параллельно, и таким образом маскирует большую часть задержки 3. Если вы делаете QD32 4K случайных чтений с NCQ SSD может обслуживать запросы чтения из строя и убедитесь, что он читает от столько NAND умирает параллельно, насколько это возможно.
для QD32 4K random пишет SSD делает что-то под названием write combining. Когда много малые пишут запросы приходят в регулятор SSD тайники они по месту и когда большой достаточно буфер записи создали контроллер разбивает его на куски красиво размера и записывает куски в несколько NAND умирает параллельно, снова, чтобы помочь замаскировать задержку NAND. Еще одним преимуществом комбинирования записи является то, что большинство твердотельных накопителей в настоящее время имеют размер страницы (наименьшее количество, которое может быть прочитано или записано) больше 4k, а объединение записей до тех пор, пока вы не достигнете размера страницы, помогает избежать большого усиления записи. Именно для того, чтобы сделать эти вещи, что SSD настолько агрессивны в кэшировании записи.
Проверка скорости работы жесткого диска
Как и многие другие комплектующие, жесткие диски тоже имеют разную скорость, и этот параметр уникален для каждой модели. При желании пользователь может узнать этот показатель, протестировав один или несколько винчестеров, установленных в его ПК или ноутбук.
Проверяем скорость работы HDD
Несмотря на то, что в целом HDD — самые медленные устройства записи и чтения информации из всех существующих ныне решений, среди них все равно присутствует распределение на быстрые и не очень. Самым понятным показателем, определяющим быстроту работы жесткого диска, является скорость вращения шпинделя. Основных вариантов тут 4:
От этого показателя зависит, какая пропускная способность будет у диска, или проще говоря, с какой скоростью (Мбит/с) будут вестись последовательные запись/чтение. Для домашнего пользователя актуальными будут лишь первые 2 варианта: 5400 RPM используется в старых сборках ПК и на ноутбуках ввиду того, что они меньше шумят и обладают повышенной энергоэффективностью. У 7200 RPM оба этих свойства повышены, но вместе с тем увеличена и скорость работы, за счет чего их устанавливают в большинство современных сборок.
Важно заметить, что на скорость влияют и другие параметры, например, поколение SATA, IOPS, объем кэша, время произвольного доступа и др. Именно из этих и других показателей складывается общая скорость взаимодействия HDD с компьютером.
Способ 1: Сторонние программы
CrystalDiskMark считается одной из лучших программ, поскольку позволяет в пару кликов провести тестирование и получить интересующую пользователя статистику. Мы рассмотрим все 4 варианта тестов, которые в ней имеются. Тест сейчас и в другом способе будем проводить на не очень производительном HDD для ноутбука — Western Digital Blue Mobile 5400 RPM, подключенному по SATA 3.
В CrystalDiskMark 6 был убран тест «Seq» из-за его неактуальности, другие поменяли свое название и расположение в таблице. Неизменным остался лишь первый — «Seq Q32T1». Поэтому если эта программа уже была у вас установлена, обновите ее версию до последней.
Что касается потоков — это значение отвечает за количество одновременных запросов на диск. Чем выше значение, тем большее количество данных диск обрабатывает за одну единицу времени. Потоком называется количество одновременных процессов. Многопоточность повышает нагрузку на HDD, однако информация при этом распределяется быстрее.
В заключение стоит отметить, что есть ряд пользователей, считающих обязательным подключение HDD через SATA 3, имеющий пропускную способность 6 ГБ/с (против SATA 2 с 3 ГБ/с). На деле же скорости жестких дисков для домашнего использования практически не могут перешагнуть рубеж SATA 2, из-за чего нет смысла менять этот стандарт. Прирост в скорости будет заметен лишь после переключения с SATA (1,5 ГБ/с) на SATA 2, но первый вариант этого интерфейса касается совсем старых ПК-сборок. Зато для SSD интерфейс SATA 3 будет ключевым фактором, позволяющим работать в полную силу. SATA 2 же будет ограничивать накопитель и он не сможет раскрыть весь свой потенциал.
Оптимальные значения тестов скорости
Отдельно бы хотелось рассказать об определении нормальных показателей скорости работы жесткого диска. Как вы могли заметить, тестов довольно много, каждый из них проводит анализ чтения и записи с различной глубиной и потоками. Обратить внимание следует на такие моменты:
Важнейшими показателями являются результаты «4KiB Q32T1» и «4KiB Q1T1». Обращать на них особое внимание следует тем пользователям, кто проводит тестирование диска с установленной на него операционной системой, поскольку практически каждый системный файл весит не более 8 КБ.
Способ 2: Командная строка/PowerShell
В Windows есть встроенная утилита, позволяющая проверять скорость работы накопителя. Показатели там, конечно, ограниченные, но все же могут пригодиться некоторым пользователям. Запуск тестирования происходит через «Командную строку» или «PowerShell».
-n N (где N — номер физического диска. По умолчанию проверяется диск «0»);
-drive X (где X — буква диска. По умолчанию проверяется диск «C»).
Сравнивать эти тесты с предыдущем способом будет не совсем корректно, поскольку тип тестирования не совпадает.
Читайте также: Как узнать индекс производительности компьютера в Windows 7 / Windows 10
Теперь вы знаете, как проверить скорость работы HDD разными способами. Это поможет сверить показатели со средними значениями и понять, является ли жесткий диск слабым звеном в конфигурации вашего ПК или ноутбука.
Помимо этой статьи, на сайте еще 12456 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.