< вернуться назад

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

Влияние глубины очереди на производительность и задержку
#Программирование #Технологии #Документация #BAUMSTORAGE #СистемноеАдминистрирование
3 минуты

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

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

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

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

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

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

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

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

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

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

Комментариев пока нет

Другие статьи, которые могут быть полезными

Введение К настоящему времени поддержка основных и новых функций NVMe-oF/TCP реализована в составе всех основных open source ОС: Linux/Red Hat (RHEL 9.X), SUSE (SLES 15 SP4 и SP5), Ubuntu Ubuntu...
3064
19
Рынок хранения для AI (и не только) сильно изменился. По данным VDURA, к Q1 2026 емкостью 30 ТБ на QLC SSD стоила в 22,6 раза дороже, чем та же емкость...
83
6
В блоге Google Research появился пост о SensorLM — новой семье sensor-language-моделей, обученных почти на 60 млн часов данных от Fitbit и Pixel Watch более чем 100 000 человек из...
227
4