Олег Ларин
Олег Ларин

Влияние глубины очереди на производительность и задержку

2 минуты
1009
0

Рассмотрим понятие глубины очереди применительно к одиночному диску.

Чем больше глубина очереди, тем больше запросов жесткий диск может обработать за единицу времени. Это объясняется тем, что диск выстраивает последовательность обработки запросов таким образом, чтобы маршрут движения головок был оптимальным с точки зрения минимизации времени операций. Чем больше глубина очереди, тем больше у диска выбор и тем эффективнее оптимизация.

Диски SATA могут обрабатывать до 32 одновременных запросов, диски SAS – до 64. При максимальной глубине очереди производительность диска увеличивается примерно в три раза по сравнению с одиночными запросами.

Однако не все так просто. При увеличении глубины очереди растет задержка – среднее время выполнения запроса. Действительно, при глубине очереди, например, 32 каждый запрос должен подождать, пока будут обработаны предыдущие запросы. То есть, если общая производительность выросла в три раза по сравнению с глубиной очереди 1, время выполнения каждого запроса вырастет примерно в 10 раз. Это время складывается из времени ожидания и времени выполнения операции. Поэтому ориентироваться только на показатели производительности при максимальной глубине очереди не следует, так как задержки могут становиться слишком большими.

Когда мы говорим о глубине очереди применительно к RAID-массиву, картина меняется. При глубине очереди 1 мы не получим выигрыша в производительности по сравнению с одиночным диском, поскольку в массиве будет работать всегда только один диск. А вот если массив получит сразу столько запросов, сколько он имеет дисков в своем составе, мы получим рост производительности, пропорциональный числу дисков.

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

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

FavoriteLoadingОтслеживать

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Максимальный размер загружаемого файла: 0 Б. Вы можете загрузить: изображение, аудио, видео, документ, таблица, интерактив, текст, архив, код, другое. Ссылки на YouTube, Facebook, Twitter и другие сервисы, вставленные в текст комментария, будут автоматически встроены. Перетащите файл сюда

Последние статьи

Top