Продуктивність NAS: NFS vs Samba vs GlusterFS


31

Я планую свою нову інфраструктуру спільного зберігання для невеликої ферми веб-серверів. Тому я провів багато тестів з великою кількістю файлових систем NAS. Тим самим я отримав кілька несподіваних результатів і хотів би знати, чи може хтось тут це підтвердити.

Коротше кажучи: Samba набагато швидше, ніж NFS та GlusterFS для записів невеликих файлів.

Ось, що я зробив: я запустив простий "орієнтир rsync" з великою кількістю файлів для порівняння продуктивності запису для невеликих файлів. Для легшого відтворення я повторно запустив його із вмістом поточного wordpress tar.gz.

  • GlusterFS повторювався 2: 32-35 секунд , велике навантаження процесора
  • GlusterFS одиночний: 14-16 секунд , велике навантаження процесора
  • GlusterFS + NFS-клієнт: 16-19 секунд , велике завантаження процесора
  • Сервер ядра NFS + клієнт NFS (синхронізація): 32-36 секунд , дуже низьке завантаження процесора
  • Сервер ядра NFS + клієнт NFS (async): 3-4 секунди , дуже низьке завантаження процесора
  • Samba: 4-7 секунд , середнє завантаження процесора
  • Прямий диск: <1 секунда

У мене абсолютно немає гуру самби (я думаю, мій останній контакт був з samba 2.x), тому я тут нічого не оптимізував - просто вийшов з конфігурації (пакунок debian / сжати). Єдине, що я додав "синхронізувати завжди = так", який повинен забезпечити синхронізацію після запису (але бачачи ці результати ..). Без нього тести, де приблизно на 1-2 секунди швидше.

Всі тести, які виконуються на одній машині (самостійно встановлений експорт NAS), тому відсутність затримок у мережі - чиста протокольна робота.

Бічний вузол: як файлова система я використовував ext4 та xfs. Наведені вище результати з ext4. xfs краще на 40% (менше часу). Машини є EC2 m1.small екземпляри. Експорт NAS здійснюється на томах EBS, джерела (видобутий дьоготь) на ефемерному диску.

Тож ми підемо: чи може хтось пояснити мені, чому самба так швидше?

Також: Чи має бути продуктивність NFS з сервером ядра такою жахливою (перевершує її сервер GlusterFS NFS) в режимі синхронізації? Будь-яка ідея, як це налаштувати?

Дякую, L


Забув: Заходи NFS - найкраща пара, де я розігрувався з rsize, wsize, noatime, noac, udp vs tcp тощо.
Лінус Ардберк

3
+1 для досліджень та орієнтирів!
Bigbio2002

1
Ми спостерігали однакові відмінності в роботі CIFS проти NFS під час розробки та тестування SoftNAS. Я можу підтвердити, що асинхронізація NFS набагато швидша, ніж синхронізація NFS, і Samba перевершує NFS для орієнтирів, які ми виконували, використовуючи програмне забезпечення для ATTO.

3
До речі, ви перезавантажували кожну машину між тестами, щоб очистити кеш зчитування диска?
Метт

Відповіді:


5

Ми широко використовуємо Samba, і я завжди вважаю, що це майже швидше, ніж NFS майже у всіх випадках (і я кажу лише майже тому, що я їх недостатньо порівняв).

З того, що я бачив після декількох захоплень пакетів, протокол SMB може бути балакучим, але остання версія Samba реалізує SMB2, який може видавати декілька команд одним пакетом, і видавати кілька команд, очікуючи ACK з останнього команда повернутися. Це значно покращило її швидкість, принаймні з мого досвіду, і я знаю, що я був шокований, коли вперше побачив різницю швидкостей - Виправлення неполадок у мережевих швидкостях - Запит віку

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.