Сборка Mini-ITX файл-сервера. Часть 5. Сравнение производительности SMB/CIFS. FreeNAS 0.69 vs Windows 7 beta.
Т.к. на протяжении уже нескольких дней меня волновал вопрос низкой производительность FreeNAS по сети (FTP, SMB/CIFS). Было решено все же измерить ее и понять, какая она. Ну и по возможности сравнить с другой системой. Для унификации результатов и их дальнейшего сопоставления был выбран тестовый пакет Intel NAS Performance Toolkit, обзор и описание которого можно прочитать тут (обзор на THG).
Для тестирования к уже существующей системе, установленной на IDE-накопитель, был подключен SATA диск Hitachi HDT722525DLA380. Через WebGUI диск был целиком отформатирован в файловую систему UFS+Soft Updates (по умолчанию), смонтирован и расшарен с помощью SMB/CIFS.
Чтобы минимизировать возможные влияния, на FreeNAS было отключено управление энергосбережением, выгружены демоны, самба настроена на максимальную производительность. Подключение было осуществлено кабелем точка-точка к настольному компу (Core i7 920 + MSI X58 Platinum), в дальнейшем, для моего удобства, тестирование проводилось с использованием коммутатора D-Link DGS-1005D.
Расшаренный ресурс был подключен к системе как сетевой диск, на нем программой были до начала тестирования размещены нужные файлы (режим Prepare) в количестве 3708 штук (в 164 папках) на общий объем под 8.2Гб. Был проведен один прогон теста при 1Гбит/сек подключении, и при 100Мбит/сек подключении. Полученные результаты меня несколько удивили и я решил провести те же замеры, но уже заменив FreeNAS 0.69 на Windows 7 beta. На D945GCLF2 была поставлена бета-версия ОС, подключен тот же самый диск, который был целиком отформатирован в NTFS.
Во-первых, хотелось бы отметить, что в случае подключения по каналу Fast Ethernet производительность очень даже приличная (в рамках 100Мбит канала), но до максимума канала не дотягивает. А в случае гигабитного подключения результаты плачевные. Для повышения производительности CIFS/SMB были применены все твики, указанные на офсайте - результат улучшился почти на 10%, и это при подключении через гигабитный свич (D-link DGS-1005D). Итоговая диаграмма производительности приведена ниже:
Прирост производительности при переходе на 1Gbit проиллюстрирован ниже:
В попытках разобраться в причинах потери производительности, где виновные, как мне кажется, сетевая карта либо дисковая подсистема, было осуществлено неоднократное копирование одного и того же файла с FreeNAS. Оказалось, что FreeNAS кэширует почти 700Мб в ОЗУ и при повторном чтении файла выдает его со скоростью около 42Мб/сек, что по сути и является максимальной скоростью, которую выдает данная плата под Windows 7. Правда, как только кэш "кончается", скорость опускается до 13-14Мб/сек. Возможно, это объясняет причины столь существенного отрыва FreeNAS в тесте Content Creation. При этом радует то, что нагрузка на процессор при копировании из кэша намного выше, чем нагрузка на процессор при копировании еще не прокешированного файла. Тот же опыт, но с использованием самбы показывает до 27Мб/сек, что, имхо, является максимальной скоростью, которую можно получить с этой OS по сети через CIFS/SMB.
Далее диск был переформатирован в ext2 -- в целом, результаты чуть ниже, чем у UFS до оптимизации. Для полноты эксперимента диск был переформатирован в FAT32 и для него были проведены те же тесты. Общую картину производительности различных файловых систем можно увидеть ниже:
Для тестов Windows 7 был дополнительно включен Hyper Threading, что дало ОС в сумме аж 4 "процессора". К сожалению, включение HT отрицательно сказывается на FreeNAS и она начинает работать очень нестабильно, потому, при тестировании FreeNAS его приходилось отключать. Прирост скорости от включения HT в Windows 7 не заметен при 100Mbit подключении, т.к. все "уперлось" в сетевой интерфейс, а вот при 1Gbit подключении прирост виден, и немалый:
Прирост скорости (в +%) от включения HT отражен на диаграмме:
Вместо заключения: FreeNAS показывает хорошую производительность на операциях записи множества мелких файлов, но вот в остальных дисциплинах очень сильно проигрывает Windows-системе. По всем признакам, это связано с низким быстродействием дисковой подсистемы и что с этим делать - мне пока не понятно. К тому же, встроенный torrent-клиент не умеет заполнять дисковое пространство для вновь скачанных файлов, из-за чего скорость доступа к ним может оказаться даже менее 2Мб/сек. С другой стороны, в случае 100Мбит подключения беспокоиться особо не о чем. И все же, более целесообразным мне кажется установка Linux-системы с отдельным torrent-клиентом, например, eBOX.
10 февраля, 2009 в 8:12
ну ты маньяк 😯
Ответить
dluciv Reply:
10 февраля, 2009 at 9:06
Маньяк-то маньяк, а как отучить ФС лениво выделять место, так и не придумал :).
Но тесты да, внушают.
Ответить
vasiliy Reply:
10 февраля, 2009 at 15:02
Не придумал 🙁 Помогай 🙂
Пока то, что я прочитал говорит о том, что это «фича» файловой системы, что позволяет ей экономно расходовать пространство… tune2fs еще можно поковырять, конечно, может там что есть, но не думаю, что это отразится на результатах тестов, т.к. тут файлы без фрагментации лежат и записаны заранее.
Кстати, на все тесты ушло около 4х часов, и большую часть времени они крутились в фоновом режиме. Диаграммы — в Excel 2007 за 10-20 минут делаются. Но результат того, имхо, стоил.
Ответить
dluciv Reply:
10 февраля, 2009 at 15:04
Кабы сам знал…
Проще всего, конечно, клиент пропатчить, но это хак и Workaround, а не решение…
Ответить
dluciv Reply:
11 февраля, 2009 at 8:04
Уместно было бы сделать виртуальную ФС поверх обычной, которая бы писала в файл при его создании.
В Линуксе через fuse это делается довольно легко, как в BSD — не знаю.
Ответить
11 февраля, 2009 в 12:40
Здравствуйте! Тоже собираюсь создать файл-сервер с использованием таких же материнской платы и дистрибутива, что и Вы. С интересом прочитал Ваши записи…
Основная задача сервера — выкачка и отдача торрентов из интернета 24/7, поэтому меня очень волнует проблема фрагментации при закачке в Transmission.
Между тем, я нашелинформацию о том, что данный баг был исправлен в версии 1.40, в то время как во FreeNAS 0/69 встроен Transmission 1.42.
Возможно ли, что Вы использовали устаревшую версию FreeNAS? Или досадный баг все же перекочевал Transmission 1.42?
Ответить
vasiliy Reply:
13 февраля, 2009 at 9:22
Используется 0.69 с интегрированным Transmission 1.42. Проблема, похоже, в том, что во FreeBSD нету функций, которыми разработчики transmission выделяют место:http://freebsd.monkey.org/freebsd-hackers/200811/msg00030.html
Логичнее было бы, имхо, сделать обычный write на весь размер файла, но для этого надо править исходный код.
Ответить
22 февраля, 2009 в 18:49
Вот странное дело, у меня на 100-мегабитной сетке копирование больших файлов по SMB от Freenas идет 6 мег/сек, а на Freenas — 8 мег/сек. Что и где подвинтить, чтобы не было этой разницы?
Ответить
Vasiliy Reply:
23 февраля, 2009 at 20:19
@Дмитрий, в настройках SMB/CIFS установлен буфер на 262К, там же включена передача большими блоками. Сейчас не могу точно посмотреть, но еще внизу на той же странице есть подсказка — что можно включить для оптимизации. Из предлагаемых опцие не советую включать режим постоянного опроса буфера сетевой карты — после его включения сеть не работает вообще.
А в целом, FreeNAS на запись работает пошустрее, чем на чтение. Еще имеет смысл посмотреть, когда на самом деле заканчивается запись, хотя бы по индикатору активности диска.
Ответить
11 июня, 2009 в 23:05
А можно подробнее, как сейчас с линуксом работает — шустрее?
Тоже озабочен сборкой домаашнего NASа..
Ответить
Vasiliy Reply:
12 июня, 2009 at 10:47
С линукс намного шустрее, чем со FreeNAS, но медленнее, чем с Windows 7 процентов на 10-20. Результаты измерений есть, может потом оформлю. Главное, что полученных скоростей теперь хватает для проигрывания Blue Ray образов по сети.
Ответить
11 июня, 2009 в 23:07
P.S. Я ставил ради интереса w2k8 сервер для сравнения — скорость по 100 Мбитной сети оказалась намного ниже, чем когда там стояла XP Home… 😀
Ответить
Vasiliy Reply:
12 июня, 2009 at 10:52
Имхо, возможно это логично — там QoS должен резервировать часть пропускной способности канала, а также производительность сетевой карты сильно зависит от загрузки процессора и реализации драйвера. Но вот намного медленнее все же быть не должно — 100Мбит много ресурсов не требуют при корректной реализации драйверов. Имеет смысл измерить для сравнения локальную дисковую производительность — может в этом проблемы, и проверить кэширование чтения/записи.
Ответить
21 июня, 2009 в 10:08
Василий, благодаря вам разобрался с шумом. Теперь софтовая часть.
Изначально хотелось сервер с максимально простым расшариванием и качалкой p2p. Поэтому поставил freeNAS. Теперь вот мучаюсь со скоростью. Через wi-fi роутер скорость не превышает 2Мбит/c в обоих направлениях. Такое ощущение, что это искусственное ограничение. В настройках симбы все по умолчанию. Может подскажете, что можно сделать?
Рассматриваю вариант поставить W7 RC. Но как в нем организовать простое управление шарой. Вы работаете через RDP в сочетании с mmc для управления шарами или ставили какую-нибудь оболочку?
Ответить
Vasiliy Reply:
21 июня, 2009 at 12:15
Низкая скорость WiFi скорее связана с драйвером по BSD, чем с самбой. В дуплексном режиме скорость может сильно падать — это особенность WiFi. Твики самбы есть на офсайте FreeNAS в форуме, но сильно ни ситацию не изменят и рассчитаны они для проводного подключения. Моя система уже несколько месяцев работает под Debian Lenny. Windows 7 был быстрее Debian, но второго тоже хватает для моих задач, в отличие от FreeNAS. Управление расшаренными папками в Windows можно делать через RDP, MMC (удаленно подключается тоже), через SSH (с помощью стороннего программного сервера под Win), и даже по telnet (net share… и т.п.).
Ответить
7 декабря, 2009 в 11:39
Intel NAS Perfomance Test 1.7.1 Сравниваю по «File copy to NAS»
Наш NAS на FreeBSD 7.2 с RAID 0+1 и 1Gb, без буфера и SW выдал 15.945MB/s. Для сравнения:
Windows 7 100Mbit, HT, без RAID 43,4Mb/s
Windows XP 100Mbit, NTFS, без RAID 23,3Mb/s
FreeNAS 1Gbit, BigBuffer, SW, без RAID 16,7MB/s
Qnap TS 409 Pro с RAID 0 14,4Mb/s
Maxtor Shared Storage II с RAID 0 12,3Mb/s
Maxtor Shared Storage II с RAID 1 11,5Mb/s
Windows 7 100Mbit, HT, без RAID 11,1Mb/s
Qnap TS 409 Pro с RAID 5 10,9Mb/s
Vox BlackFox с RAID 0 10,4Mb/s
Vox BlackFox с RAID 1 9,5Mb/s
FreeNAS 100Mbit, без RAID 9,0MB/s
Т.е. мы лучше тех NAS которые продаются в комп.магазинах, но хуже родных Win-хранилищ.
Ищем пути ускорения.
Ответить
Vasiliy Reply:
7 декабря, 2009 at 12:53
С RAID 0+1 логично, но на такой аппаратной базе должны быть совсем другие скорости. Ксати, невысокую относительную скорость Qnap 409 я сколонен объяснять тем, что он базируется на маломощном процессоре (Marvell SoC 88F5281 500MHz), силами которого помимо основных функций также реализуется RAID и обеспечивается работа сетевого адаптера. Но можно взять и Qnap на Intel Atom — там скорости совсем других порядков, как и цена. В случае с данной mini-ITX платой ограничивающим фактором, имхо, является встроенная сетевая карта, на которую и уходит большая часть ресурсов процессора. В целом, переход на Linux будет вполне оправдан.
Ответить
azimut Reply:
8 декабря, 2009 at 14:20
На нешифрованном загрузочном диске (соответственно, вне RAID):
File copy to NAS 39,3 MB/s
File copy from NAS 33,7 MB/s
Да, 1Gb — это гигабитный сетевой интерфейс NAS :
Intel PWLA8391GT PRO 10/100/1000Mbps PCI Gigabit Ethernet Adapter, OEM
Со стороны сервера NAS и клиента стоят такие сетевые карты и объеденены они шнурком 1м категории 5e.
Чёткий гигабит. iperf даёт в таких условиях 562Mb/s — реальная пропускная способность.
Ответить
Vasiliy Reply:
8 декабря, 2009 at 15:34
Указанные выше скорости тоже на FreeBSD получены? Если да, то мне интересно как такое можно повторить. Под Linux у меня приблизительно такие же скорости получаются.
Ответить
24 марта, 2010 в 23:52
Скажу так, не знаю что Вы там тестили, НО, я реально бекапил всю инфу с жосткого диска ФриНАСа через роутер на ПК с стабильной скоростью 57 000 Кбайт/с. Что как бы не вкладывается совсем в ваши рамки. Рейда нет.
Фринас (пень 4 3.2 Ггц, 1 гб ОЗУ 800 мгц, встроенный сетевой чип как у вашей мамки) FreeNAS-amd64-LiveCD-0.7.1.5065 —-> роутер ASUS RT-N16 —-> ПК с своеным сетевым чипом и винда 7.
Ответить
Vasiliy Reply:
25 марта, 2010 at 4:51
Что и как тестировалось написано в тексте. Как видно из комментариев, случай далеко не единичный. Вас с достигнутыми скоростями могу только поздравить, и, видимо, вызвана такая скорость значительной разницей в производительности процессора (который, как я писал выше, полностью загружен при работе сетевого адаптера) и более свежей версией самой системы.
Ответить
12 августа, 2010 в 13:22
Как файловый сервер FreeBSD (на которой основан FreeNAS) имеет право жить только в варианте 64-х бит с 2 или более Г оперативки — и обязательно в файловой системой ZFS….
А то, что используется у Вас — прошловековое.
Ответить
Vasiliy Reply:
12 августа, 2010 at 22:10
Вполне может быть, но вот тот же Linux и уж тем более Windows на этой же железке показывают намного более высокие результаты безо всяких ухищрений. 2Гб оперативки файловому серверу «для дома» совсем не нужны, на больших файлах все равно такой объем кеша не спасет, а при должном качестве драйверов загрузка процессора высокой также быть не должна. А х64 совершенно не нужен для таких задач. В итоге, еще тогда я отказался от ххBSD в пользу Linux, где, если почитать дальше мои записи, производительность более чем хорошая.
Ответить
24 сентября, 2010 в 14:08
FreeNAS 0.7.1 Shere (revision 5127)
i386-full на Intel(R) Pentium(R) 4 CPU 2.40GH
Гиг оперативы
1 винт под систему IDE ST340016A/3.19 — 40 Гигов
2 винта под данные IDE WDC WD2500AAJB-00J3A0/01.03E01 — по 250 гигов
Рейд контроллер promise fastrack 378 на IDE
Встроенная сетёвка
Сначала создал аппаратный рейд в виде чередования(stripe), разметил как UFS скорость записи на него была порядка 30 МБ/с при выполнении dd if=/dev/zero of=/mnt/ar0/test.bin count=50000 bs=32768 закачка по сети была порядка 12-15 метров при использовании самбы и порядка 25-28 при использовании брутального ftp.
После создал страйп на встроенном в материнку контроллере, скорость записи резко возросла до ~ 70 МБ/с, но скорость записи по сети не возросла, при этом проц грузится при использовании FTP около 80%, постепенно скорость записи по сети начинает падать, падает при этом и загрузка проца падает примерно до 30-35% и скорость записи устанавливается порядка 9-10 МБ/с. Писал файл размером 20 гигов, после записи примерно 5 гигов скорость упала и осталась стабильной. зы, гиг оперативы съедается секунд за 20-30.
Что буду пробовать: поставлю другую сетёвку, попробую потестировать скорость на 5ом рейде(аппаратном), попробую более мощную машину ну и конечно опробую сборку фринаса AMD64.
Ответить
29 сентября, 2010 в 22:56
копирование на диски фринаса 0.7.1, без рейда, 1гб памяти, мать какая-то самая дешевая асус все в одном с 8111с, сеть ГБ:
диск с нтфс (да, так надо 🙂 — 15-18 мб/сек
уфс+сф.апд — около 40 мб/сек.
Ответить
24 ноября, 2010 в 9:07
собрал хранилище на базе FreeNAS 0.7.2.5543
железо: Cel D 2.5GHz + DDR400 512mb + мать GA-8I915PL-G (гигабитная сеть встроенная)
винты 4хSeagate 1Тб 7200.12 SATA пока без рейда
На UFS скорость чтения 55 мегабайт/сек, запись чуть меньше.
На NTFS чтение 50, запись 45.
еще есть запас по процессору
завтра попробую рейд0 собрать…
Ответить
24 ноября, 2010 в 22:26
Не тестировали ли скорость iSCSI target? И как в сравнении с Openfiler на том же железе?
Ответить
VAFER Reply:
25 ноября, 2010 at 7:01
Лично у меня с OpenFiler-ом не сложилось 🙂
После установки не хотел добавлять диски.
Вообще сложилось впечатление, что скорость по локальной сети больше зависит от версии Самбы.
iSCSI пока не использую…
Ответить
21 апреля, 2011 в 19:12
А у меня вопрос такого характера:
Подготовился к сборке freenas. Подумал о будущей проблеме, при предоставлении другим пользователям «аккаунта», со свободным местом. В функциях есть ли возможность ограничения размера папки, к которой бы я предоставил доступ пользователю?
Вот очень интересно. Если допустим будет порядка 10 пользователей, а у тебя естественно ограниченно свободное место на freenas ёмкостью hdd. А свои задачи приоритетнее, чем задачи других 🙂 Вот выделить каждому пользователю по 10Gb и спать спокойно можно было б.
Ответить
Vasiliy Reply:
22 апреля, 2011 at 18:18
Ответить не смогу — перешел на Debian.
Ответить
Lirik Nivas Reply:
23 апреля, 2011 at 18:16
В чем причина? 0_о
Если не секрет…
Ответить
Vasiliy Reply:
23 апреля, 2011 at 19:43
В свое время, когда я его ковырял, итоговая скорость работы по гигабитной сети на мое плате оказалась совершенно несерьезная, 7ку пиратку ставить не хотелось, потому остановился на Debian 5. Прижился хорошо, но с некоторыми замечаниями. Сейчас ставлю опыты с Debian 6, он заметно быстрее против 5-го в части самбы.
Ответить
Lirik Nivas Reply:
25 апреля, 2011 at 10:03
Выберу выходной — потесчу 🙂 Найду ответ укажу в комменте.
Ответить
vmsh Reply:
7 декабря, 2011 at 19:26
Уважаемые! Спасайте! На чем остановиться. Все готовые NAS блоки (на 2 диска) имеют проц. 1,8 Гц + память 1Гб. Очень хочется выжать из файлового сервера по максимуму — (загрузка в оперативку около 10 000 текстовых файлов по 5-20 кб). Выбрал 2,8 Гц при 2х2Гб память (знаю xp видит только 3), да еще готов SSD влепить (500 мб/с) для базы и HDD для резервного, сеть Гбитная, а какую систему поставить? на всякий случайvm17@list.ru .
Ответить
6 июля, 2022 в 13:00
Hmm it looks like your blog ate my first comment (it was super long)
so I guess I’ll just sum it up what I submitted and say,
I’m thoroughly enjoying your blog. I too am an aspiring blog blogger but I’m
still new to everything. Do you have any recommendations for first-time blog writers?
I’d definitely appreciate it.
Ответить
8 августа, 2022 в 18:04
Thanks so much for giving everyone an extremely terrific opportunity to read critical reviews from here. It’s always very ideal and as well , stuffed with a great time for me and my office colleagues to visit your web site no less than thrice in a week to find out the latest guides you have got. And indeed, I’m actually fulfilled considering the beautiful information you give. Certain 1 facts in this posting are honestly the best we’ve ever had.
Ответить
27 февраля, 2023 в 10:33
I have been surfing online more than 3 hours today, yet I never found any interesting article like yours. It is pretty worth enough for me. In my opinion, if all web owners and bloggers made good content as you did, the internet will be much more useful than ever before
Ответить
4 марта, 2023 в 8:15
Very good web page, thank oneself for the exciting material for guaranteed I am going to be back.
Ответить
2 июня, 2023 в 19:38
I really appreciate this post. I¡¦ve been looking all over for this! Thank goodness I found it on Bing. You have made my day! Thank you again
Ответить