SAS vs SATA — выбор дисковой подсистемы
Цель статьи
Указать на различия между жесткими дисками SAS и SATA и помочь при выборе дисков в сервер под конкретную задачу. Сравнение дисков осуществляется при помощи специального ПО, которое позволяет создавать нагрузку на дисковую подсистему, эмулируя те или иные задачи (СУБД, WEB, файл-сервер и т.д.). Статья рассчитана на читателей не обладающих глубокими знаниями в области серверных систем, но может быть полезна и профессионалам, так как дает конкретные цифры для двух технологий используемых в жестких дисках.
Тестовый стенд
| Описание | Модель | Версия Прошивки/ПО |
|---|---|---|
| Платформа | Hyperion RS160 G3 Opteron 2214 RAM 4 Gb | 2.12 |
| Дисковый контроллер | LSI 1078 (8708) | 8.0.1-0038 |
| Жесткий диск SATA | Seagate ST3160215AS, RPM 7.2K, 160Gb | 4.AAB |
| Жесткий диск SAS | Hitachi HUS153014VLS, RPM 15K, 146Gb | A410 |
| ОС | Windows 2003 Server R2 Std x64, SP2* | |
| ПО для тестирования | Iometer | 2006.07.27 |
*ОС установлена на отдельный жесткий диск подключенный к встроенному контроллеру материнской платы
Некоторые важные параметры для IOMeter
Техническое описание параметров представленных в таблице ниже выходит за рамки этой статьи, но важны тем, кто уже использовал этот инструмент — для сравнения со своими результатами и интерпретации представленных цифр.
- iopsOutstanding 255
- Количество Worker'ов 1
Методика и инструментарий измерения
В статье сравнивается «чистая» производительность жестких дисков SATA и SAS. Под «чистой» производительностью понимается скорость чтения и/или скорость записи жестких дисков без учета работы кэширующих механизмов (кэш ОС, кэш файловой системы, кэш контроллера отключены или отсутствуют).
Размер раздела на тестируемом диске равен 50 Gb — этот размер покрывает большинство задач, которые могут решатся на серверах начального и среднего уровня (размер базы данных, размер сайта, размер материала для кодирования видео). Величина блока задаваемого на дисковом контроллере при создании раздела оставлена в значении по умолчанию и равна 64Kb. В качестве инструмента для проведения измерений выбран тест IOMeter. Из ключевых особенностей этого ПО и преимуществ для подобного тестирования можно отметить следующие:
- IOMeter является широко используемым и свободно-распространяемым ПО для тестирований такого рода. Наличие обширной базы уже проведенных экспериментов позволяет сравнить свои результаты с уже существующими — оценить конкретные цифры, проверить корректность тестов.
- IOMeter работает с т. н. raw-разделами, т. е. разделами на которых не создается файловая система и т.о. исключить влияние этого компонента на результаты эксперимента.
- Позволяет создавать различные шаблоны доступа, тем самым, моделируя различные типы нагрузок соответствующие наиболее часто используемым приложениям.
Результаты тестов
Ниже представлены результаты тестов проведенных с использованием различных шаблонов доступа на дисковую подсистему. Скорость жестких дисков оценивается с точки зрения т. н. iops'ов — элементарных операций записи/чтения в секунду (ось X). По оси Y отмечается размер такой элементарной операции. Из двух этих величин путем перемножения можно получить общий поток в килобайтах/секунду который может обработать жесткий диск на данном типе нагрузки.
СУБД
В этом тесте эмулируется работа типичных системы по управлению базами данных (MS SQL, MySQL и другие). Косвенно по этому тесту можно судить о различиях в скорости работы с ERP системами, например 1C.
Файл-сервер
Еще один тест который будет полезен для оценки использования дисков в корпоративной инфраструктуре. Эмулируется файл-сервер с большим количеством операций чтения над мелкими и средними (до 500Mb) файлами и небольшим процентом (15%) записи этих файлов.
Потоковое чтение
В какой-то степени полностью синтетический тест оценивающий возможности последовательного чтения с жесткого диска в один поток. Этот тест полезен для анализа использования дисков в задачах связанных обработкой больших потоков однообразных данных. Например кодирование видео высокого разрешения, специализированные хранилища документов и прочее.
Потоковая запись
Тест аналогичен предыдущему, но сравнивает производительность записи на диск.
Web-сервер
Шаблон эмулирует работу небольшого веб-сайта и характеризуется большим количеством операции чтения «разбросанных» по всему объему раздела (большое количество маленьких файлов).
Случайная запись
Еще один синтетический тест. Обычно его используют для оценки влияние всевозможных кэшей в системе, но в данном случае он полезен для оценки работы дисковой подсистемы с приложениями чувствительных к большому количеству мелких операций записи. Например, специфические базы данных осуществляющие постоянный сбор информации).
Выводы
Как видно из графиков на всех шаблонах в которых присутствует элемент произвольного доступа с более чем четырехкратным преимуществом лидируют SAS жесткий диск со скоростью вращения шпинделя 15000 оборотов в секунду, что ожидаемо. SATA диск с практически вдвое меньшей скоростью вращения приближается по производительности к SAS только на операциях связанных с последовательным доступом, да и то, только при больших размерах единичного блока записи/чтения (в графиках ось X). Это, с одной стороны, непосредственно связано со скоростью вращения. С другой, существуют некоторые особенности SAS дисков. Не вдаваясь в архитектурные подробности обеих технологий и тонкие нюансы работы конкретных контроллеров преимущества SAS дисков при прочих равных следующие:
- Механические — механика дисков этого типа разрабатывается с учетом корпоративных и промышленных нагрузок, и в подавляющем большинстве случае в нагрузках присутствует элемент случайного доступа. Физический размер магнитных пластин используемых для SAS дисков меньше, чем у SATA дисков. Что не может не сказываться на производительности.
- Программные — алгоритмы работы прошивки и кэша SAS-дисков оптимизируются именно под нагрузки случайного доступа и корпоративных задач.
Может сложится мнение, что главным выводом из статьи является тезис о том, что SAS лучше чем SATA, но это не так. У каждой из этих технологий своя ниша. Большим преимуществом SATA дисков является стоимость хранения мегабайта информации.
Резюмируя можно сказать, что SAS диски ориентированы на задачи чувствительные к скорости и требующие многопоточного доступа:
- СУБД;
- высоконагруженные WEB-серверы;
- ERP-системы;
- системы для работы с большим количеством пользователей — терминальные серверы, серверы удаленного доступа.
SATA диски требуются для задач связанных с большими объемами информации. Из распространенных задач успешно решаемыми SATA-дисками можно выделить следующие:
- потоковые операции, например кодирование видео;
- хранилища данных;
- системы резервного копирования;
- объемные, но не нагруженные файл-серверы.
Сапронов Андрей (asapronov@etegro.com), Саттаров Данияр (dsattarov@etegro.com)
