3

Таким образом, в основном в классе (во время курса по базе данных) нам пришлось установить и запустить CrystalDiskMark и проанализировать числа.

Единственное, что я не мог понять, это то, что мой компьютер (использующий твердотельный накопитель) имел более высокое число Мбит / с на глубине очереди 32, чем с глубиной очереди 1.

Если я не ошибаюсь, глубина очереди - это количество задач, ожидающих обработки, где 1 обычно для обычного пользователя, а 32 больше для сервера.

На глубине очереди 4Kb 1 было чтение 31,74 МБ / с и запись 24,13 МБ / с. На глубине очереди 4Kb 32 считывание составило 163,6 Мб / с, а запись - 60,68 Мб / с.

Для чтения это более чем в 5 раз и более чем вдвое больше. Почему он имеет гораздо больше МБ / с на глубине 32 очереди? Я думал, что это будет выше на 1 глубину очереди

2 ответа2

2

Наиболее распространенные глубины очереди для тестирования - это Глубина очереди, равная 1, которая типична для небольших потребительских рабочих нагрузок, и Глубина очереди, равная 32, которая отражает большую рабочую нагрузку, которую можно увидеть на сервере (например, веб-сервере, сервер базы данных и т. д.). Где в этом спектре SSD будет работать лучше всего, зависит от алгоритма прошивки привода. Оптимизация под большую или низкую глубину очереди или наоборот - не обязательно плохая вещь, а скорее дизайнерское решение.

Источник

Таким образом, если тестируемый диск был оптимизирован для использования сервера, он может / будет / должен работать лучше с более длинными / более глубокими очередями, чем диск с неглубокой очередью (например, настольный диск низкого уровня).

Также имейте в виду, что сам контроллер накопителя также играет роль в том, как обрабатывается QD, и на какой глубине очереди можно получить доступ сразу.

Подробнее о глубине очереди и контроллерах привода

Приличный контроллер накопителя может определить, какие запросы зависят от каких и какого типа запросов. Затем он мог бы использовать эту информацию, чтобы решить, в каком порядке команды передаются на накопитель (-и), что оптимизирует пропускную способность.

Таким образом, в общем случае организация очередей позволяет подсистеме накопителей (ОС, контроллеру, накопителям и т.д.) Определять оптимальный порядок запуска команд. Если глубина очереди равна только 1, то она имеет дело только с 1 командой за раз, и эти оптимизации не могут быть выполнены.

0

Я не думаю, что на этот вопрос действительно был дан ответ, поэтому здесь идет простая попытка.

SSD быстрее на больших глубинах очереди по нескольким причинам:

  1. Они построены из нескольких флеш-чипов. Упрощенно сказать, что это RAID 0 внутри, но это несколько похоже. Очередь запросов может обслуживаться несколькими флеш-чипами одновременно.

  2. Flash настолько быстр, что задержка между ответом на запрос и получением нового запроса является важной частью процесса. На жестком диске задержка ответа / запроса незначительна по сравнению с задержкой вращения и временем поиска головки. Но с SSD это ожидание гораздо больший процент. Наличие очереди запросов дает SSD больше работы после того, как он откликнется на предыдущую работу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .