10G дома: Myricom, Windows-SMB, iSCSI

Feb 23, 2012 19:31


Кросспост из блога автора. Комментировать лучше там, но можно и тут

Продолжаю развлечения с 10G между двумя рабочими станциями. Windows - Windows

Запускаю на обеих машинах Win7, на одной делаю Ramdrive на 8G, расшариваю его прямо windows-средствами, запускаю Atto disk benchmark, получаю вот такую картинку:

Каких-то настроек на серверной стороне я не делал, я их и не знаю.
Картинки с Самбы на той же машине (для сравнения) запрятаны в этом посте.
Как видим, на мелких блоках стало побыстрее в 1.5-2 раза (2 раза - для блока 8к), на больших блоках - незначительно медленнее.
Копирование крупных файлов идет с примерно той же скоростью, в районе 500-600MB/sec, то есть быстрее, чем можно надеяться имея в массиве разумное для дома количество HDD под этой сетью. Про копирование мелких файлов будет ниже и отдельно.

Понастраивал всякие параметры у сетевой карты (Adaptive Interrupt Moderation, Interrupt Coalescing Delay), но каких-то больших отличий не увидел.
Заодно, раз на двух концах провода винды, попускал NT Testing TCP Tool, списав настройки с Myricom-овской странички Myri-10G 10-Gigabit Ethernet Performance. В результатах увидел странное:
  • В один поток имею единицы гигабит, типа 3-4, меньше чем iperf давал.
  • В три (и более) потока - имею один поток в 9+ гигабит и 2 (и более) потоков порядка 200Mbit, общая сумма в районе 9.9Gbit/s
Объяснений загадке нет, вдаваться еще и в это - не было сил. iSCSI
Загружаю Linux, настраиваю там iSCSI, следующим образом (только отличия от defaults):


  1. Target iqn.1-1.com.example:storage.lun1

  2.         Lun 0 Path=/dev/ram0,Type=blockio

  3.         MaxConnections          10              # Number of connections/session

  4.         MaxSessions             10              # Number of sessions/target

  5.         ImmediateData           Yes             # Data can accompany command

  6.         MaxRecvDataSegmentLength 262144         # Max data per PDU to receive

  7.         MaxXmitDataSegmentLength 262144         # Max data per PDU to transmit

  8.         MaxBurstLength          262144          # Max data per sequence (R2T)

  9.         FirstBurstLength        65536           # Max unsolicited data sequence

  10.         MaxOutstandingR2T       16              # Max outstanding R2Ts per cmnd

  11.         Wthreads                16              # Number of IO threads

  12.         QueuedCommands          32              # Number of queued commands
Честно скажу, вообще ничего не понимаю iSCSI, значения подбирал пролетарским чутьем.
Монтирую в винде, форматирую NTFS, запускаю ATTO:
Бенчмарка странная, сразу признаю, более того, при копировании больших файлов я этого самого гигабайта в секунду не вижу. Я и 600 не вижу. Правда я могу упираться в скорость источника, без кэша источник больше 500-600 отдавать всяко не должен, а сделать еще и на второй машине ramdrive - как-то руки не дошли.
В любом случае, скорость с большими файлами более чем удовлетворительная и на iSCSI и на Самбе и на Win7 в позе сервера. Интереснее маленькие. Мелкие файлы
Берем каталок с Qt 4.8, там кроме Qt у меня еще валяются исходники OpenSSL, QCA и немножко другого мусора, всего 65k файлов и 3.1Gb. И вот прямо Windows Explorer-ом копируем на сетевой диск, время меряем секундомером. Гонял по несколько раз, брал лучшее время. Получается такое вот: Копирование 65к файлов (3.1G всего) по 10G-сети ВариантВремя, mm:ss SSD - Linux,Samba (настройки см. в предыдущем посте)2:43 SSD - Win7 SMB(без настроек)1:14 SSD - iSCSI, настройки см. выше0:42 SSD-Локальный массив, 6xHDD 7200, RAID6, Adaptec 5805, NTFS1:20 SSD-второй SSD0:42
Довольно неожиданный результат: remote iSCSI оказался не медленнее локального SSD.
Более того, одинаковое время наводит на мысль, что бутылочное горло - в источнике. Или где-то еще, но не в диске-приемнике.
Возможно, если бы в наборе файлов средний размер был бы поменьше, то было бы иначе, но и то не факт, SSD пишет быстро (почти упираясь в свое SATA2) только большими блоками, а на мелких всяко есть деградация.
К сожалению, тест SSD-SSD я проделал, когда стенд уже размонтировал, вытащив Myrinet и вставив Infiniband. Понятно, что нужен еще и тест с чем-то вроде поиска файла в относительно большом каталоге (компиляция или что-то вроде этого). На IB я это сделаю, если получу интересные результаты, то к Myrinet опять вернусь.

10G и Infiniband, windows 7, linux, myricom 10g, Разное

Previous post Next post
Up