10G дома: Myricom + Samba
Продолжаем развлекаться с 10G. Сначала картинка, чтобы было веселее. Это копирование с локального диска на "NAS"

Рассказываю по порядку.
У меня в NAS стоит 4 штуки медленных WD Caviar Green в RAIDZ (и еще парочка - в другом массиве), ожидать от них, что они смогут насытить 10G или, хотя бы, близко подойти к какому-то ограничению на десятке - смешно. Удвоение скорости на практике меня временно устроит, потом подгоним еще дисков и все переразметим, но тестировать хочется в более санитарных условиях.
Начальный сетап
А значит беру линуксовую машину (i7-920, 12GB RAM), диски там еще медленнее, но можно сделать рамдиск на 8GB. Делаю, mkfs.ext4, раздаю его самбой и получаю такое (естественно, со второго раза, чтобы источник оказался в кэше):

С копированием кучки мелких файлов (исходники Qt) все грустнее, причем даже просто на взгляд.
Atto Disk Benchmark показывает такую вот картинку:

Для сравнения, вот так ведет себя локальный массив:

Настройки самбы
Увидев у Самбы провал после 32k, бью себя по лбу и донастраиваю самбу:read raw = yes
read size = 65536
socket options = TCP_NODELAY SO_RCVBUF=262144 SO_SNDBUF=262144

На больших блоках (начиная с 32k) все улучшилось, на мелких - ничего не изменилось. А простое копирование большого файла - дает картинку с которой начался пост. Она, конечно, лукавая, 800+ там сначала, а сходится все в районе 600Mb/sec, но и это очень неплохо.
Что делать с мелкими файлами - непонятно, все упирается, очевидно, в RTT. Каких-то разумных вариантов с самбой не вижу, дальше буду пробовать iSCSI.
P.S. MTU у карты 9000, других настроек не делал, хотя их там довольно много.
Comments
упирается, разумеется, не только в rtt, но и в fsync (или fc
упирается, разумеется, не только в rtt, но и в fsync (или fclose).
rsync попробуй забавы ради.
Ну ты понимаешь, на ramdrive fsync происходит за какое-то ис
Ну ты понимаешь, на ramdrive fsync происходит за какое-то исчезающее время. А вот сообщить что он прошел - требует RTT.
Да, про mfs я забыл. Тем более попробуй rsync -- вроде как
Да, про mfs я забыл.
Тем более попробуй rsync -- вроде как с третьего протокола flush/close у него async
У меня в виндовом rsync трапается ssh.exe. Понятно, можно
У меня в виндовом rsync трапается ssh.exe.
Понятно, можно кабеля перекинуть в юниксную машину, или как тут советуют, live ubuntu, и посмотреть. Но это даст мне скоростя Unix-Unix.
А вопрос, который я изучаю - это можно ли вынести HDD вообще из корпуса рабочей станции в другой ящик. И ответ на него - "ну, скорее да, но рабочие файлы точно придется оставить" (т.е. полтерабайта SSD вынь да положь).
Да, некрасивенько. Попробуй ещё iSCSI с глубиной очереди 16-
Да, некрасивенько. Попробуй ещё iSCSI с глубиной очереди 16-32, но не факт что будет лучше.
А NFS не вариант?
А NFS не вариант?
По моим детским впечатлениям, NFS медленнее самбы. Попробую,
По моим детским впечатлениям, NFS медленнее самбы. Попробую, конечно, в Win7 (для которой мне все и надо) клиент есть в комплекте.
У меня на десятке NFS из коробки был быстрее самбы и намного
У меня на десятке NFS из коробки был быстрее самбы и намного. Потом я как-то долго самбу пилил и таки допилил. У меня правда кругом были линуксы кроме нескольких виндовых клиентов.
У меня виндовый клиент. По атто - получается раза в 4 медлен
У меня виндовый клиент. По атто - получается раза в 4 медленнее (я знаю, что атто - плохая бенчмарка), по копированию больших файлов - тоже, на мелких файлах - примерно как самба, на глазок (при том что по ATTO мелкие файлы тоже медленнее, ну да бенчмарка так себе)
Но я совершенно не умею готовить NFS, вообще никак. Ну то есть rsize=32 wsize=32 (в винде в килобайтах задается) nolock, а на сервере rw,async. Больше ничего придумать не сумел.
Winda это винда, Linux это линукс. Все может оказаться по ра
Winda это винда, Linux это линукс. Все может оказаться по разному.
Из интереса померил прокачку большого файла у себя Linux -- Linux.
Ничего не тюнил, все с одного пинка из коробки как завелось, так и использую.
scp - 19.4 Mb/сек
samba - 22.4 Mb/сек
nfs - 49.3 Mb/сек
Ну у меня то с самбы (FreeBSD) на винду - больше 100. Тоже п
Ну у меня то с самбы (FreeBSD) на винду - больше 100. Тоже по гигабиту. И туда и сюда - в обе стороны насыщается ether.
Да, NFS tuning, увы, сильно зависит от совокупности клиент-с
Да, NFS tuning, увы, сильно зависит от совокупности клиент-сервер.
Хуже всего с ESXi client, он принудительно синхронный, скотина :(
В win7 всё плохо, для тестирования можно к-л http://ubuntu-r
В win7 всё плохо, для тестирования можно к-л http://ubuntu-rescue-remix.org/files/URR/iso/UbuntuRescueRemix1104.iso на флешку зажарить и nfsv4 согласно http://www.cyberciti.biz/faq/linux-unix-tuning-nfs-server-client-perform...
Ну на практике у меня же будет виндовый клиент основной. Зна
Ну на практике у меня же будет виндовый клиент основной. Значит им и надо тестировать.
можно ещё попробовать
можно ещё попробовать передать файл по netcat'у, просто для интереса.
Интересно, что я про ATTO
Интересно, что я про ATTO никогда не слышал... Ну там Areca, LSI, HighPoint -- а про ATTO -- нет... К чему бы это?
У меня был такой контроллер:
У меня был такой контроллер: http://blog.lexa.ru/2008/11/30/atto_vs_areca.html
И справлялся он неплохо, особенно с учетом цены. Но в какой-то момент он сдох и выяснилось, что купить замену в Мск можно только "под заказ, поставка два месяца (или один, не суть".
После чего я купил Адаптек, ибо для них замена покупается в тот же день (а держать запасной для дома - ну как-то перебор)
Хм. А мне этот бенчмарк не
Хм. А мне этот бенчмарк не даёт выбрать сетевой диск :-[ ]
Может от версии зависит? У
Может от версии зависит? У меня 2.34, все смонтированные буквы дисков - видит. И NFS и SMB.
Ну, я пошёл на сайт и скачал
Ну, я пошёл на сайт и скачал -- дали мне 2.47. Видит только NTFS и даже CD-ROM (Никак не уберу его из системника), на смонтированные X, Y, Z не видит...
Не выложишь свою?
Покопался в download history.
Покопался в download history. Я вчера взял отсюда вот: http://sburke.eu/blog/wp-content/uploads/2011/04/bench32.exe
По ссылке отсюда: http://sburke.eu/blog/2011/04/quick-disk-benchmark-for-windows/
Но прямо в эту секунду они лежать изволят.
Уже не лежат. Результаты,
Бенчмарка кривая, но при этом
Бенчмарка кривая, но при этом популярная.
Надо понимать что она делает - она создает файл в 256M (или сколько попросишь) и разной длиной блока по нему елозит.
И это отражает что-то. И как-то.
Вот в том-то и дело, что
Вот в том-то и дело, что что-то и как-то. Например, там есть галка Direct I/O, но в 7-ой винде так перепахали многоуровневое кеширование файлов, что не факт, что программа 2006 года справилась всё отключить.
Т.е. очень хочется кричать
Т.е. очень хочется кричать ``ура'' b что у меня насыщен гигабит -- но, во-первых, его реально из-за кривости контроллеров на обоих концах (Intel LOM на сервере и вообще Atheros на клиенте) не насыщает даже iperf, а, во-вторых, ГДЕ ЭТА СКОРОСТЬ В РЕАЛЬНОЙ ЖИЗНИ?!
В моей реальной жизни - как
В моей реальной жизни - как видишь по картинкам в посте - оно врет ну процентов на 10-20.
А что у тебя реальная жизнь?
А что у тебя реальная жизнь? У меня типичная задача, в которой видно скорость -- это копировать туда-сюда файлы. И там получается вдвое медленней (30-45Mb/s).
Скорость открытия файлов фотошопом прямо с сети оценить сложно, он и на локальном диске иногда тупит.
У меня реальная жизнь вчера -
У меня реальная жизнь вчера - по показаниям винды - 600+ Mb/sec копирования одного большого файла по самбе. А бенчмарка эта намеряла ~700-780 на запись.
А пока самбу не потюнил - файл копировался со скоростью ~400 и бенчмарка показывала столько же.
А мелкие файлы - едут медленно (винда скорость не показала, но Qt покопировался несколько минут и я это безобразие прервал, а там всего-то гигов 5 т.е. должно было мухой пролететь).
И то же самое показывает бенчмарка.
Не, она может врать в деталях, но порядок величины там разумный.
Копировать же виндой ужасно
Копировать же виндой ужасно неудобно! :))))
Дело вкуса, конечно...
Виндой неудобно, а Far-ом -
Виндой неудобно, а Far-ом - медленно. Заметно медленнее (и всякие Advanced copy на сети не спасают).
Поэтому если немножко - то Far, а если вдруг что-то большое, то винда.
В таких случаях, бывает
В таких случаях, бывает неплохо FARу поставить галку
Use system copy routine
Второй запуск в тех же
В общем, кажется, этот бенчмарк почти ни о чём на высоких скоростях. А Intel NAS Test toolkit не работает на 64-х битных OS, а I/O Mark или как его там не бывает под FreeBSD и вообще он шибко умный какой-то и я в нём не разобрался.
Ну то есть надо понимать, что
Ну то есть надо понимать, что это гигабитаня сеть. И 111848MB/s -- это как-то немножко черезчур, как мне кажется.
А где у тебя Mb/s? Я вижу там
А где у тебя Mb/s? Я вижу там Kb/s, а мегабайт, соответственно, 111.
Да, это я просто описался --
Да, это я просто описался -- конечно, 111MB/s. Но всё равно это как-то больше чем должно быть на гигабите, нет?
А MTU какое? Оверхед
А MTU какое?
Оверхед TCP+Ether - байтов ну допустим 60 или 80, я забыл уже сколько.
Это, соответственно, меньше 1% для MTU 9000 и ~4% для MTU 1500.
1Gbit/s - это 125 десятичных мегабайт в секунду, после вычитания оверхеда остается 120.
а у тебя ~112000 по 1024 т.е. чуть меньше 115 десятичных мб/с
MTU1500, так как у Atheros
MTU1500, так как у Atheros максимум 7Kb, и ладно бы 7Kb, но после нескольких часов работы в таком режиме ему отрывает крышу и он начинает дропать половину фреймов.
А какие там мегабайты -- десятичные или нет -- не ясно ;-)
Ну 111700 - это килобайты,
Ну 111700 - это килобайты, туда-сюда 2.5%.
iSCSI
Очень интересно, как заработает iSCSI. И правильно ли я понял, что IB интереснее относительно Myricom? Т.к. имеет меньшее время отклика, и, соответственно, быстрее на мелких блоках?
iSCSI на Myrinet заработал
iSCSI на Myrinet заработал неплохо, сегодня будет отчет.
Отчет про IB будет позднее (у меня дефицит слотов, поэтому надо одни карты вынимать, другие вставлять...)
И вот он:
И вот он: http://blog.lexa.ru/2012/02/23/10g_doma_myricom_windows_smb_iscsi.html