Ultra320 SCSI: передовик производительности
Ещё никогда в распоряжении “тяжёлых” приложений не было такой ёмкости и такой производительности, какую демонстрируют современные приводы. Скорость чтения с пластин даже у винчестеров IDE достигла 60 Мбайт/с. Большей скоростью вряд ли могут похвастаться и дорогие модели SCSI. С выпуском Serial ATA мы получили удобный и быстрый интерфейс. Так зачем нам нужен стандарт SCSI вообще?
Действительно, на рынке серверов начального уровня наблюдается постепенный переход со SCSI на ATA. Компании по web-хостингу во всех уголках мира уже предлагают в аренду серверы с экономичными приводами IDE. В связи с быстрым распространением контроллеров IDE-RAID (RAID 0, 1 и 0+1) ничто не мешает создавать отказоустойчивые массивы RAID. К тому же, тенденция такова, что на базе приводов ATA уже начали создавать даже массивы RAID 5. Законодателем моды сегодня является Serial ATA, что наглядно демонстрирует выход линейки Raptor от Western Digital (10.000 об/мин и интерфейс Serial ATA).
Однако на корпоративном рынке ситуация несколько иная. Здесь значение имеет не только максимальная скорость передачи, но и хорошая производительность ввода/вывода. Типичным применением здесь являются базы данных, файловые и web-серверы, где необходимо отвечать на различные запросы с максимальной скоростью. Как подтверждают данные нашей лаборатории, контроллеры и жёсткие диски IDE пока ещё слишком слабы в этой области.
В статье мы детально рассмотрим производительность Ultra320 SCSI. Чтобы определить максимальную пропускную способность и производительность ввода/вывода, мы использовали последние контроллеры от Adaptec (39320D-R) и LSI Logic (20320R). К тому же мы решили протестировать 39160 от Adaptec, чтобы выявить для сравнения параметры производительности Ultra160 SCSI.
Ultra320 SCSI в деталях
Впервые за долгую историю SCSI, в новом стандарте произошли фундаментальные изменения. Введение пакетного обмена помогло уменьшить, так называемые, накладные расходы (overhead). Если до этого момента команды и информация состояния передавались асинхронно (к тому же очень медленно), то на Ultra320 они являются частью пакетов данных, что позволяет использовать их высокую пропускную способность.
Ещё одной инновацией стало введение потоковых процедур, которые должны упростить и ускорить передачу пакетов данных. Они используют упрощённый процесс запроса/ подтверждения, в котором подтверждение отсылается только после принятия всего пакета, а не после каждого блока данных.
Если в Serial ATA длина кабеля не может быть больше одного метра, то шина Ultra320 позволяет достигать аж 25 метров при установке одного устройства. Однако, в отличие от Serial ATA, все устройства Ultra320 работают на одном и том же канале, распределяя его пропускную способность между собой. Serial ATA позволяет подключать только одно устройство на порт, обеспечивая для него пропускную способность 150 Мбайт/с. По этой причине в критичных по производительности условиях на один канал SCSI не следует устанавливать больше пяти-семи приводов. Тогда пропускная способность канала будет равна сумме максимальных скоростей передачи приводов.
Остальные детали уже привычны по предыдущим стандартам SCSI: терминация шины на конце, выделение SCSI ID для всех доступных устройств, включая адаптер, автоматическое определение всех устройств через BIOS адаптера, подключение внешних устройств через SCSI.
Если вас заинтересовали детали, рекомендуем ознакомиться со спецификациями SCSI, которые можно скачать на многих сайтах или у известных производителей.
Адаптеры Ultra 320: Adaptec и LSI Logic
Без всякого сомнения, Adaptec и LSI Logic можно назвать лидерами сектора SCSI. Для тестирования мы получили текущую модель Adaptec 39320D-R, которая обеспечивает один внешний и один внутренний каналы SCSI. Буква “R” в названии обозначает поддержку простейших возможностей RAID. Обеспечиваются режимы RAID 0 и 1, хотя первый работает не больше, чем с четырьмя жёсткими дисками. Adaptec также поставляет три другие модели адаптеров Ultra320, которые базируются на той же технологической основе.
Мы получили две модели от LSI Logic, 20320-R и 21320. Первая содержит встроенное зеркалирование (RAID 1), последняя обладает двумя внутренними каналами (вместо одного).
Для нашего сравнительного тестирования мы использовали карту LSI 20320-R, поскольку по причине наличия встроенных возможностей RAID она лучше соответствует Adaptec 39320D-R.
Adaptec 39320D-R
BIOS/ прошивка: 4.10.1.
Контролер Adaptec сразу же выделяется улучшенным комплектом поставки. Помимо привычных CD с драйверами, в коробке находится краткая инструкция по эксплуатации и полезный шестипортовый кабель. Adaptec использовала лучшие материалы, поэтому провода кабеля перекручены для уменьшения помех.
В комплекте поставки присутствует два CD с драйверами: один – в случае использования встроенных функций RAID (RAID 0 или 1), второй – для работы в “обычном” режиме. Драйверы поддерживают DOS, Caldera, Netware и Windows, включая Windows XP и 64-битную Windows XP.
Также прилагается знакомая программа EZ SCSI от Adaptec (версия 6.0), позволяющая осуществлять простейшее управление шиной SCSI, предлагая, в то же время, небольшой инструментарий для измерения производительности.
LSI Logic 20320R
BIOS/ прошивка: 5.02.00.
Контроллер LSI имеет преимущество над Adaptec: из-за небольшой высоты его можно использовать в низких корпусах. Обе карты используют чип 53C1020 от LSI. Более дорогая версия карты выставляет на 53C1030 поддержку двух каналов. Так называемая архитектура Fusion MPT поддерживает до 100.000 операций ввода/вывода в секунду. Следовательно, на протестированной нами карте 20320R можно достичь 50.000 операций ввода/вывода в секунду – вполне достаточно для наших требований.
Комплект поставки содержит только один CD, которые содержит драйверы для всех основных операционных систем, включая DOS, Caldera Unix, RedHat и SuSe Linux, Solaris и Windows NT, XP и 2000. В дистрибутиве Windows Server 2003 уже содержится собственный драйвер.
Тестовая система: на PCI-X, пожалуйста!
Перед проведением тестирования нам необходимо было выбрать подходящую платформу, чтобы в полной мере нагрузить интерфейс SCSI. Проблема заключается в том, что обычные потребительские или корпоративные ПК используют 32-битную шину, чаще всего работающую на 33 МГц. Таким образом, её пропускная способность составляет 132 Мбайт/с (32 бита x 33 МГц / 8).
Для многих приложений этого будет вполне достаточно, конечно, если шина не используется другими устройствами. Дело в том, что все устройства разделяют пропускную способность 132 Мбайт/с между собой. Звуковая подсистема, сетевой контроллер, ТВ-тюнер – все они нагружают PCI.
По названию Ultra320 SCSI вы уже можете догадаться о максимальной пропускной способности – 320 Мбайт/с. При использовании двухканального адаптера можно достичь 640 Мбайт/с, при условии, что у вас есть достаточное число приводов. Сегодня с подобными скоростями может справиться лишь PCI-X, поддерживающая 64 бита на частоте до 133 МГц (1064 Мбайт/с). Почти все существующие контроллеры используют интерфейс PCI. Главным преимуществом интерфейса является обратная совместимость с PCI 2.x.
PCI-X для многих кажется загадочной, поэтому мы упомянем несколько основных фактов:
- Шина поддерживает 66 или 133 МГц – в зависимости от установленных карт. Некоторые карты могут работать только на своей максимальной скорости.
- Слот PCI-X поддерживает любые карты PCI на 33 или 64 битах. Для этого слот имеет стандартный разъём PCI 2.1 (или выше), а также дополнительный разъём (см. иллюстрацию ниже).
- Карты PCI-X также совместимы и со стандартом PCI 2.x. Если, к примеру, 64-битный контроллер PCI подключить к 32-битному слоту, то он будет прекрасно работать, однако его пропускная способность будет меньше.
Сверху – 64-битный слот PCI-X. Снизу – PCI 2.2.
Старые карты PCI можно определить…
… по отсутствию второй вырезки в слоте. Она указана в спецификации PCI 2.1 и выше и гарантирует совместимость с 64-битными слотами.
Наконец, перед вами карта слота PCI-X. В связи с большим числом контактов (ширина шины составляет 64, а не 32 бита), слот несколько длиннее.
Тестовая система: Dual Pentium 4 Xeon 2,8 ГГц
Мы получили сервер с необходимыми слотами PCI-X от американского производителя Supermicro. Сервер использует материнскую плату X5DL8 и процессоры Intel Pentium 4 Xeon. Остальные спецификации системы таковы:
- Чипсет ServerWorks Grand Champion LE;
- Один или два мобильных процессора Pentium 4 Xeon на 400- или 533-МГц FSB;
- Максимальный объём памяти ECC 16 Гбайт;
- Двухканальная DDR;
- Шесть слотов PCI-X: при полной загрузке частота 100 МГц, при установке трёх карт – до 133 МГц;
- Встроенный контроллер SCSI Adaptec 7902W Ultra320 с поддержкой RAID 0 (Adaptec 2010S);
- Два контроллера гигабитного Ethernet (Broadcom 5703 и Intel 84540EM).
Мы оснастили систему двумя мобильными процессорами 2,8 ГГц Pentium 4 Xeon и двумя 512 Мбайт модулями памяти ECC от Samsung (DDR266, ECC, регистровые).
Наша тестовая система имела шесть отсеков для приводов SCSI с интерфейсом SCA. Он позволяет комбинировать в одном разъёме питание и передачу данных.
Из-за размера (стандартный блок питания ATX с увеличенной длиной), отказоустойчивый блок питания можно использовать в любом корпусе ATX. Он состоит из трёх модулей – каждый из них может отключиться в любое время без ущерба работоспособности сервера. Второй модуль тоже может быть отключен, если нагрузка системы невелика.
Supermicro X5DL8 на чипсете ServerWorks Grand Champion LE.
Socket 604 позволяет устанавливать мобильные процессоры Pentium 4 Xeon с поддержкой частоты FSB 533 МГц.
Мы использовали два процессора Xeon, работающие на частоте 2,8 ГГц. Модель верхнего уровня на сегодняшний момент – 3,06 ГГц.
Наша тестовая система была оборудована всего двумя 512 Мбайт модулями памяти PC266 DDR SDRAM. Как и все высококачественные платы, X5DL8 требует использования регистровых модулей с поддержкой ECC. На иллюстрации видны два кулера процессора (справа).
Дорогие: кабели SCSI
Данный кабель Ultra160/320 SCSI обеспечивает восемь подключений. Одно из них потребуется для подсоединения к контроллеру. Ещё в один разъём необходимо установить терминатор.
Проблема кабелей SCSI всегда вызывает оживлённые дискуссии. Если ленточные шлейфы IDE или кабели Serial ATA стоят несколько долларов, то кабели Ultra160/ 320 SCSI (подходят для обоих стандартов) обойдутся в $30 и больше. Вариант с восемью разъёмами (который мы использовали) стоит $50 и больше.
Слева: кабель Ultra320 от Adaptec, который поставляется вместе со всеми розничными версиями контроллеров (шесть разъёмов позволяют подключить четыре привода). Справа: стандартный кабель.
Операционная система: слишком рано для Windows Server 2003
Первоначально мы хотели провести тестирование под Windows Server 2003, поскольку оба контроллера были правильно распознаны новой операционной системой Microsoft (необходимые драйверы присутствуют в дистрибутиве). Однако уровень производительности оказался слишком низок для Windows 2000 Server.
Как Adaptec, так и LST работают над совершенствованием драйверов 2003, однако до их выпуска пройдёт определённое количество времени. Приоритет сегодня отдаётся контроллерам RAID, драйверы для которых зачастую уже доступны.
Тестовая конфигурация
Тестовая система | |
Процессор | 2x Intel Pentium 4 Xeon, 2,8 ГГц |
Материнская плата | Supermicro X5DL8 ServerWorks GC-LE |
Память | 2x 512 Мбайт PC2100/DDR266 Регистровая, ECC – Samsung |
Контроллер IDE | SB7440 UltraATA/100 |
Системный жёсткий диск | IBM Deskstar 60 GXP, IC35040, 40 Гбайт, 7,200 об/мин |
Тестовый жёсткий диск | 6x Seagate Barracuda 10K.4 (ST 3146807LW), 147 Гбайт, 10,000 об/мин, Ultra320 SCSI |
Графический адаптер | nVIDIA GeForce4 MX440, PCI, 64 Мбайт |
Сетевая карта | Broadcom BCM5703, 1 Гбит/с, встроенная |
Операционная система | Windows 2000 Server SP3 |
Тесты | |
Время доступа | ZD WinBench 99 2.0 |
Производительность | Intel IOMeter 2003.02.15 |
Производительность ввода/вывода | Intel IOMeter 2003.02.15 |
Драйверы и настройки | |
Графический драйвер | nVIDIA 44.03 |
Драйвер чипсета | Драйвер Windows 2000 Server по умолчанию |
Версия DirectX | 9.0 |
Поскольку до этого момента мы нечасто использовали Intel IOMeter, мы решили кратко описать процедуру тестирования.
IOMeter позволяет генерировать несколько шаблонов доступа для одного или нескольких приводов, чтобы симулировать типичное поведение системы. Для нашего тестирования мы использовали четыре тестовые процедуры:
- Максимальная пропускная способность Мбайт/с
Сгруппированность Размер блока Пропорция чтения Пропорция случайного доступа 100% 64 кбайт 100% 0% (последовательно) Без всякого сомнения, данный тест является теоретическим и служит только одной цели – определению максимальной пропускной способности. Мы отказались от записи и от случайного доступа – используется лишь последовательное чтение.
- Максимальная производительность ввода/вывода в числе операций в секунду
Сгруппированность Размер блока Пропорция чтения Пропорция случайного доступа 100% 512 байт 100% 0% (последовательно) В данной тестовой процедуре мы выполняли 1, 4, 8, 16, 64 и 256 операций ввода/вывода на привод, при этом результат сильно зависел от контроллера. И вновь данный тест можно считать только теоретическим, поскольку блоки по 512 байт очень редко встречаются на практике.
- Эмуляция файлового сервера (рекомендована Intel)
Сгруппированность Размер блока Пропорция чтения Пропорция случайного доступа 10% 512 байт 80% 100% 5% 1 кбайт 80% 100% 5% 2 кбайт 80% 100% 60% 4 кбайт 80% 100% 2% 8 кбайт 80% 100% 4% 16 кбайт 80% 100% 4% 32 кбайт 80% 100% 10% 64 кбайт 80% 100% Здесь мы выполняли 4, 16, 64 и 256 операций ввода/вывода для каждого обращения. Распределение блоков по размерам соответствует рекомендациям Intel и довольно эффективно эмулирует поведение типичного файлового сервера. Мы использовали шесть жёстких дисков одновременно, чтобы в должной мере нагрузить контроллер.
- Эмуляция сервера баз данных
Сгруппированность Размер блока Пропорция чтения Пропорция случайного доступа 100% 8 кбайт 67% 100% Данные тестовые параметры используются и другими сайтами: с размером блока 8 кбайт тест отражает поведение сервера баз данных.
Время доступа
Как и предполагалось, различия между контроллерами по отношению к времени доступа ничтожны.
Скорость передачи данных
С глубиной очереди один или два блока (характерно для серверов баз данных), контроллер LSI чуть вышел вперёд. Если же глубина очереди увеличится, то адаптер может выдать примерно на 15 Мбайт/с больше.
С размером блока 128 кбайт результаты схожи: длинные запросы обрабатываются быстрее на Adaptec 39320D-R.
Если запрашивать 256 кбайт блоки, то разница уменьшается. Однако Adaptec продолжает лидировать практически при любой глубине очереди.
Очевидно, что блоки по 512 кбайт не являются сильной стороной LSI 20320R. Здесь Adaptec работает чуть быстрее во всех отношениях.
Производительность ввода/вывода
При малых размерах блоков скорость передачи менее интересна. Здесь следует обращать внимание на производительность ввода/вывода.
LSI 20320R смог чуть оторваться от контроллера Adaptec вплоть до глубины очереди в 16 блоков. Начиная с 32 доступов Adaptec 39320D-R быстро наращивает скорость, оставляя LSI позади.
С блоками по 4 кбайт картина аналогична. Единственное, что здесь меняется, – производительность LSI ухудшается сильнее.
С блоками по 8 кбайт наблюдается тот же результат, что и с 4 кбайт, несмотря на то, что значения оказываются чуть меньше.
Тест web-сервера
Тест web-сервера является комбинацией нескольких моделей доступа в I/O Meter. Как указано в настройке теста, блоки малых размеров имеют больший приоритет, так что результаты соответствуют показателям нашего теста производительности ввода/вывода.
Тест файлового сервера
В данном тесте мы вновь наблюдаем явное преимущество Adaptec с большей длиной очереди.
Заключение: Adaptec лидирует при высоких нагрузках
Результаты нашего тестирования демонстрируют, что оба кандидата имеют высокий уровень производительности. LSI 20320R силён в обработке коротких запросов, в то время как Adaptec 393320D-R играет своими мускулами при частых запросах множественных блоков (глубина очереди 64 и выше). Однако возникает вопрос: как по этим результатам сделать вывод о производительности в повседневных условиях?
С одной стороны, различия в большинстве тестов столь невелики, что при небольшой нагрузке вряд ли вы ощутите какую-либо разницу между контроллерами.
Контроллер Adaptec демонстрирует, что он лучше справляется с большими объёмами данных: если на него направить множество запросов с большой глубиной очереди, то Adaptec явно выигрывает по сравнению с LSI и быстрее их обрабатывает. Другими словами, при высокой нагрузке файловый сервер на базе Adaptec 39320D-R будет работать быстрее при большом количестве жёстких дисков.
Однако слишком опрометчиво оценивать контроллер по частным результатам тестирования, поскольку число возможных конфигураций для каких-либо специальных областей просто громадно. В нашем тестировании контроллер LSI показал максимальную производительность ввода/вывода при одной и четырёх операциях ввода/вывода на жёсткий диск, немного обогнав Adaptec. Если же непрерывных операций ввода/вывода будет больше, то вперёд выходит Adaptec.
Поэтому наши рекомендации таковы: если вам не требуется максимальная производительность, то оба контроллера будут справляться со своей работой быстро и надёжно. Здесь вы вряд ли вообще заметите какие-либо различия между ними. Самым важным фактором будут являться цена и комплект поставки – Adaptec здесь явно лидирует, поскольку в коробку с адаптером добавлен кабель Ultra320, который можно использовать для подключения четырёх дисков. Оба производителя дают пятилетнюю гарантию на своё оборудование.
Если же производительность для вас критична, то следует пойти самой трудной дорогой и подвергнуть кандидатов (будь то Adaptec, LSI или другие) расширенному тестированию под тестовой конфигурацией, соответствующей вашим потребностям. Лишь тогда вы сможете уверенно выбрать наиболее подходящий контроллер.