Изменение характеристик потока ввода-вывода либо параметров HBA , каналов передачи и конфигурации дисковых массивов, влечет за собой плавное либо скачкообразное изменение всех описанных выше взаимозависимых метрик. Например, рост Throughput влечет за собой увеличение Bandwidth.
Более четко эта зависимость выражается следующей формулой:
Т. е. Throughput прямо пропорциональна Bandwidth и обратно пропорциональна размеру блока данных Request Size. Сразу оговорюсь, что в реальной жизни эта зависимость, конечно, не линейна и зависит еще от множества параметров. Здесь же я привожу эту упрощенную формулу с тем, чтобы было проще запомнить взаимное “направление” изменения параметров. При постоянной Throughput увеличение размера блока ведет к росту общего объема передаваемых данных, т. е. Bandwidth. И, наоборот, при постоянной Bandwidth, увеличение размера блоков приводит к возможности передавать данные меньшим количеством пакетов и, соответственно, снижению Throughput.
При постоянных характеристиках ввода-вывода увеличение количества пакетов приводит к росту общего объема передаваемых данных.
Как уже говорилось, Response Time зависит от Queue Length и Service Time.При увеличении нагрузки на дисковый массив, растет длина очереди, увеличивается общее количество запросов, требующих записи и чтения данных между кэшем и физическими накопителями в Back-end. Поэтому Response Time нелинейно зависит от Throughput.
Эта зависимость мало заметна при низких значениях пропускной способности, но имеет очень важное значение при высоких нагрузках.
Конечно, форма этой кривой будет сильно отличаться для различных моделей и конфигураций систем хранения. Некоторые дисковые массивы среднего уровня могут показать очень высокий уровень производительности при малых нагрузках, но на серьезных задачах заметно уступят своим более мощным High-end собратьям. Это еще раз доказывает, что ко многим опубликованным синтетическим тестам производительности дисковых массивов стоит относиться с осторожностью, понимая общие условия тестирования и специфику нагрузки.
Напомню, что для улучшения общей производительности системы хранения нам нужно стремиться к уменьшению Response Time. Как этого можно достичь хотя бы в теории? Например, можно увеличить размер передаваемых блоков при постоянном значении Bandwidth.
Можно попробовать увеличить общий объем кэш или поместить тома данных на большем количестве жестких дисков.
На предыдущую зависимость можно посмотреть немножко с другой стороны. Увеличение количества дисковых накопителей в Back-end приводит к повышению Throughput.
Эту закономерность можно использовать, например, когда нам по каким-то причинам необходимо увеличить размер блока данных. Соответствующее падение Throughput можно хотя бы частично компенсировать за счет расположения данных на большем количестве шпинделей.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.