Почему SSD на СХД «классике» такие медленные?

Вот что пишет, например, HPE в своем официальном гайде по сайзингу HPE 3Par в отношении SSD:

На странице 11 написано:

1100 IOPS с диска 480GB MLC и 4000 IOPS для дисков 1920 и 3840GB ?!! Да, это официальный гайдлайн для сайзинга 2-Tier storage SSD+FC.
При этом знаете, сколько эти «SSD на 4000 IOPS» в листе у HPE стоят?

Ну, ОК, допустим в стритпрайсе эти диски не 26 тысяч долларов, существенно меньше. Может даже на 80% дешевле. ;)

Но как вы думаете, сколько этот же диск дает IOPS, по спекам вендора, то есть, будучи вставленным в обычный тестовый сервер, как локальный диск?

Вот диски, которые мы используем у себя в Nutanix, это популярная «серверная», энтерпрайзная серия Samsung SM863A, с высокими показателями надежности при большом трафике записи. Официальный сайт говорит следующее:

28 тысяч на запись блоками 4K, и 95 тысяч — чтения.

Куда делась разница?
Съелсь в latency.

Длинный путь блока, от приложения в OS, в буфера, в HBA, в буфера коммутатора, в кэш OS СХД, на диски, а, затем, в обратный путь, не позволяет приложению продолжать ввод-вывод со скоростью, которую мог бы обеспечить SSD, будь он «поближе» к серверу.

Но все меняется в случае архитектуры HCI, где диск расположен локально к процессору, где путь к данным от приложения в памяти сервера до дисков гораздо короче.

Это как раз то, что дает нам возможност показывать вот такие результаты:

Два с половиной миллиона IOPS на random read блоком 8K, используемым на нашей файловой системе DSF, при median latency менее 1ms.
На скриншоте — недавно установленный у заказчика 18-узловой кластер. Таким образом средняя производительность ОДНОГО сервера-ноды (с парой SSD включенных локально) в данном кластере 2 500 000 / 18 = 139 000 IOPS random read 8K, при тестовом datasize 12GB, то есть, в среднем, 69 500 IOPS с каждого SSD.

Как мне кажется, более чем убедительная иллюстрация, насколько важна архитектура HCI с новыми быстрыми flash-дисками. Старая, «классическая» архитектура просто не в состоянии дать им показать все, на что они потенциально способны. Устанавливая SSD в «классику» мы, по сути, хороним большую часть их потенциальной производительности.
Именно HCI потенциально способен дать SSD и NVMe шанс показать их скорость.

Почему SSD на СХД «классике» такие медленные?: 16 комментариев

  1. KorP

    На мой взгляд — 3par это самое большое зло, какое только есть, там и не только с производительностью приколы есть

    1. romx Автор записи

      У EMC все точно так же, только, если я правильно помню, 3000 IOPS на диск.

  2. Михаил

    >> Длинный путь блока,
    А есть конкретная цифра, которая бы показала в микросекундах разницу? Может ей можно пренебречь?
    >> с парой SSD включенных локально
    А вдруг дело в том, что локальный ССД не является кусочком рейда? А защищенность достигается репликой. Кстати, а какой rf был при выполнении тестов?
    >> Старая, «классическая» архитектура просто не в состоянии дать им показать все, на что они потенциально способны
    https://e8storage.com/ — очень похоже на классику, но согласитесь, хорошо иллюстрирует, что вы сделали ошибочное предположение.

    1. romx Автор записи

      > А вдруг дело в том, что локальный ССД не является кусочком рейда?

      А вы считаете, что если сделать JBOD или RAID-10, то сразу увеличится с 4000 до 95 0000? ;)

      > Кстати, а какой rf был при выполнении тестов?

      RF=2, но при RF=3 изменяется незначительно, в пределах разброса результатов.

      > хорошо иллюстрирует, что вы сделали ошибочное предположение.

      Пока не вижу где оно ошибочно.

  3. Михаил

    > А вы считаете, что если сделать JBOD или RAID-10, то сразу увеличится с 4000 до 95 0000? ;)
    Я считаю, что если диск является частью R5/6, то его производительность до определённого момента будет ниже т.к. появляется пеналти. Вы же напирали на потерю IOPs промеж задержек: «Съелсь в latency.» Откуда ей взяться? Или вы думаете, что FC/контроллер СХД создают ТАКИЕ задержки? Не забывайте про eXtreme IO и прочие FlashSystem.
    >>Старая, «классическая» архитектура просто не в состоянии дать им показать все, на что они потенциально способны
    >Пока не вижу где оно ошибочно.
    https://e8storage.com/e8-storage-appliances/
    Up to 10M IOPS and 40GB/s read performance
    Даёт больше чем 1 ССД, правда?

    1. romx Автор записи

      > Я считаю, что если диск является частью R5/6, то его производительность до определённого момента будет ниже т.к. появляется пеналти.

      А где в документе выше хоть какое-то упоминание о RAID? ;)
      Ну, хорошо, допустим, raid penalty. Какова она на RAID-5? 4x, то есть 4 операции с RAID на одну операцию записи. Вы считаете, что этого достаточно, чтобы снизить производительность в 20 раз?

      > Или вы думаете, что FC/контроллер СХД создают ТАКИЕ задержки?

      Вся цепочка создает эти задержки, причем они копятся и усугубляют одни другие.

      > Up to 10M IOPS and 40GB/s read performance
      > Даёт больше чем 1 ССД, правда?

      Действительно, 24 NVMe диска в 22+2 RAID, с гигантским кэшем дают больше, чем 1 SSD, почему я не удивлен ;)

      PS. И, да, заметьте, пожалуйста, мы говорим выше про SPEC SFS2014_swbuilt, это НЕ то же самое, что простой бенчмарк с IOPS-ами, о котором пишу я, бенчмарки сравнивать можно только одинаковые, на то они и бенчмарки. А так как Nutanix в SPECSFS2014_swbuilt не участвует, то что с чем мы сравниваем? Яблоки с корзинами?

      1. Михаил

        > Вся цепочка создает эти задержки, причем они копятся и усугубляют одни другие.
        Почему эта цепочка не создает таких задержек в случае олл-флеш схд?

        > Действительно, 24 NVMe диска в 22+2 RAID, с гигантским кэшем дают больше, чем 1 SSD, почему я не удивлен ;)
        А почему вас не удивляет, что архитектура никак не мешает выдавать такие показатели?

        > PS. И, да, заметьте, пожалуйста, мы говорим выше про SPEC SFS2014_swbuilt
        В случае нутаникса всегда можно говорить только о сферических IOPs’ах.

        1. romx Автор записи

          > А почему вас не удивляет, что архитектура никак не мешает выдавать такие показатели?

          Мешает.
          Мы делаем два с половиной миллиона IOPS на 18 хостах (по одной VM на хост), на обычных SSD в гибридной системе.
          А на NVMe мы делаем миллион IOPS даже на одной VM (с дисками на ней с 10 хостов) http://longwhiteclouds.com/2017/11/14/1-million-iops-in-1-vm-world-first-for-hci-with-nutanix

          Но дело же, на самом деле, не в IOPS как таковых, мне казалось, что в 2018 году это уже всем должно быть ясно. Дело в latency операций.
          В приведенном вами тесте latency в результате лимитировано на 2,5ms, а в тесте с миллионом IOPS на VM — 0.11ms, то есть в 22 раза лучше!

          > В случае нутаникса всегда можно говорить только о сферических IOPs’ах.

          А, то есть это я виноват, что вы притащили в дискуссию нерелевантные результаты от постороннего бенчмарка файловой системы? ;))

          1. Михаил

            >Дело в latency операций
            Конечно же, именно в них! Но каков их разброс для ваших тестов?
            > что вы притащили в дискуссию нерелевантные результаты от постороннего бенчмарка
            А есть результаты аналогичного бенчмарка для Nutanix?

          2. romx Автор записи

            Ну, на скриншоте — от 0 до 24 ms, как единичный выброс верхнего значения, при этом медиана — ниже 1ms.

            SPEC SFS2014 не проводим, во-первых он платный и довольно дорогой. Во-вторых, это все же не совсем наша область. Может быть, когда разовьется AFS, появится нужда на рынок NAS идти, но пока нет.
            С тестированием производительности и бенчмарками для HCI вообще проблема в том, что то, что разрабатывается для «классики» — не особо подходит для HCI, а то, что есть для HCI — неприменимо к «классике».

  4. Игорь

    «Таким образом средняя производительность ОДНОГО сервера-ноды (с парой SSD включенных локально) в данном кластере 2 500 000 / 18 = 139 000 IOPS random read 8K, при тестовом datasize 12GB, то есть, в среднем, 69 500 IOPS с каждого SSD.»

    Мммм, датасайз 12 Гб? Ничего не напутано или я неправильно понимаю термин? При таком малом размере тестовых данных они, вполне вероятно, целиком уместились в кэш, и показанные офигенные IOPs’ы есть реально IOPs’ы кэша, а не SSD.

    1. romx Автор записи

      Nutanix не СХД, у нас нет «кэша» как такового. На сервере пространство памяти, из него выделено 4GB под память VM, внутри нее запущен fio, который через CVM работает с физическим блочным устройством по iSCSI. Все, никакого кэша по сути больше нет нигде.

      1. Игорь

        Да, я прекрасно понимаю, что Нутаникс не СХД. Но все равно, тестовый датасет представляется не соответствующим масштабам тестируемой системы, он слишком мелкий.
        Проходил я такое, на локальном raid из 3 дисков производительность была на 2 порядка выше, чем SAN на 24 дисках с улучшайзерами. А всего лишь не хотелось долго ждать, пока iometer большой, реальный тестовый файл сгенерит. А на маленьком файле получились просто фантастические результаты.

        Разница между значениями IOPs в вашей статье настолько велика, что неизбежно приводит к мысли о различиях в методиках измерений, а значит и некорректности результатов сравнения. Различия в десятки процентов — ок, в разы — ну ладно, но более чем на порядок — это попахивает marketing bullshit’ом и говнилкой конкурента.

        1. romx Автор записи

          Ну вот видимо все же не до конца понимаете. :)
          Практика моя утверждает, что какой тест не проведи, обязательно найдется человек, которому «датасет маленький» будет :)
          А маленький он в сравнении с чем? Я вам показал, что размер кэша тут ничтожный по сравнению с датасетом, что ситуация, когда датасет идет их кэша, как иногда случается в случае СХД, тут невозможна. Ну, а какой датасет вам нужен? Мы что меряем, реаллайф, или «чтобы лошадка сдохла»? ;) Так «сдохла» это не реаллайф, это нерелевантый результат. Вы считаете, что активный датасет, например для БД, в 12 гигабайт, это мало? Нет, это совсем не мало.

          1. Игорь

            По всей видимости, не до конца читаете.
            Еще раз, главное, что резануло в статье — не то, что датасет маленький, а то, что разница слишком велика, чтобы быть правдой. Ну не бывает так. За маркетинг 5, за объяснение … ничего не поставлю.

          2. romx Автор записи

            «Не бывает» — это очень технический аргумент, да ;)

            Информация о том, что существуют, например HDD, с производительностью 120 IOPS, и SSD, с производительностью в 800 раз больше, у вас не вызывает такого отторжения? То есть все же, при определенных условиях, такая разница в производительности случается и принимается? Да, технология и архитектура другая. Как и в случае HCI.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *