Вступление
На хабре уже проскакивала информация о продукции FusionIO (раз, два), однако за 4 года положение дел немного изменилось. Для тех, кто не в курсе в вкратце расскажу, что это, и с чем его едят.
FusionIO – это компания, которая делает PCI-E SSD платы, которые отличаются выдающимися характеристиками производительности и космической ценой.
Я расскажу, зачем оно нужно и почему, где его взять, сколько оно стоит, и как оно работает.
Зачем оно нужно
Нетрудно догадаться, что нужно оно для приложений, чувствительных к скорости работы диска. В нашем случае, для размещения баз MS SQL Server 2012. До этого мы использовали iSCSI дисковую полку, с RAID10 из 14 SAS дисков. Однако под большой нагрузкой задержка на запись лог-файла для нагруженных баз доходила до 10 мс, что являлось совершенно неприемлемым.
Почему FusionIO? Потому что Стив Возняк:), а также компании, которые используют FusionIO – Facebook, Apple iCloud, Salesforce и куча других. Если серьезно, то сыграли 2 фактора – цена и скорость. За эти деньги быстрее просто нету.
Вот например заявленная производительность ioDrive2 – именно на них мы остановились:
Где его взять
Если кратко – заказать у своего поставщика серверного оборудования.
Мы начали поиски со своего поставщика серверного оборудования. Там ребята попросили день на раздумья, и в итоге пообещали привезти за 6–8 недель. Долго конечно, а что делать.
Вторым шагом я написал в отдел продаж FusionIO с простым вопросом – где купить в России? В работу включились менеджеры с кучей вопросов «а зачем оно вам», «а вот давайте мы расскажем» и т.п. Я их уверил, что знаю, что мне нужно, и спросил — кому деньги отдать? Мне огласили цену, и отправили к реселлеру, который «занимается продажами в Вашем регионе». Забегая вперед, скажу, что купили мы в итоге у своего поставщика вместе с серверами. Со мной связался Джон, предложил приехать в Москву и рассказать обо всех преимуществах и дать карту на тест. Через пару недель у нас состоялась встреча, на которой я узнал, что они сейчас занимается открытием офиса продаж в Москве, и в течение полугода вероятно таки его откроют. А это значит, что скоро можно будет купить эти платы по безналу, с нормальным суппортом и вменяемыми сроками, а также получить карты на тест.
А в это время карты ехали к нам по супермикровским каналам – сейчас кстати наибольшая часть этих карт продается через вендоров (HP, Dell, Supermicro и другие, даже Cisco в свои UCS планирует их ставить).
Сколько стоит
ioDrive 2 на 1.2 Tb стоит $14000. Процитирую материал из статьи 2008 года: На сегодняшний момент этот товар предназначен исключительно для корпоративных пользователей: 80Гб версия обойдется в $3000, незаметно вырастая до $14000 за 320Гб сверхскорости.
Речь кстати в той статье шла про первое поколение ioDrive, которые значительно менее производительные.
Через пару-тройку лет цены еще упадут, и за эти деньги можно будет купить 5-терабайтный Octal, или какой-нибудь ioDrive 3 похожего объема.
MLC или SLC
Инженеры Fusion-IO говорят, что ради надежности покупать SLC не стоит — MLC достаточно надежны. Если важная дополнительная скорость — тогда возможно стоит.
Как работает
Быстро. Очень быстро.
Вот результаты SQLIO в сравнении с нашей текущей полкой:
Мегабайты в секунду (полка, понятно, уперлась в сеть):
Иопсы:
В топик наверняка придет amarao, и скажет, что SSD на запись не сильно быстрее хорошего рейда, а также что главное – это латенси — и я с ним в чем-то согласен. Однако, тест длиною в сутки на рандомную запись в файл размером в терабайт я, пожалуй, проводить не буду – вдруг и правда там все плохо:), а вот про латенси немного расскажу.
Простой бенчмарк на рандомную запись 4Кб блоками в 12 потоков с очередью 24 на каждый поток (итого 288) – смотрим на гистограмму латенси внизу
Если мы заглянем в Resource Monitor, то там страшное
Длиннющая очередь диска, однако, за счет того, что запросы обрабатываются очень быстро, латенси не превышает 1 мс. К слову, если снизить очередь до 200, то 99% выполняются быстрее 1 мс.
Что можно настроить
Ну, во первых, размер сектора. По дефолту они идут с секторов в 512 байт, максимальный размер – 4 кб, его, кстати, рекомендует выставлять HP. Также они, да и все остальные рекомендуют выставлять размер NTFS allocation unit size в 64 кб.
Размер сектора меняется через Low Level Format с потерей всех данных.
По результатам тестирования с разным размером сектора могу сказать, что разница в результатах настолько мизерная, что ей можно пренебречь.
Также есть возможность отформатировать девайс с меньшим полезным пространством для увеличения скорости
Я тестировать не стал, нас такая скорость более чем устраивает, а терять драгоценные гигабайты не хочется. Вот тут немного тестов есть.
Возможно есть какой-то низкоуровневый тюнинг – я только начинаю читать документацию. Если будет что-то интересное, обязательно расскажу.
Вместо заключения
Пара скриншотов интерфейса ioSphere – софт для управления и мониторинга фьюжн-девайсами.
А вот публичный фтп супермикры, откуда можно скачать разные PDF (а также драйвера) для ознакомления бесплатно, без регистрации и смс.
Сразу скажу что под линуксом оно должно работать, как заявляет производительно, но проверить у меня возможности нету.
Надеюсь, было интересно.
Автор: CLaiN