Хочу обратить ваше внимание на то, что Transfer Rate является параметром производительности передачи всех данных, т. е. как полезной, так и служебной информации. Объем только полезных данных, передаваемых в единицу времени, описывается метрикой ширина полосы пропускания (Bandwidth). Она чаще всего измеряется в Megabytes per second (MB/s).
Сам объем полезных данных в I/O запросах далее по контексту я буду называть размером блока данных или Request Size.
Из Transfer Rate можно вычислить максимальное теоретически достижимое значение Bandwidth. Реальный максимум пропускной способности будет немного меньше теоретического. Пример для интерфейсов Fibre Channel показан в таблице:.
Тип FC интерфейса | Transfer Rate | Теоретическая макс. Bandwidth half duplex | Реальная макс. Bandwidth half duplex | Реальная макс. Bandwidth full duplex |
1GFC | 1,063Gbps | 100MB/s | 90MB/s | 0,18GB/s |
2FGC | 2,126Gbps | 200MB/s | 180MB/s | 0,36GB/s |
4GFC | 4,252Gbps | 400MB/s | 360MB/s | 0,72GB/a |
8GFC | 8,5Gbps | 800MB/s | 720MB/a | 1,44GB/s |
Конечно, текущее значение Bandwidth может отличаться от максимального. Но, при этом, передача битов данных по каналу будет все равно производиться на скорости Transfer Rate. К примеру, 2Gbps FC HBA сервера, генерирующего нагрузку всего 50MB/s, все равно будет передавать данные лазерными импульсами с частотой ~2,126GHz. Более того, протокол Fibre Channel требует постоянного заполнения канала, поэтому в нашем случае приблизительно ? данных, передаваемых по оптическому линку, будут “пустыми” примитивами IDLE.
Количество операций ввода-вывода, передаваемых в единицу времени позволяет оценить метрика пропускной способности (Throughput). Измеряется она в I/Os per second (IOPS).
Стоит заметить, что чаще всего для описания требований к производительности конкретных приложений используется только одна из метрик Throughput или Bandwidth. Для программных комплексов, выполняющих операции произвольного доступа блоками данных малого размера (например, OLTP - Online Transaction Processing, web-серверы, файловые серверы) важно получить максимальное количество пакетов в минимальные сроки. Поэтому для них основной метрикой производительности является Throughput. Напротив, приложения, ориентированные на операции с последовательным потоком данных большими блоками (например, DSS - Decision Support System, обработка видео, высокопроизводительные вычисления HPC, резервное копирование), в первую очередь требуют высоких общих объемов переданной полезной информации. Соответственно для них наиболее критичной является метрика Bandwidth.
Очень важно применять правильную метрику в каждом конкретном случае. Например, рассуждения о Bandwidth при оценке производительности OLTP-приложения, могут быть расценены коллегами как признак непрофессионализма.
В качестве небольшой подсказки, когда стоит применять ту или иную метрику, можно использовать следующую довольно условную градацию приложений по типу ввода-вывода.
- Если размер блоков передаваемых данных <=32KB, то приложение характеризуется как Throughput oriented
- Если размер блоков данных >=64KB, то приложение можно описать как Bandwidth oriented
- Значения от 32KB до 64KB требуют индивидуального рассмотрения.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.