Фев 10

Т.к. на протяжении уже нескольких дней меня волновал вопрос  низкой производительность 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). Итоговая диаграмма производительности приведена ниже:

Intel NAS Performance Toolkit, Windows 7 vs FreeNAS 0.69, D945GCLF2

Прирост производительности при переходе на 1Gbit проиллюстрирован ниже:

Intel NAS Performance Toolkit, Fast Ethernet and Gigabit Ethernet, D945GCLF2

В попытках разобраться в причинах потери производительности, где виновные, как мне кажется, сетевая карта либо дисковая подсистема, было осуществлено неоднократное копирование одного и того же файла с FreeNAS. Оказалось, что FreeNAS кэширует почти 700Мб в ОЗУ и при повторном чтении файла выдает его со скоростью около 42Мб/сек, что по сути и является максимальной скоростью, которую выдает данная плата под Windows 7. Правда, как только кэш "кончается", скорость опускается до 13-14Мб/сек. Возможно, это объясняет причины столь существенного отрыва FreeNAS в тесте Content Creation. При этом радует то, что нагрузка на процессор при копировании из кэша намного выше, чем нагрузка на процессор при копировании еще не прокешированного файла. Тот же опыт, но с использованием самбы показывает до 27Мб/сек, что, имхо, является максимальной скоростью, которую можно получить с этой OS по сети через CIFS/SMB.

Далее диск был переформатирован в ext2 -- в целом, результаты чуть ниже, чем у UFS до оптимизации. Для полноты эксперимента диск был переформатирован в FAT32 и для него были проведены те же тесты. Общую картину производительности различных файловых систем можно увидеть ниже:

Intel NAS Performance Toolkit, FreeNAS 0.69, UFS, EXT2, FAT32, D945GCLF2

Для тестов Windows 7 был дополнительно включен Hyper Threading, что дало ОС в сумме аж 4 "процессора". К сожалению, включение HT отрицательно сказывается на FreeNAS и она начинает работать очень нестабильно, потому, при тестировании FreeNAS его приходилось отключать. Прирост скорости от включения HT в Windows 7 не заметен при 100Mbit подключении, т.к. все "уперлось" в сетевой интерфейс, а вот при 1Gbit подключении прирост виден, и немалый:

Прирост скорости (в +%) от включения HT отражен на диаграмме:

Intel NAS Performance Toolkit, Windows 7, D945GCLF2, Hyper Threading and LAN performance increase %

Вместо заключения: FreeNAS показывает хорошую производительность на операциях записи множества мелких файлов, но вот в остальных дисциплинах очень сильно проигрывает Windows-системе. По всем признакам, это связано с низким быстродействием дисковой подсистемы и что с этим делать - мне пока не понятно. К тому же, встроенный torrent-клиент не умеет заполнять дисковое пространство для вновь скачанных файлов, из-за чего скорость доступа к ним может оказаться даже менее 2Мб/сек. С другой стороны, в случае 100Мбит подключения беспокоиться особо не о чем. И все же, более целесообразным мне кажется установка Linux-системы с отдельным torrent-клиентом, например, eBOX.

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Автор: Vasiliy \\ Метки: , , , , , ,


34 комментария к “Сборка Mini-ITX файл-сервера. Часть 5. Сравнение производительности SMB/CIFS. FreeNAS 0.69 vs Windows 7 beta.”

  1. 1. theodosius пишет:

    ну ты маньяк 😯

    Ответить

    dluciv Reply:

    Маньяк-то маньяк, а как отучить ФС лениво выделять место, так и не придумал :).
    Но тесты да, внушают.

    Ответить

    vasiliy Reply:

    Не придумал 🙁 Помогай 🙂
    Пока то, что я прочитал говорит о том, что это «фича» файловой системы, что позволяет ей экономно расходовать пространство… tune2fs еще можно поковырять, конечно, может там что есть, но не думаю, что это отразится на результатах тестов, т.к. тут файлы без фрагментации лежат и записаны заранее.
    Кстати, на все тесты ушло около 4х часов, и большую часть времени они крутились в фоновом режиме. Диаграммы — в Excel 2007 за 10-20 минут делаются. Но результат того, имхо, стоил.

    Ответить

    dluciv Reply:

    Не придумал 🙁 Помогай 🙂
    Кабы сам знал…
    Проще всего, конечно, клиент пропатчить, но это хак и Workaround, а не решение…

    Ответить

    dluciv Reply:

    Уместно было бы сделать виртуальную ФС поверх обычной, которая бы писала в файл при его создании.

    В Линуксе через fuse это делается довольно легко, как в BSD — не знаю.

    Ответить

  2. 2. Аноним пишет:

    Здравствуйте! Тоже собираюсь создать файл-сервер с использованием таких же материнской платы и дистрибутива, что и Вы. С интересом прочитал Ваши записи…

    Основная задача сервера — выкачка и отдача торрентов из интернета 24/7, поэтому меня очень волнует проблема фрагментации при закачке в Transmission.

    Между тем, я нашел информацию о том, что данный баг был исправлен в версии 1.40, в то время как во FreeNAS 0/69 встроен Transmission 1.42.
    Возможно ли, что Вы использовали устаревшую версию FreeNAS? Или досадный баг все же перекочевал Transmission 1.42?

    Ответить

    vasiliy Reply:

    Используется 0.69 с интегрированным Transmission 1.42. Проблема, похоже, в том, что во FreeBSD нету функций, которыми разработчики transmission выделяют место: http://freebsd.monkey.org/freebsd-hackers/200811/msg00030.html
    Логичнее было бы, имхо, сделать обычный write на весь размер файла, но для этого надо править исходный код.

    Ответить

  3. 3. Дмитрий пишет:

    Вот странное дело, у меня на 100-мегабитной сетке копирование больших файлов по SMB от Freenas идет 6 мег/сек, а на Freenas — 8 мег/сек. Что и где подвинтить, чтобы не было этой разницы?

    Ответить

    Vasiliy Reply:

    @Дмитрий, в настройках SMB/CIFS установлен буфер на 262К, там же включена передача большими блоками. Сейчас не могу точно посмотреть, но еще внизу на той же странице есть подсказка — что можно включить для оптимизации. Из предлагаемых опцие не советую включать режим постоянного опроса буфера сетевой карты — после его включения сеть не работает вообще.
    А в целом, FreeNAS на запись работает пошустрее, чем на чтение. Еще имеет смысл посмотреть, когда на самом деле заканчивается запись, хотя бы по индикатору активности диска.

    Ответить

  4. 4. Дмитрий пишет:

    А можно подробнее, как сейчас с линуксом работает — шустрее?

    Тоже озабочен сборкой домаашнего NASа..

    Ответить

    Vasiliy Reply:

    С линукс намного шустрее, чем со FreeNAS, но медленнее, чем с Windows 7 процентов на 10-20. Результаты измерений есть, может потом оформлю. Главное, что полученных скоростей теперь хватает для проигрывания Blue Ray образов по сети.

    Ответить

  5. 5. Дмитрий пишет:

    P.S. Я ставил ради интереса w2k8 сервер для сравнения — скорость по 100 Мбитной сети оказалась намного ниже, чем когда там стояла XP Home… 😀

    Ответить

    Vasiliy Reply:

    Имхо, возможно это логично — там QoS должен резервировать часть пропускной способности канала, а также производительность сетевой карты сильно зависит от загрузки процессора и реализации драйвера. Но вот намного медленнее все же быть не должно — 100Мбит много ресурсов не требуют при корректной реализации драйверов. Имеет смысл измерить для сравнения локальную дисковую производительность — может в этом проблемы, и проверить кэширование чтения/записи.

    Ответить

  6. 6. p_reg пишет:

    Василий, благодаря вам разобрался с шумом. Теперь софтовая часть.
    Изначально хотелось сервер с максимально простым расшариванием и качалкой p2p. Поэтому поставил freeNAS. Теперь вот мучаюсь со скоростью. Через wi-fi роутер скорость не превышает 2Мбит/c в обоих направлениях. Такое ощущение, что это искусственное ограничение. В настройках симбы все по умолчанию. Может подскажете, что можно сделать?
    Рассматриваю вариант поставить W7 RC. Но как в нем организовать простое управление шарой. Вы работаете через RDP в сочетании с mmc для управления шарами или ставили какую-нибудь оболочку?

    Ответить

    Vasiliy Reply:

    Низкая скорость WiFi скорее связана с драйвером по BSD, чем с самбой. В дуплексном режиме скорость может сильно падать — это особенность WiFi. Твики самбы есть на офсайте FreeNAS в форуме, но сильно ни ситацию не изменят и рассчитаны они для проводного подключения. Моя система уже несколько месяцев работает под Debian Lenny. Windows 7 был быстрее Debian, но второго тоже хватает для моих задач, в отличие от FreeNAS. Управление расшаренными папками в Windows можно делать через RDP, MMC (удаленно подключается тоже), через SSH (с помощью стороннего программного сервера под Win), и даже по telnet (net share… и т.п.).

    Ответить

  7. 7. azimut пишет:

    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:

    С RAID 0+1 логично, но на такой аппаратной базе должны быть совсем другие скорости. Ксати, невысокую относительную скорость Qnap 409 я сколонен объяснять тем, что он базируется на маломощном процессоре (Marvell SoC 88F5281 500MHz), силами которого помимо основных функций также реализуется RAID и обеспечивается работа сетевого адаптера. Но можно взять и Qnap на Intel Atom — там скорости совсем других порядков, как и цена. В случае с данной mini-ITX платой ограничивающим фактором, имхо, является встроенная сетевая карта, на которую и уходит большая часть ресурсов процессора. В целом, переход на Linux будет вполне оправдан.

    Ответить

    azimut Reply:

    На нешифрованном загрузочном диске (соответственно, вне 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:

    Указанные выше скорости тоже на FreeBSD получены? Если да, то мне интересно как такое можно повторить. Под Linux у меня приблизительно такие же скорости получаются.

    Ответить

  8. 8. Виталий пишет:

    Скажу так, не знаю что Вы там тестили, НО, я реально бекапил всю инфу с жосткого диска ФриНАСа через роутер на ПК с стабильной скоростью 57 000 Кбайт/с. Что как бы не вкладывается совсем в ваши рамки. Рейда нет.
    Фринас (пень 4 3.2 Ггц, 1 гб ОЗУ 800 мгц, встроенный сетевой чип как у вашей мамки) FreeNAS-amd64-LiveCD-0.7.1.5065 —-> роутер ASUS RT-N16 —-> ПК с своеным сетевым чипом и винда 7.

    Ответить

    Vasiliy Reply:

    Что и как тестировалось написано в тексте. Как видно из комментариев, случай далеко не единичный. Вас с достигнутыми скоростями могу только поздравить, и, видимо, вызвана такая скорость значительной разницей в производительности процессора (который, как я писал выше, полностью загружен при работе сетевого адаптера) и более свежей версией самой системы.

    Ответить

  9. 9. Амрозий Пеперепелицын пишет:

    Как файловый сервер FreeBSD (на которой основан FreeNAS) имеет право жить только в варианте 64-х бит с 2 или более Г оперативки — и обязательно в файловой системой ZFS….
    А то, что используется у Вас — прошловековое.

    Ответить

    Vasiliy Reply:

    Вполне может быть, но вот тот же Linux и уж тем более Windows на этой же железке показывают намного более высокие результаты безо всяких ухищрений. 2Гб оперативки файловому серверу «для дома» совсем не нужны, на больших файлах все равно такой объем кеша не спасет, а при должном качестве драйверов загрузка процессора высокой также быть не должна. А х64 совершенно не нужен для таких задач. В итоге, еще тогда я отказался от ххBSD в пользу Linux, где, если почитать дальше мои записи, производительность более чем хорошая.

    Ответить

  10. 10. setw пишет:

    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.

    Ответить

  11. 11. r251 пишет:

    копирование на диски фринаса 0.7.1, без рейда, 1гб памяти, мать какая-то самая дешевая асус все в одном с 8111с, сеть ГБ:
    диск с нтфс (да, так надо 🙂 — 15-18 мб/сек
    уфс+сф.апд — около 40 мб/сек.

    Ответить

  12. 12. VAFER пишет:

    собрал хранилище на базе 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 собрать…

    Ответить

  13. 13. Dmitriy пишет:

    Не тестировали ли скорость iSCSI target? И как в сравнении с Openfiler на том же железе?

    Ответить

    VAFER Reply:

    Лично у меня с OpenFiler-ом не сложилось 🙂
    После установки не хотел добавлять диски.
    Вообще сложилось впечатление, что скорость по локальной сети больше зависит от версии Самбы.

    iSCSI пока не использую…

    Ответить

  14. 14. Lirik Nivas пишет:

    А у меня вопрос такого характера:
    Подготовился к сборке freenas. Подумал о будущей проблеме, при предоставлении другим пользователям «аккаунта», со свободным местом. В функциях есть ли возможность ограничения размера папки, к которой бы я предоставил доступ пользователю?
    Вот очень интересно. Если допустим будет порядка 10 пользователей, а у тебя естественно ограниченно свободное место на freenas ёмкостью hdd. А свои задачи приоритетнее, чем задачи других 🙂 Вот выделить каждому пользователю по 10Gb и спать спокойно можно было б.

    Ответить

    Vasiliy Reply:

    Ответить не смогу — перешел на Debian.

    Ответить

    Lirik Nivas Reply:

    В чем причина? 0_о
    Если не секрет…

    Ответить

    Vasiliy Reply:

    В свое время, когда я его ковырял, итоговая скорость работы по гигабитной сети на мое плате оказалась совершенно несерьезная, 7ку пиратку ставить не хотелось, потому остановился на Debian 5. Прижился хорошо, но с некоторыми замечаниями. Сейчас ставлю опыты с Debian 6, он заметно быстрее против 5-го в части самбы.

    Ответить

    Lirik Nivas Reply:

    Выберу выходной — потесчу 🙂 Найду ответ укажу в комменте.

    Ответить

    vmsh Reply:

    Уважаемые! Спасайте! На чем остановиться. Все готовые NAS блоки (на 2 диска) имеют проц. 1,8 Гц + память 1Гб. Очень хочется выжать из файлового сервера по максимуму — (загрузка в оперативку около 10 000 текстовых файлов по 5-20 кб). Выбрал 2,8 Гц при 2х2Гб память (знаю xp видит только 3), да еще готов SSD влепить (500 мб/с) для базы и HDD для резервного, сеть Гбитная, а какую систему поставить? на всякий случай vm17@list.ru.

    Ответить

Оставьте комментарий или два

SEO Powered by Platinum SEO from Techblissonline