Sas диски самые быстрые
Наиболее медленная подсистема любого компьютера — дисковая. Процессор и оперативная память гораздо быстрее справляются с возложенными на них обязанностями. А вот дисковый ввод/вывод всегда является эдаким «тормозом». Также все мы знаем, что виртуальный компьютер работает медленнее обычного с теми же характеристиками. В этой статье будет показана реальная производительность дисковой подсистемы на базе SSD и SAS для сервера. Вы не только увидите, какую скорость ввода/ вывода можно получить на виртуальной машине, но и узнаете, диск какого компьютера быстрее — виртуального или физического.
SATA SSD, SAS SSD и NVMe SSD: в чем разница между накопителями и протоколами подключения?
SATA, SAS и NVMe – это три наиболее распространенных интерфейса. Первые два используют наборы команд ATA и SCSI соответственно. NVMe, по сравнению с ними, – это относительно новый набор команд, который работает по шине PCI-e.
Разница лишь в том, что если SATA и SAS SSD мешает ограничение по скорости, которое диктуют интерфейсы SATA III и SAS III, то NVMe-накопители не утыкаются в потолок своих «собратьев», предлагая более высокую производительность. А для грамотного применения накопителей NVMe в центрах обработки данных разработаны специальные стандарты передачи команд NVMe через RDMA (поверх InfiniBand или Ethernet — RoCE и iWARP) и Fibre Channel без трансляции в SCSI под названием NVMe over Fabrics.
По сути, на все эти интерфейсы возлагается одна и та же задача – передача данных и обеспечение взаимодействия серверов с контроллерами и накопителями. Но дьявол, как говорится, кроется в деталях. Так и в нашем случае – в основе каждого протокола лежат разные принципы работы, а на выходе получаются разные результаты в отношении скорости обработки данных, времени доступа к ним и т.п.
Миф о брендах
Наконец, самый главный вопрос: нужно ли покупать «родные» диски?
Не секрет, что HP, IBM и DELL жёсткие диски не производят. Они покупают их у сторонних производителей, после чего тестируют, перепрошивают и клеят свои логотипы.
C одной стороны, такие диски имеют ряд преимуществ:
- прошивка (firmware) учитывает особенности контроллеров тех или иных моделей серверов,
- дополнительный контроль качества и проведение стресс-тестов уменьшают вероятность приобретения экземпляров со скрытыми дефектами,
- на «фирменные» диски предоставляется гарантия вендора и полноценная поддержка.
Как вы понимаете, такая разница в цене далеко не для всех оправдывается обещаниями повышенной надёжности. Поэтому наверняка многие слышали о том, что «неродные» жёсткие диски работают в серверах HP, IBM и DELL нестабильно или слишком медленно. Кто-то даже пугает, что с «левыми» дисками сервер не заведётся.
Откуда растут ноги у этих утверждений?
В подавляющем большинстве серверов применяются технологии повышения производительности дисковой подсистемы. Именно с этой целью вендоры перепрошивают жёсткие диски — чтобы обеспечить поддержку этих технологий. Если же вы поставите «неродные» диски, то просто не сможете воспользоваться фирменными ноу-хау, не более того.
Также раньше вендоры искусственно заставляли использовать «фирменные» накопители, применяя блокировки на уровне контроллеров. В конце концов, гнев народных масс вынудил со временем отказаться от этой порочной практики. Сегодня проблемы чаще всего возникают с относительно старыми моделями серверов. И решается это простой заливкой в контроллер свежей прошивки. Хотя есть и просто капризные модели контроллеров, например, P410 в серверах HP.
Как показывает практика, «неродные» жёсткие диски без затруднений работают:
- в серверах HP — как минимум с поколения Gen6,
- в серверах IBM — как минимум с поколения М2,
- в серверах DELL — как минимум с 10 поколения.
-
(бывшие Seagate Constellation ES) (бывшие Seagate Savvio)
- Toshiba AL13SEB
- Toshiba AL13SXB
2. Если нужно минимизировать задержки доступа
В ситуациях, когда клиенту необходимо обеспечить максимальную скорость отклика для систем ввода/вывода данных – логичней использовать сервера с поддержкой NVMe SSD (латентность, по скромным меркам, снижается примерно в три раза). Такие накопители оптимально подходят для систем видеоаналитики, обучения нейросетей, высокочастотного трейдинга и распространения контента.
Необходимы они и VPS-провайдерам, которые разворачивают игровые площадки (в духе Steam и Epic Games Store) или игровые сервера под MMO-игры. А при условии, что стоимость U.2 NVMe-накопителей (таких как Kingston DC1000M) не сильно отличаются от ценников на SATA SSD – вопрос выбора особо и не стоит. Единственный минус – такие накопители не получится объединить в аппаратный RAID-массив. Если такая необходимость есть – переходим к третьему пункту.
Скажите «нет» обычным жёстким дискам
Сразу внесём ясность — обычные SATA не предназначены для использования в серверах. Тому есть несколько причин:
- Низкая устойчивость к вибрациям.
- Высокий уровень невосстанавливаемых ошибок.
- Отсутствие поддержки команд аппаратных RAID-контроллеров.
Тестирование
Что лучше: SAS или , поможет нам выяснить небезызвестная программа CrystalDiskMark. Именно ее мы будем использовать при тестировании. Параметры теста оставим по умолчанию — 5 проходов по 1 Гб каждый. На рис. 3 показаны результаты (базовая производительность оборудования).
Рис. 3. , базовая производительность
После добавления дополнительного диска нужно произвести его разметку. Этот процесс в данной статье рассматривать не будем. Затем будет произведено измерение его производительности.
Рисунок 4 демонстрирует производительность при базовой производительности оборудования. Как видите, разница небольшая, поскольку в базовом пуле есть определенные ограничения на системные ресурсы, накладываемые самой платформой. Но даже при этих ограничениях SAS против SSD немного проигрывает.
Рис. 4. Твердотельный накопитель, базовая производительность
Совсем другое дело — пул с высокой производительностью. , здесь значительно выше скорость обычного (рис. 5). , в высокопроизводительном пуле вопрос о том, что быстрее SAS или SSD, даже не стоит, без ограничений на операции ввода/вывода раскрываются все преимущества твердотельных накопителей (рис. 6).
Рис. 5. , высокая производительность оборудования
Рис. 6. , высокая производительность оборудования
А теперь самое интересное — на рис. 7 изображена производительность , установленного в физический компьютер, работающий под управлением Windows 7. Производительность дисковой подсистемы виртуального сервера платформы xelent.cloud оказалась выше, чем производительность среднестатистического компьютера с .
Рис. 7. , физический компьютера
В таблице 1 собраны полученные результаты. В таблицу попали только максимальные значения.
Таблица 1. Результаты тестирования
Конфигурация | Скорость чтения, Мб/с | Скорость записи, Мб/с |
SAS, базовая | 122.7 | 122.7 |
SSD, базовая | 112.5 | 122.5 |
SAS, высокая | 394.4 | 431.3 |
SSD, высокая | 572.3 | 624.4 |
SSD, физический компьютер | 496.4 | 282.6 |
Заключение
При выборе жёстких дисков необходимо в первую очередь отталкиваться от задач, которые будет выполнять сервер:
Популярность твердотельных накопителей на основе флеш-памяти неуклонно растет, и они не ограничиваются потребительским уровнем. В частности, за последние годы компания Kingston вывела на рынок много SATA и NVMe SSD серверного класса (A2000, DC500 и т.д.) с длительными гарантийными сроками (до пяти лет).
Этот факт заставил нас задуматься: а нужны ли в нынешних серверах SAS-накопители? Почему производители накопителей все чаще выводят на рынок твердотельные решения корпоративного класса с поддержкой SATA и NVMe, которые даже позиционируются надежнее SAS-решений (если смотреть на сроки гарантии, например)? Не стал ли протокол SAS лишним?
Давайте сразу ответим на вопрос «почему же в последние пару-тройку лет производители начали выпускать корпоративные решения на базе SATA и NVMe, как горячие пирожки?». Нетрудно догадаться, что на рынок твердотельных накопителей влияют многие факторы, наиболее очевидным из которых является ежегодное снижение цен на флеш-память NAND, которая используется в картах памяти и твердотельных накопителях.
Снижение стоимости чипов флеш-памяти подтолкнуло производителей на разработку соответствующих решений для центров обработки данных и корпоративных сценариев использования. С другой стороны, более низкая стоимость клиентских твердотельных накопителей побуждает производителей оригинального оборудования (OEM) встраивать их в потребительские ПК и растущее число корпоративных устройств хранения данных.
В этой статье мы разберем все типы накопителей и постараемся разобраться для каких задач они подходят лучше всего: в каких сценариях можно отдать предпочтение SATA и NVMe-решениям, а в каких по-прежнему стоит полагаться на SAS. В конечном счете, чтобы правильно выбрать твердотельный накопитель для различных серверных нагрузок, ИТ-менеджеры должны знать плюсы и минусы всех интерфейсов SSD.
SAS-, SATA-, NVMe SSD: в каких серверах и для каких целей использовать
Наше сопоставление накопителей SAS, SATA и NVMe полностью базируется на сценариях использования и на финансовых затратах для организации, а не просто сравнении скоростей передачи данных, скорости интерфейсов, времени доступа и т.п. Поэтому мы просто составили несколько советов, которые помогут определиться: для каких целей использовать то или иное хранилище.
3. NVMe SSD (Non-Volatile Memory Express)
NVMe намного быстрее, чем интерфейс SATA: за счет прямого подключения к шине PCI-e максимальная скорость передачи данных достигает 985 Мбайт/с на полосу, при этом накопители NVMe могут использовать четыре полосы PCI-e 3.0 и достигать скорости в 3940 Мбайт/с (3,9 Гбайт/с). Это отличный потенциал, если учитывать, что стоимость NVMe-решений практически сравнялась с SATA-устройствами.
Вкупе с NVMe-решениями клиент получает независимость от ограничений стеков SATA и SAS, предлагая новый набор команд, принцип обработки очередей и поддержку многопоточных нагрузок. Это как раз тот накопитель, который может задействовать процессорные ресурсы на полную мощность, если мы говорим о связке NVMe с мощными многоядерными процессорами.
К сожалению, серверный рынок медленно поддается изменениям, поэтому NVMe-решения в системах хранения и обработки данных встречаются реже, чем SAS- и SATA-решения. Это связано с тем, что работа с устройствами на базе новых стандартов требует изменений в подходах к масштабированию и обслуживанию. Например, клиентские устройства должны обладать поддержкой форм-фактора M.2 или U.2/U.3 (для этого в серверах могут использоваться гибридные объединительные панели U.2/SAS/SATA).
Однако стандартных софтверных средств бывает недостаточно, чтобы раскрыть потенциал NVMe в рамках сервера на полную. Сейчас эту проблему помогают решить трехрежимные аппаратные RAID-контроллеры Broadcom, которые позволяют обслуживать все накопители (NVMe/SAS/SATA) через SAS-стек микросхемы RoC (RAID on Chip). Но в этом случае контроллер выступает посредником между NVMe и процессором. А еще подобное подключение не позволяют использовать больше двух или четырех NVMe SSD. Связано это с тем, что контроллеры, обычно, поддерживают 8 линий PCI-e (реже 16).
Выходит, что с одной стороны гибридные платформы удобны своей универсальностью, а с другой стороны – будущее серверных систем заключается в полном переходе на U.2/U.3-накопители. Тогда мы и сможем воочию оценить максимальную производительность без вкрапления так называемых «посредников».
SATA или SAS?
Интерфейс SATA является развитием IDE, который позднее был переименован в PATA. То есть этот интерфейс изначально ориентирован на использование в бытовых компьютерах, а также в промышленных системах с умеренными требованиями к производительности и надёжности. В то же время SAS — это наследник классического «серверного» интерфейса SCSI.
Изначально интерфейс SAS имел более высокую пропускную способность, чем SATA. Но прогресс не стоит на месте, и третье поколение SATA III имеет максимальную пропускную способность на уровне 6 Гбит/сек, как и второе поколение SAS. Однако на рынке уже доступны серверы с SAS-контроллером третьего поколения, с пропускной способностью до 12 Гбит/сек.
Для подключения SAS-дисков сервер должен быть оснащён соответствующим контроллером. При этом обеспечивается обратная совместимость интерфейсов: к SAS-контроллеру можно подключить SATA-диски, а наоборот — нельзя.
SAS обеспечивает полнодуплексный обмен данными: жёсткий диск единовременно обрабатывает по одной команде на чтение и запись, а SATA-диск — либо на чтение, либо на запись. Но это преимущество будет заметно только при большом количестве дисков, если сравнивать SAS NL и SATA RE.
Если подвести промежуточный итог: SATA-диски хороши для создания объёмных хранилищ, от которых не требуется максимальной производительности. А если вам нужно выжать из дисковой подсистемы всё возможное, то ваш выбор — SAS.
Уровень невосстановимых ошибок
Следующее отличие серверных жёстких дисков от бытовых — уровень невосстановимых ошибок. У обычных SATA он составляет примерно 10 -14 (1 бит на каждые считанные 10 14 бит=12,5 терабайт). То есть при шестикратной перезаписи двухтерабайтного диска вы почти наверняка получите одну невосстановимую ошибку. Для бытовых дисков это не проблема. Но если вы каждый месяц переписываете базу данных, то через полгода она может оказаться битой.
Вероятность возникновения невосстановимой ошибки =
(N * (X / 12500 * 12500) / 12500) * 100%
- N — количество дисков в RAID-массиве,
- X — объём одного диска в гигабайтах,
- 12500 — количество бит, на которое приходится 1 невосстановимая ошибка, выраженное в гигабайтах.
Вероятность возникновения невосстановимой ошибки =
(5 * (1000 / 12500 * 12500) / 12500) * 100% = 40%.
А если вы используете 600-гигабайтные диски, то вероятность epic fail при ребилде составляет 24%:
Вероятность возникновения невосстановимой ошибки =
(5 * (600 / 12500 * 12500) / 12500) * 100% = 24%.
У SATA RE и SAS NL уровень невосстановимых ошибок равен 10 -15 , то есть на порядок меньше, чем в обычных SATA. Тогда в нашем примере с RAID 5 получаем:
Для 1-терабайтных дисков вероятность ошибки = 4%.
Для 600-гигабайтных дисков вероятность ошибки = 2,4%.
У SAS-дисков уровень невосстанавливаемых ошибок ещё ниже — 10 -16 :
Для 1-терабайтных дисков вероятность ошибки = 0,4%.
Для 600-гигабайтных дисков вероятность ошибки = 0,24%.
Обратите внимание: вероятность возникновения ошибки пропорциональна количеству дисков в RAID-массиве.
Каким образом в SAS-дисках обеспечивается более низкий уровень ошибок? Magic.
- Размер сектора в SATA-дисках — 512 байт, в SAS-дисках — 520 байт. Дополнительные 8 байт используются для сквозной проверки чётности.
- Другие алгоритмы чтения.
- Дополнительные алгоритмы восстановления данных без участия контроллера.
Устойчивость к вибрациям
Для решения более-менее требовательных задач нет смысла ставить только один диск. Чтобы обеспечить минимальный уровень надёжности хранения данных, нужно не менее двух накопителей, объединённых в RAID. Но когда в корзине собрано 4 и более устройств, то возникающие от их работы вибрации влияют на стабильность вращения шпинделей и точность позиционирования головок. Поэтому серверные жёсткие диски имеют ряд конструктивных отличий от бытовых:
- Усиленный вал шпинделя, более устойчивый к внешним воздействиям.
- Дополнительный контроль вибрации.
- Технологии, существенно повышающие точность позиционирования и высоту полёта головок над поверхностью «блинов».
- Богатые возможности самодиагностики, позволяющие вовремя уведомить о скором выходе диска из строя.
Конфигурация виртуального сервера
Первым делом нужно создать виртуальный сервер нужной нам конфигурации. Платформа xelent.cloud позволяет создать сервер, выбрав производительность оборудования — базовая или высокая.
Сначала создадим сервер на основе базового оборудования — 4 ядра, 8 Гб оперативной памяти и два диска — SAS и SSD. Операционная система — Windows Server 2012 R2.
Рис. 1. Начальная конфигурация
Рис. 2. Добавлен дополнительный твердотельный накопитель
Затем конфигурация сервера будет изменена — будет использоваться высокопроизводительное оборудование. Наш сервер будет перенесен в высокопроизводительный пул (кстати, на все про все уйдет не более 20 минут). Заодно мы проверим влияние производительности оборудования на скорость дисковой подсистемы.
1. SATA SSD (Serial ATA)
Многие представители отраслей корпоративного хранения данных полагают, что интерфейс SATA достиг предела производительности. Более того, в его дальнейшем развитии и улучшении уже давно не предвидится никаких разработок.
Что ж. с одной стороны производительность SATA SSD находится на стабильном уровне. Но в то же время она может быть узким местом для серверов, не позволяя процессору своевременно обрабатывать необходимые операции. Как итог: недостаточное использование вычислительных возможностей сервера повлияет на количество пользователей, которые могут обслуживаться одновременно, и вызовет лишь неудобства для последних.
В частности, команды ввода-вывода при развертывании твердотельных накопителей SATA на сервере должны проходить через программный стек, который не может полностью использовать производительность флеш-памяти, потому что набор команд изначально был разработан для недорогих жестких дисков низкого уровня. Из-за этого серверы с мощными многоядерными процессорами и большим количеством DRAM могут ждать завершения операций или транзакций, что не позволяет использовать весь потенциал вычислительных ресурсов на максимум.
2. SAS SSD (Serial Attached SCSI)
По сравнению с корпоративными твердотельными накопителями SATA SSD, SAS-накопители предлагают значительные улучшения по части полосы пропускания и пропускной способности. При передаче данных SATA использует только полудуплекс и одновременно задействует только одну полосу. Но SAS – полнодуплексный. Это означает, что твердотельные накопители SAS имеют гораздо более высокую скорость передачи данных.
Кроме того, твердотельные накопители SAS III обеспечивают скорость передачи данных от 6 Гбит/с до 12 Гбит/с, что в два раза быстрее, чем SSD-накопители на базе SATA III (до 6 Гбит/с). А значит интерфейс SAS всегда в два раза быстрее, чем SATA, и в 4 раза быстрее, если учесть, что SAS двухпортовый и дуплексный. Если исходить из теории, пропускная способность SATA III при манипуляции блоками 4K равна 150 000 IOPS (операций в секунду). И это максимальная скорость в двух направлениях (чтение/запись). Потенциальная скорость для SAS 6Gb в этом случае будет 300 000 IOPS (полный дуплекс), а для SAS 12Gb – 600 000 IOPS (300 000 IOPS при чтении и 300 000 IOPS при одновременной записи).
По сравнению с SSD на основе SATA, твердотельные накопители на основе SAS обеспечивают лучшую общую сквозную целостность данных и обладают более гибко настраиваемой структурой отчетности. Наконец, если массив или сервер поддерживает интерфейс SAS, к нему можно подключить твердотельные накопители на базе SAS или SATA, и оба будут работать. Однако в массивы или сервера с объединительной платой SATA накопители SAS установить не получится: в этом случае будут работать только твердотельные SATA-решения.
Отметим, что раньше SATA использовался как недорогой интерфейс для жестких дисков потребительского уровня. В то время как SAS был разработан для улучшения инфраструктуры и возможностей управления дисками в серверных массивах. То есть у SAS изначально больше возможностей, чем у SATA. Например, он умеет работать с несколькими устройствами одновременно, в то время как SATA работает по принципу «устройство-хост» и никакой мультизадачности не подразумевает. SAS-накопители предлагают несколько уровней безопасности и шифрования данных, поддерживают восстановление ошибок и создание отчетов об ошибках. Безусловно, все эти опции предлагают и современные SATA- и NVMe-SSD на уровне контроллера, но разница в работе все-таки перевешивает.
3. Если нужны минимальные задержки и аппаратный RAID
В случае с твердотельными SAS-накопителями мы получим быстрое чтение и быструю запись данных непрерывно. К тому же SAS работает со множеством устройств, как с единой сетью, позволяя объединить их в аппаратный RAID. Альтернативы в этом плане у них попросту нет.
Да, и в целом SAS — более быстрая технология, чем SATA, поскольку передает данные из хранилища так же быстро, как и в хранилище. Серверы и рабочие станции в значительной степени зависят от передачи данных, поэтому в серверах, подразумевающих сильную нагрузку, лучше иметь оборудование, которое может отправлять и получать информацию в быстром темпе.
Итоги
Если принимать во внимание, что SATA-интерфейс пришел в промышленную сферу с потребительского рынка, накопители SAS применять предпочтительнее, а SATA SSD, как мы уже отметили выше, подойдут для менее серьезных задач, которые не предполагают серьезных затрат на развертывание корпоративной сети и высокую нагрузку. А когда NVMe-решения прочно придут на смену SAS и SATA, вытеснив их с рынка – у нас будет новый повод поговорить об этом. Делитесь в комментариях своими наблюдениями и рассказывайте, какие накопители выбираете для собственных нужд. А главное – почему?
Для получения дополнительной информации о продуктах Kingston Technology обращайтесь на официальный сайт компании.
Мы решили сделать то, чем в Рунете уже несколько лет практически никто ни занимается, – всестороннее тестирование серверных жестких дисков с интерфейсом SAS. Представляем сравнение восьми HDD объемом 600-1800 Гбайт по новой, расширенной методике
Изолированные тесты производительности
Выполняются с помощью Iometer 1.1.0. Объем и скорость передачи данных указывается в бинарных единицах (1 Кбайт = 1024 байт). Границы блоков выровнены относительно разметки по 4 Кбайт.
- Последовательное чтение/запись данных блоков размером 128 Кбайт с глубиной очереди запросов 256.
- Произвольное чтение/запись блоков от 512 байт до 2 Мбайт с глубиной очереди запросов 256.
- Смешанное чтение/запись блоков размером 128 Кбайт с глубиной очереди запросов 256. Доля операций чтения и записи варьирует от 0 до 100% с шагом 10%.
- Зависимость пропускной способности от длины очереди команд. Выполняется чтение блоков размером 4 Кбайт, глубина очереди запросов варьирует от 1 до 256 с шагом степени двойки. Аналогичный тест на запись блоков не проводится, т.к. по этому параметру жесткие диски не различаются.
- Устоявшееся время отклика. Выполняется произвольное чтение/запись блоков размером 512 байт с глубиной очереди запросов 1. Тест продолжается в течение 10 мин.
- Постоянство времени отклика. Выполняется произвольное чтение/запись блоков размером 4 Кбайт с глубиной очереди запросов 256. Для каждого отрезка теста продолжительностью 1 с записывается среднее и максимальное значение времени отклика, на основании которых вычисляются: а) средние значения обоих показателей; б) стандартное отклонение среднего времени отклика.
- Многопоточное чтение/запись. Создаются четыре потока, выполняющие последовательное чтение/запись блоков размером 64 Кбайт с глубиной очереди запросов 1. Потоки имеют доступ к непересекающимся адресным пространствам объемом 100 Гбайт, которые расположены в объеме диска вплотную друг к другу, начиная с нулевого сектора. Измеряется совокупная пропускная способность всех потоков, а также каждого из них в отдельности.
Тесты с эмулированной нагрузкой
Выполняются в Iometer 1.1.0. Объем и скорость передачи данных указывается в бинарных единицах (1 Кбайт = 1024 байт). Границы блоков выровнены относительно разметки по 4 Кбайт. Глубина очереди команд – 256.
Размер блока | Доля от всех запросов | Доля чтения | Доля произвольного доступа |
База данных | |||
8 Кбайт | 100% | 67% | 100% |
Файловый сервер | |||
512 байт | 10% | 80% | 100% |
1 Кбайт | 5% | 80% | 100% |
2 Кбайт | 5% | 80% | 100% |
4 Кбайт | 60% | 80% | 100% |
8 Кбайт | 2% | 80% | 100% |
16 Кбайт | 4% | 80% | 100% |
32 Кбайт | 4% | 80% | 100% |
64 Кбайт | 10% | 80% | 100% |
Рабочая станция | |||
8 Кбайт | 100% | 80% | 80% |
Веб-сервер | |||
512 байт | 22% | 100% | 100% |
1 Кбайт | 15% | 100% | 100% |
2 Кбайт | 8% | 100% | 100% |
4 Кбайт | 23% | 100% | 100% |
8 Кбайт | 15% | 100% | 100% |
16 Кбайт | 2% | 100% | 100% |
32 Кбайт | 6% | 100% | 100% |
64 Кбайт | 7% | 100% | 100% |
128 Кбайт | 1% | 100% | 100% |
512 Кбайт | 1% | 100% | 100% |
Тестовый стенд
Конфигурация тестового стенда | |
CPU | AMD Phenom II X2 560 Black Edition |
Материнская плата | MSI 890GXM-G65 |
Оперативная память | DDR3 SDRAM, 1600 МГц, 4 Гбайт |
ПЗУ | Intel SSD 510 120 Гбайт |
Операционная система | Windows 7 Ultimate x64 |
Накопители подключались к адаптеру LSI SAS 9211-8i, за который мы выражаем благодарностью российскому представительству компании LSI.
Последовательное чтение/запись
- Диски со скоростью вращения шпинделя 15 тыс. об/мин правят бал в тесте последовательного чтения/записи. Впрочем, в этой группе есть свой лидер — Seagate Enterprise Performance 15K HDD v5.
- Ultrastar C10K1800 за счет высокой плотности записи не уступает накопителям категории 15К.
- А вот представленные десятитысячники мало различаются по скорости линейного доступа.
Произвольное чтение
- 15-тысячники и в этой дисциплине доминируют над своими низкооборотными собратьями.
- Разброс показателей внутри категорий HDD с одинаковой скоростью вращения шпинделя невелик. Можно выделить только HGST Ultrastar C15K600 как формального лидера в своей группе и VelociRaptor, явно уступающий аналогам.
Произвольная запись
Результаты теста на произвольную запись оказались менее предсказуемыми, нежели в предшествующем тесте, поскольку определяются не только механикой HDD, но и характером использования буфера.
Устоявшееся время отклика
- Несмотря на то, что нагрузка продолжается в течение 10 минут, она не может полностью забить буфер на некоторых дисках, поэтому результаты для записи данных не отражают то, на что направлен этот тест, – латентность механики накопителя.
- Напротив, при чтении с длиной очереди в одну команду буфер — не помощник. В результате соперники выстроились в соответствии со скоростью вращения шпинделя (чем она выше, тем меньше время отклика). Существенной разницы между устройствами одной категории не обнаружено.
Смешанное чтение/запись
- Диски категории 15К по-прежнему на высоте, за исключением Ultrastar C15K600, который особенно сильно просел при смешанной нагрузке.
- Ultrastar C10K1800 в очередной раз выделился среди своих аналогов. Из других десятитысячников отметим Toshiba AL13SEB. Все они примерно одинаковы при 100-процентном чтении или записи, но AL13SEB сохраняет наибольшую производительность при смешанной нагрузке.
Зависимость пропускной способности от длины очереди команд
- Все диски способны извлечь выгоду из длинной очереди команд и достигают пиковой пропускной способности при 64 командах. Только VelociRaptor довольствуется очередью в 32 команды.
Многопоточное чтение
- Большинство участников теста равномерно распределяют ресурсы между четырьмя потоками. Что, впрочем, приводит к низкой совокупной производительности.
- Toshiba AL13SEB и WD VelociRaptor, напротив, при многопоточном чтении жертвуют одним из потоков, за счет чего возрастает скорость передачи данных в остальных и общая пропускная способность.
Многопоточная запись
- При записи в четыре потока ни один из дисков не хитрит: производительность равномерно распределяется между всеми потоками.
- Как видим, от механики диска в этом тесте зависит не так уж много. 15-тысячники от Seagate и Toshiba заняли первые места, а вот Ultrastar 15K600 — явный аутсайдер.
Постоянство времени отклика
- При чтении данных все накопители характеризуются существенной разницей между средним и максимальным временем отклика. Лишь VelociRaptor выделяется в лучшую сторону, обладая более выгодным соотношением среднего и максимального времени отклика.
- При записи пиковые значения времени отклика сглажены буфером и мало отличаются от средних.
- Участники теста больше всего различаются по разбросу времени доступа при записи. Наиболее консистентной производительностью обладает Ultrastar C10K1800. У Toshiba AL13SEB900, напротив, стандартное отклонение времени доступа резко повышено.
- Лучшие результаты во всех тестах принадлежат 15-тысячникам Ultrastar C15K600 и Toshiba AL13SXB.
- Результаты Seagate Enterprise Performance 15K HDD v5 совершенно не соответствуют его техническим характеристикам. Только в тесте «Веб-сервер» этот диск проявил себя с лучшей стороны, а в остальных не имеет никакого преимущества перед соперниками класса 10К.
- Среди серверных десятитысячников диски не так сильно отличаются друг от друга, но формально — лучших показателей добился Seagate Savvio 10K.6. VelociRaptor, напротив, всегда плетется в хвосте.
База данных
Файловый сервер
Рабочая станция
Веб-сервер
По совокупности главных метрик производительности (линейное чтение/запись, произвольное чтение/запись) наиболее быстрыми являются три участника, обладающие скоростью вращения шпинделя 15 тыс. об/мин и объемом 600 Гбайт: HGST Ultrastar C15K600 (HUC156060CSS200), Seagate Enterprise Performance 15K HDD v5 (ST600MP0035), Toshiba AL13SXB600N. Причем HGST тут — явный фаворит. Seagate можно было бы считать серебряным призером, если бы он не провалил все тесты с эмуляцией приложений, помимо веб-сервера.
Большинство десятитысячников в основных аспектах похожи друг на друга, но стоит выделить HGST Ultrastar C10K1800 (HUC101818CS4200), который уступает более оборотистым коллегам класса 15К только в скорости произвольного чтения и при этом имеет рекордный объем — 1,8 Тбайт. Впрочем, на результатах тестов с эмулированными приложениями эти достоинства никак не отразились.
Seagate Savvio 10K.6 900 Гбайт (ST900MP0006) и Seagate Enterprise Performance 10K HDD v7 1,2 Тбайт (ST1200MM0007) обладают стабильно высокой производительностью без сюрпризов. Чуть хуже прочих десятитысячников с тестами справился Toshiba AL13SEB900.
WD VelociRaptor 1 Тбайт (WD1000DHTZ) можно рассматривать как высокопроизводительный HDD «для бедных», если протокол SAS не является обязательным пунктом в техзадании. По своим характеристикам это типичный диск класса 10К, только в сравнении с истинными серверными накопителями скорость произвольного чтения оставляет желать много лучшего, что проявилось и в «эмуляторах».
1. Если нужно хранить много данных в общем доступе
В случае, когда основной задачей является общее хранение файлов на сервере – можно ограничиться SATA SSD, ведь SATA-интерфейс лучше всего работает при передаче данных на накопитель. RAID-массив в этом случае станет здравым вариантом для ускорения, при этом скорость интерфейса не будет выступать ограничением.
Рекомендация эта применима по большей части к малому бизнесу с небольшим штатом сотрудников, которые могут одновременно использовать серверное пространство. Для сервера, в котором установлено от двух до четырех накопителей использование SATA-решений также вполне приемлемо. А вот при использовании большого количества накопителей с перспективой расширения офисной экосистемы — логичнее полагаться на SAS.
Выводы
При выборе высокой производительности существенно выше скорость работы дисковой подсистемы даже при использовании стандартных жестких дисков, не говоря уже о твердотельном накопителе, который «дышит полной грудью». Именно поэтому, если планируется использование виртуального сервера в качестве сервера баз данных (например, для 1С), мы настоятельно рекомендуем выбирать высокую производительность оборудования. В соревновании SAS vs SSD при любой конфигурации серверного компьютера побеждают твердотельные накопители.
Что же касается производительности физического и виртуального компьютера, то, как было показано, «виртуализация» никак не испортила картину — виртуальный компьютер оказался даже быстрее физического, если сравнивать дисковый ввод/вывод.
Аренда сервера и СХД необходимой производительности. Все оборудование размещаются в собственном отказоустойчивом ЦОДе с зарезервированными системами энергоснабжения, охлаждения и каналами связи.
Аренда тонкого клиента поможет избежать лишних затрат на приобретение компьютерной техники. После подключения к терминальному серверу данное оборудование сможет заменить собой полноценное рабочее место. Xelent предоставляет в аренду компьютеры с терминальной архитектурой. Пользователь сможет подключить их к собственному серверу или арендовать хостинг в ДЦ нашей компании.
Хостинг сайтов в спб приходится приобретать любой уважающей себя компании. Это нужно для создания и дальнейшей раскрутки сайта. В компании Xelent клиентам на выбор доступна аренда виртуального или vps-сервера.
Всем известны параметры производительности дисковых подсистем в теории. Но что на практике? Многие задают этот вопрос, некоторые строят свои гипотезы. Я решил провести серию тестов и определить «Who is who». Приступил к тестированию всеми известными утилитами dd, hdparm, далее перешел к fio, sysbench. Также был произведен ряд тестов используя UnixBench и несколько других аналогов. Было построено ряд графиков, но по мере дальнейшего тестирования было обнаружено что большинство этого ПО непригодно для адекватного сравнения разных дисков.
С помощью fio можно было составить сравнительную таблицу или график для SAS, SATA, но при тестировании SSD оказалось, что полученные результаты вовсе непригодны. Я конечно уважаю разработчиков этого всего софта, но в этот момент было принято решение создать ряд не синтетических тестов, а более близких к реальной обстановке.
Сразу скажу, что параметры теста и сами машинки были подобраны таким образом, чтобы результаты теста не были искажены типом процессора, его частотой или другими параметрами.
Тест 1
Создание файлов
В течении восьми циклов генерировалось создание небольших файлов с хаотическим содержанием и с постепенным ростом количества файлов на цикл. По каждому циклу измерялось время выполнения.
Из графика видно что большую скорость создания файлов имеют SSD KINGSTON SV300S3 и почти не зависят от их количества. Также стоит отметить что именно эти диски имеют более прямолинейную шкалу
По SAS дискам в Hardware RAID видно что скорость зависит от типа рейда, но совсем не зависит от количества дисков.
Но больше времени тратится не на создание файлов, как оказалось, а на их перезапись. По этому перейдем к второму тесту.
Тест 2
Перезапись файлов
Повторялись те что операции что в первом тесте, но файлы не создавались новые каждый раз, а использовался один и тот же файл, в который записывалась каждый раз новая информация.
Сразу бросается в глаза ужасная картина по дискам SATA 7,200 rpm MB2000GCVBR. Медленная запись и по 2x 300GB SAS SEAGATE. По этому решил выбросить их из графика для наглядности по остальным.
Самой быстрой подсистемой оказался одиночный SSD KINGSTON. Второе и третье место заняли 8x SEAGATE ST3300657SS и 4x SEAGATE ST3300657SS. Также видим что с ростом количества SSD в массиве скорость немного падает.
Тест 3
MySQL. Комбинирование sql-запросов INSERT, SELECT, UPDATE, DELETE
Была создана InnoDB таблица со следующей структурой:
CREATE TABLE `table` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`time` int(11) NOT NULL,
`uid` int(11) NOT NULL,
`status` varchar(32) NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
Одновременно генерировалось несколько запросов:
— INSERT;
— UPDATE с выборкой по PRIMARY KEY;
— UPDATE с выборкой по FULLTEXT (поиск по 4 символам из 24-х): WHERE `status` LIKE '%(string)%';
— DELETE FROM с выборкой по PRIMARY KEY;
— DELETE FROM с выборкой без использования ключа: WHERE `time`>(int);
— SELECT с выборкой без использования ключа: WHERE `time`>(int);
— SELECT с выборкой по PRIMARY KEY;
— SELECT с выборкой по FULLTEXT (поиск по 4 символам из 24-х): WHERE `status` LIKE '%(string)%';
— SELECT с выборкой без использования ключа: WHERE `uid`>(int).
И снова наблюдаем ту же картину что во втором тесте.
В следующих тестах использую утилиту sysbench, которая генерирует файлы большого объема:
128 файлов, общим размером 10 Гб, 30 Гб и 50 Гб.
Размер блока 4 Кб.
Сразу хочу обратить внимание, что на некоторых графиках, по некоторым серверам нету данных на 10 Гб. Это связано с тем что на данных машинах имеется оперативной памяти более 10 Гб и выполняется кэширование данных. Отсутствие некоторых результатов на 50 Гб обусловлено нехваткой дискового пространства, в случае с SSD KINGSTON SV300S3.
Тест 4
Линейная запись (создание файлов)
Видно что лучшие показатели имеются у всех вариациях с SSD KINGSTON SV300S3, а также у 8x SEAGATE ST3300657SS в RAID10. Очень хорошо просматривается рост скорости с увеличение количества дисков SAS.
Здесь тот самый момент, где отлично видно что SSD совершенно разные бывают. Разница в 4 раза!
Тест 5
Линейная запись (перезапись файлов)
Лидеры все те же. Если сравнивать 2x SSD от INTEL и 2x SAS разницы практически никакой.
Тест 6
Линейное чтение
Здесь же видим чуть иную картину. Лидируют 4x SSD KINGSTON RAID10, с минимальным изменением результатов при увеличении объема файлов, и 8x SEAGATE в RAID10, с постепенным спадом скорости, на скоростях 700 Мбит/сек и 600 Мбит/сек.
Линии по 1x SSD KINGSTON и 2x SSD KINGSTON RAID1 совпали. Проще говоря для линейного чтения лучше брать или RAID10 или одиночный диск. Использование RAID1 не оправдано.
Хорошо видно что показали 2x SAS RAID1 и 4x SAS RAID10 очень похожи. Но при увеличении количества дисков в два раза просматривается огромный прирост скорости.
2x SSD Intel RAID1 имеет не малое падение скорости на промежутке 10 Гб — 30 Гб, а далее идут на одной скорости с SATA RAID1.
Тест 7
Рандомное чтение
В лидерах все SSD:
— 4x KINGSTON RAID10;
— 2x KINGSTON RAID1, 2x INTEL RAID1;
— 1 KINGSTON.
Всех остальных скопировал на следующий график для наглядности.
Наивысшую скорость среди этих имеет естественно 8x SAS RAID10, но скорость резко падает. Но исходя из данных по 2x SAS и 4x SAS предположу что с дальнейшем ростом объемом скорость стабилизируется.
Тест 8
Рандомная запись
Отличные показатели имеет 2x 120GB SSD INTEL SSDSC2CT12 Hardware RAID1 SAS1068E со стабильной скоростью 30 Мбит/сек. По KINGSTON с ростом количества дисков скорость, как ни странно, падает. На четвертом месте 8x SAS SEAGATE.
Тест 9
Комбинированные операции рандомного чтения и записи
Все мы знаем, что ни на одном сервере нету только чтения или только записи. Всегда выполняются обе операции. И в большинстве случаев это как раз рандомные операции, а не линейные. И так, посмотрим, что у нас получилось.
За счет отличной скорости записи с большим отрывом идет 2x SSD INTEL, за которым следует SSD KINGSTON. Третье место разделили 2x SSD KINGSTON и 8x SAS SEAGATE.
Тест 10
После проведения всех этих тестов я решил что будет удобно вывести зависимость скорости от соотношения операций рандомного чтения и рандомной записи.
У кого рост скорости, у кого падение, а у 8x SAS RAID10 прямая линия.
Тест 11
Произвел также сравнение больших массивов из SAS дисков, по которому видно, что от скорости диска больше зависит, чем от их количества.
- С ростом количества SAS дисков в массиве все показатели только улучшаются.
- Для MySQL медленные подсистемы это SATA RAID1 и SAS RAID1. По остальным отличия есть, но они не столь существенны.
- Для линейно записи хороши как большие массивы из SAS дисков в RAID10, так и SSD. Смысла использовать массивы из SSD нет. Стоимость растет, а производительность на месте.
- Для линейного чтения хороши любые большие массивы. Но на практике лин. чтение без записи у нас почти не встретить.
- Рандомное чтение за SSD одиночными или в Software RAID.
- Для рандомной записи лучше использовать Hardware RAID из SSD, хотя не сильно поступаются и одиночные SSD.
- Рандомные чтение/запись, то есть один из самых важных показателей, имеют лучшие результаты на Hardware RAID из SSD.
- Обобщая все вышесказанное, для большинства задач лучше использовать большие массивы (>=8) из SAS или Hardware RAID из SSD. Но для некоторых задач корректнее будет использовать одинарные SSD.
- Исходя из объемов SSD, которые преимущественно предлагаются на нашем рынке, под VDS-ноды стоит использовать максимальной производительности процессоры в паре с большими SAS массивами или же средненькие процессоры и одинарные SSD. Считаю что использование hw raid для двух SSD будет дороговато.
- Если вам необходима быстрая система и нет необходимости в большом дисковом пространстве 2x SSD в Hardware RAID будет лучшим выбором. Если желаете немного сэкономить в ущерб производительности, тогда можно взять одинарный SSD или два SSD в софтовом рейде.
- Что происходит при увеличении количества SSD в Hardware RAID?
- Что дешевле под виртуальные сервера: дорогие машинки и один большой массив из SAS или же несколько средненьких серверов с одинарными SSD? В этом вопросе также следует учесть надежность/долговечность SAS и SSD, так как по последним ходят разные слухи.
Кроме перечисленных тестов и серверов было еще множество, но они не попали в результаты, так как на них проводилась «калибровка» тестов и многие их них были признаны некорректными.
Также производилось тестирование RAMDisk. Показатели были довольно хорошие, но не лучшие. Вероятно из-за того что это была виртуальная машина.
Все тесты, кроме последнего, производились только на выделенных серверах.
В IT-области существует множество мифов. «От спама можно отписаться», «Два антивируса лучше, чем один», «Серверные жёсткие диски должны быть только фирменными». При замене и расширении парка ЖД нужно учитывать немало нюансов и тонкостей, и без своих предубеждений здесь тоже не обошлось. Какие бывают ЖД для серверов, чем они отличаются, на что нужно обращать внимание, и должны ли они быть с логотипом производителя сервера — об этом читайте под катом.
Если диск установлен в сервер, то он должен удовлетворять жёстким требованиям по:
- Надёжности. Невосстановимая потеря данных может обернуться многомиллионными убытками и репутационными потерями.
- Производительности. Серверы априори предназначены для обработки многочисленных запросов.
- Времени отклика. Пользователи не должны ждать, пока серверный диск «пробудится» и обработает их запросы.
Существует четыре основных категории (не берем в расчёт SSD, SAS SSD, PCI-e SSD) жёстких дисков:
- SATA (обычные, «бытовые» SATA) — частота вращения шпинделя 5400 и 7200 об/мин.
- SATA RAID Edition (SATA RE) — частота вращения шпинделя 7200 об/мин, поддержка команд RAID-контроллера.
- SAS Near Line (SAS NL) — частота вращения шпинделя 7200 об/мин.
- SAS Enterprise — частота вращения шпинделя 10 000 или 15 000 об/мин.
Проверяйте гарантию
Если вы решили не идти на поводу у вендоров и собираетесь купить «неродные» жёсткие диски, то сначала обязательно уточните у продавца: кто предоставляет гарантию? Дело в том, что многие магазины не предоставляют гарантию на жёсткие диски, ссылаясь на гарантию производителя. Но здесь есть тонкий момент: к примеру, у некоторых моделей Seagate гарантийный период начинается с момента производства. Поэтому не исключена ситуация, что вы купите абсолютно новые диски, на которые уже закончилась гарантия производителя.
Чтобы не испытать этот неловкий момент, постарайтесь перед покупкой проверить гарантию конкретных экземпляров на сайтах производителей:
Работа в RAID-массиве
Ещё один важный недостаток обычных SATA — отсутствие функции устранения ошибок при работе в RAID-массиве. Допустим, вы понадеялись на бэкап, и ради экономии построили RAID из обычных SATA. При возникновении ошибки жёсткий диск многократно пытается считать сбойный блок. И пока он это делает, он не отвечает на сигналы RAID-контроллера. Тот воспринимает это как выход жёсткого диска из строя, исключает его из массива и пытается восстановить. Иными словами, при возникновении ошибки из массива выпадает весь диск.
В случае с SATA RE, SAS NL и SAS ситуация будет развиваться иначе. Обнаружив ошибку, диск сообщает контроллеру о наличии сбойного блока. Контроллер запрашивает этот блок у других дисков в массиве и передаёт на сбойный диск. При этом устройство не выпадает из массива, и падения производительности не происходит.
Читайте также: