2004 г.
Тестирование контроллеров iSCSI
Александр Горловой
«Экспресс-Электроника» #8(117)/2004
Протокол iSCSI появился не так давно и его аппаратных реализаций пока
немного. Соответственно, мало и опыта применения iSCSI. В данной
статье представлены результаты тестирования и измерения
производительности трех контроллеров iSCSI от компаний Adaptec,
Alacritech, Intel. Надеемся, этот материал поможет читателям сделать
выбор в пользу новой технологии.
Измерялась производительность
трех контроллеров
iSCSI: SES1001T iSCSI Accelerator от
Alacritech, 7211C iSCSI Card от Adaptec и
Intel PRO/1000T IP Storage Adapter. Для оценки и измерения
производительности указанных контроллеров использовался стандартный
для этих целей инструментарий, Iometer
(специальный программный продукт, который инсталлируется и
запускается на сервере, предназначенном исключительного для этих
целей). Поскольку еще нет аналогичного устоявшегося термина для
обозначения данного инструментария, далее по тексту мы будем
использовать оригинальное написание — Iometer.
Производительность контроллеров измерялась в количестве операций
ввода/вывода за одну секунду (IOPs) и в
количестве переданных за секунду мегабайт (Mбайт/с).
То есть оценивались два параметра: производительность и пропускная
способность.
Все три карты являются контроллерами iSCSI
с «медным» подключением и во всех использована аппаратная
разгрузка TCP/IP
центрального процессора сервера. Технология эта называется TOE
– TCP Offload
Engine, а соответствующие контроллеры имеют
индекс TOE.
Карта Intel PRO/1000T
IP Storage
Adapter содержит процессор Intel
80200, на котором и реализовано аппаратное ускорение TCP/IP.
Карты же Adaptec и Alacritech
построены на специализированных заказных процессорах. Для обработки
пакетов iSCSI в контроллере 7211C
установлен специализированный процессор Adaptec
SPA (Storage
Protocol Accelerator).
Контроллер Alacritech SES1001T
iSCSI построен на специализированном
процессоре TOE Alacritech
IPP (Internet
Protocol Processor).
Кроме того, если в системе применяется два и более контроллера iSCSI,
входящее в комплект управляющее ПО Alacritech
предоставляет большую гибкость, удобство управления и наилучшую
устойчивость.
Цель работы — сравнение пропускной способности и количества
операций ввода/вывода в единицу времени контроллеров iSCSI
при помощи инструментария Iometer как в
полудуплексной (однонаправленной), так и в дуплексной
(двунаправленной) конфигурациях. Дополнительно оценивались
возможности управления и устойчивости на базе IP
для всех рассматриваемых контроллеров.
В качестве управляющей системы использовался сервер Supermicro
с двумя процессорами Intel Pentium
4 с частотой 3,06 ГГц, оперативной памятью 2 Гбайт, одним жестким
диском емкостью 76 Гбайт (файловая система NTFS)
и операционной системой Windows Server
2003 Standard Edition.
На сервер была установлена версия Iometer
2003.12.16 win32.
При проведении каждого теста соответствующий контроллер вставляли в
управляющий сервер Iometer, потом
подключали к управляемому коммутатору Dell
PowerConnect 5224 (одиночное подключение
при помощи медного кабеля Gigabit
Ethernet). Затем этот коммутатор
подсоединялся оптическими кабелями к коммутатору McData
IPS3300 Internetworking
Switch. И наконец, коммутатор McData
четырьмя оптическими кабелями Fibre Channel
был подключен к дисковой системе LSI Logic
ProFibre DF4000R.
Во время испытаний Iometer генерировал
нагрузку с разным процентным соотношением последовательной записи и
чтения, при этом размер запроса чтения или записи составлял от 251
байт до 1 Мбайт.
Каждый продукт подвергся следующим испытаниям:
Кэшируемые
двунаправленные операции с соотношением чтение/запись 50:50. Общее
количество сгенерированных запросов ввода/вывода поровну поделено
между операциями чтения и записи. Тестируемое устройство
сконфигурировано для работы в полнодуплексном режиме.
Кэшируемые
однонаправленные операции чтения (100% операций чтения). Все
сгенерированные запросы ввода/вывода являются запросами чтения, а
тестируемое устройство (контроллер) сконфигурировано на работу в
полудуплексном режиме.
Кэшируемые
однонаправленные операции записи (100% операций записи). Все
сгенерированные запросы ввода/вывода являются запросами записи, а
тестируемое устройство сконфигурировано для работы в полудуплексном
режиме.
Каждый тест проводился в течение 60 секунд, причем отсчет времени
начинался не сразу, а через 20 секунд работы системы (чтобы прошли
установочные процессы).
Результаты, полученные при соотношении операций чтение/запись
50:50 и двунаправленном (дуплексном) режиме
Результаты двунаправленных тестов представлены на рис. 1. Видно, что
из всех трех контроллеров максимальной пропускной способностью
обладает Alacritech SES1001T
с пиковой пропускной способностью 211,6 Mбайт/с
при запросах ввода/вывода 64 кбайт. Наименьшую пиковую пропускную
способность 129,1 Mбайт/с показал
контроллер Intel PRO/1000T
при запросах передачи 32 кбайт. Adaptec
iSCSI Card 7211C
показал пиковую пропускную способность 134,4 Mбайт/с
при запросах передачи 128 кбайт.
С точки зрения пропускной способности измерения в двунаправленном
режиме показали 64%-е превосходство контроллеров Alacritech
SES1001T над
контроллерами Intel PRO/1000T
IP Storage
Adapter и 57%-е превосходство над
контроллерами Adaptec iSCSI
Card 7211C.
Представленные на рис. 2 результаты измерений в двунаправленном
режиме свидетельствуют о том, что контроллер Alacritech
выполняет больше операций ввода/вывода в единицу времени (за
секунду), чем другие тестируемые контроллеры. Максимальное количество
операций ввода/вывода за секунду для контроллера Alacritech
составило 47690,5 при запросах передачи 512 байт. Максимальный
показатель контроллера Adaptec составил
10728,2 при запросах передачи 512 байт. Еще меньший показатель у
контроллера Intel – 14486,9 при
запросах передачи 512 байт.
С точки зрения пикового количества операций ввода/вывода за секунду
контроллер Alacritech показал 345%-е
превосходство над контроллером Adaptec и
226%-е превосходство над контроллером Intel.
Результаты,
полученные только на операциях чтения (100% операций чтения) в
однонаправленном режиме
На рис. 3 представлены результаты измерения пропускной способности на
операциях чтения в однонаправленном режиме. Видно, что максимальной
пропускной способностью обладает контроллер Alacritech
– 113,1 Mбайт/с (пиковая величина)
при запросах передачи 256 кбайт. Самая маленькая в тесте пиковая
пропускная способность 76,4 Mбайт/с при
запросах передачи 256 кбайт оказалась у контроллера Intel,
а пиковая пропускная способность контроллера Adaptec
оказалась чуть выше 93,7 Mбайт/с при
запросах передачи 512, 256, 128 и 64 кбайт.
С точки зрения пропускной способности при однонаправленном режиме
работы (чтении) преимущество контроллера Alacritech
перед контроллером Intel составляет 48%, а
перед контроллером Adaptec – 21%.
На рис. 4 показаны результаты измерения количества операций
ввода/вывода за секунду в однонаправленном режиме (чтение) работы.
Лучший результат (46001,5 операций ввода/вывода за секунду при
запросе передачи 512 байт) снова показал контроллер Alacritech.
На втором месте (14491,7 операций ввода/вывода за секунду при запросе
передачи 512 байт) – контроллер Intel,
а на третьем (11657,2 операций ввода/вывода за секунду при запросе
передачи 512 байт) — контроллер Adaptec.
С точки зрения количества операций ввода/вывода за единицу времени
(то есть производительности системы ввода/вывода) преимущество
контроллера Alacritech над контроллером
Adaptec составляет 295%, а над контроллером
Intel – 217%.
Результаты,
полученные только на операциях записи (100% операций записи) в
однонаправленном режиме
На рис. 5 представлены результаты измерения пропускной способности
контроллеров при однонаправленном режиме работы и выполнении только
операций записи. Лучший показатель (правда, с небольшим отрывом) —
113,2 Mбайт/с при запросах записи 512, 256,
128 и 64 кбайт снова у контроллера Alacritech.
Самая маленькая пропускная способность 109,9 Mбайт/с
при запросах записи 256, 128 и 64 кбайт у контроллера Adaptec.
Пропускная способность контроллера Intel
составляет 113,1 Mбайт/с при запросах
записи 1 Mбайт, а также 512, 256, 128 и 64
кбайт.
С точки зрения пропускной способности преимущество контроллера
Alacritech над контроллером Adaptec
составляет 3%. По сравнению с Intel разница
совсем незначительна.
Результаты измерения производительности системы ввода/вывода при
однонаправленном режиме работы (количество операций ввода/вывода за
секунду) и только на операциях записи представлены на рис. 6.
Максимальное пиковое количество операций ввода/вывода за секунду
(23733) показал контроллер Alacritech при
запросах записи 512 байт. На втором месте контроллер Intel
(16992,3 операций ввода/вывода за секунду при запросах записи 512
байт), а наименьший результат у контроллера Adaptec
(9354 операций ввода/вывода за секунду при запросах записи 512 байт).
С позиции пиковой производительности системы ввода/вывода при
однонаправленном режиме работы и выполнении только операций записи
преимущество контроллера Alacritech над
контроллером Adaptec составляет 154%, а над
контроллером Intel – 40%.
В результате тестирования выяснилось, что контроллер Alacritech
обладает наибольшими возможностями для управления при подключении по
iSCSI.
Тесты
на устойчивость
Наилучшей устойчивостью обладает контроллер Alacritech,
поскольку лишь этот контроллер сумел сохранить нормальную пропускную
способность при введении неисправности кабельного соединения между
контроллером и управляемым коммутатором Dell
PowerConnect 5224.
Ни контроллеру Adaptec, ни контроллеру
Intel не удалось поддержать нормальную
пропускную способность в этих условиях. Более того, контроллер
Alacritech не выдал сообщения об ошибках
при введении неисправности кабеля. Не обладающим функцией
устойчивости контроллерам Adaptec и Intel
не удалось сохранить нормальное функционирование в этих условиях.
Данные тесты были проведены для того, чтобы выяснить, работают ли
контроллеры устойчиво при разрыве кабельного соединения. Под
устойчивостью понимают способность контроллера к восстановлению при
ошибке или сбое в сетевом соединении. Для этого два одинаковых
контроллера, установленных в сервере, были сконфигурированы таким
образом, чтобы оба использовали одно сетевое подключение к
коммутатору Dell PowerConnect
5224 (так называемое объединение контроллеров). С этой целью
проводилась соответствующая настройка контроллеров при помощи функции
агрегации соединений у коммутатора Dell.
Затем контроллеры были объединены при помощи соответствующего ПО.
После этого проводили тестирование устойчивости работы контроллеров.
Возможность объединения у контроллеров Adaptec
и Intel не поддерживается, поэтому
контроллеры были сконфигурированы в режим балансировки нагрузки.
Для тестирования устойчивости было запущено приложение Iometer,
которое, в свою очередь, инициировало обмен с дисковой системой при
помощи двух установленных контроллеров. По истечении двух минут
работы фиксировали пропускную способность, количество операций
ввода/вывода за секунду и количество ошибок. Эти результаты
рассматривались потом как нормальные значения. Затем отключили кабель
Ethernet от порта 1 коммутатора Dell
(имитация возникновения обрыва кабеля, рис. 8), ждали еще минуту и
снова фиксировали показания Iometer. И
наконец, выждав еще две минуты, восстановили разорванное соединение.
Далее, через 10 секунд (чтобы дать контроллеру время восстановить
соединение) отключили кабель от порта 2 коммутатора Dell
(смоделировали обрыв соединения второго контроллера с коммутатором,
рис. 9). Через 10 секунд снова зафиксировали показания Iometer
(пропускная способность, число операций ввода/вывода за секунду и
количество ошибок).
Из результатов видно, что контроллер iSCSI
Alacritech SES1001T
обладает наибольшей устойчивостью параметров при введении отказа
кабельного соединения (то есть разрыва кабеля) между контроллером и
коммутатором.
Контроллер Alacritech действительно
поддерживает неизменный трафик данных (пропускная способность и
количество операций ввода/вывода за секунду) при разрыве одного из
соединительных кабелей. Контроллер Adaptec
сразу после разрыва кабеля начал выдавать ошибки, а
производительность снизилась (до 2%). Производительность и пропускная
способность контроллера Intel снизилась
примерно вдвое. Можно сказать, что контроллеры Adaptec
и Intel не прошли тест на устойчивость,
ввиду отсутствия поддержки этой функции.
После того как первое соединение первого контроллера с коммутатором
(порт 1) было восстановлено и в течение 10 секунд восстановилось
логическое соединение, было разорвано соединение между вторым
контроллером и коммутатором. Точно так же контроллер Alacritech
не показал ошибок передачи, и, соответственно, ни пропускная
способность, ни производительность не изменились. Контроллер Adaptec
сразу же показал наличие ошибок, пропускная способность и
производительность упали до нуля. Такая же ситуация происходила и с
контроллером Intel.
Контроллер
|
Пропускная
способность (Mбайт/с)
|
Производительность
(число операций ввода/вывода за секунду)
|
Число ошибок
|
Alacritech
|
18,53
|
37954,57
|
0
|
Adaptec
|
11,63
|
23814,59
|
0
|
Intel
|
16,33
|
33435,95
|
0
|
Таблица
1. Результаты после двухминутной нормальной работы
Контроллер
|
Пропускная
способность (Mбайт/с)
|
Производительность
(число операций ввода/вывода за секунду)
|
Число ошибок
|
Alacritech
|
18,85
|
38596,54
|
0
|
Adaptec
|
0,24
|
498,66
|
530
|
Intel
|
8,25
|
16887,85
|
0
|
Таблица 2. Результаты
после 1 минуты работы с разорванным соединением между первым
контроллером и коммутатором
Контроллер
|
Пропускная
способность (Mбайт/с)
|
Производительность
(число операций ввода/вывода за секунду)
|
Число ошибок
|
Alacritech
|
18,44
|
37764,92
|
0
|
Adaptec
|
0
|
0
|
540
|
Intel
|
0
|
0
|
0
|
Таблица 3. Результаты
после восстановления соединения первого контроллера (P1) и
последующего разрыва соединения второго контроллера (P2) с
коммутатором
Подведем итоги. Преимущества контроллеров Alacritech
во всех тестах обусловлены, по всей вероятности, применением более
эффективного специализированного процессора. Стоимость же продукции
Alacritech, по крайней мере, не выше, чем у
конкурирующих изделий. Кроме того, можно предположить — и
полученные результаты косвенно об этом свидетельствуют — что
механизм TOE у контроллера Alacritech
действует более эффективно, чем у других участников теста.