Если вы пользователь Mac, вам может быть интересно, какой протокол обмена файлами обеспечивает наилучшую производительность при использовании сетевого устройства хранения данных (NAS), такого как Synology, или устройства NAS/Thunderbolt over Ethernet, такого как КНАП. Поскольку macOS позволяет выбирать между протоколами AFP, NFS, SMB и CIFS, иногда бывает сложно сделать правильный выбор, особенно если учесть, что некоторые из этих протоколов имеют разные версии, которые могут работать по-разному. Добавьте к этому тот факт, что сама macOS может вести себя по-разному в зависимости от того, какую версию вы используете, и это может быстро раздражать многих фотографов, которые просто пытаются максимально эффективно использовать свое оборудование.
В настоящее время я проверяю другое устройство QNAP и решил протестировать все эти протоколы на последней версии macOS Mojave 10.14.3 на моем iMac Pro со встроенным соединением 10 GbE. Устройство QNAP с 4 отсеками предлагает как Thunderbolt over Ethernet, так и варианты подключения 10 GbE, поэтому я протестировал оба варианта, хотя оказалось, что Thunderbolt обеспечивает более высокую общую производительность, поэтому я решил использовать его вместо 10 GbE. Чтобы убедиться, что устройство QNAP с 4 отсеками работает с максимальным потенциалом, я использовал быстрые диски WD Red со скоростью 7200 об/мин, настроенные в конфигурации RAID 0. Анализатор файловой системы в составе QNAP Diagnostic Tool показал, что потенциальная скорость чтения тома составляет примерно 680 МБ/с и скорость записи 570 МБ/с, что вполне прилично для четырех дисков в конфигурации RAID 0 (при этом каждый диск потенциально способен выполнять до 180-190 МБ/сек, по данным HDD Analyser). На iMac Pro ничего не изменилось с точки зрения конфигурации, по умолчанию используются файлы /etc/nfs.conf, /etc/nsmb.conf и /etc/sysctl.conf (если вы используете более старую версию macOS, вам следует отредактировать /etc/nsmb.conf и обязательно добавьте в файл «signing_required=no», иначе скорость передачи данных по протоколу SMB сильно ухудшится).
Чтобы убедиться, что мои данные более точны, а не просто локализованы в одной системе NAS, я также провел аналогичный тест на NAS Synology DS1817+ с 8 отсеками и возможностью подключения 10 Гбит, который я рассматривал в прошлом году. Диски Synology имеют конфигурацию RAID 6 и используют диски HGST емкостью 6 ТБ со скоростью вращения 7200 об/мин. Поскольку Synology DS1817+ не имеет соединения Thunderbolt, все тесты проводились в сети 10 Гбит. Чтобы убедиться, что я могу получить максимально возможную скорость сети, iMac Pro, Synology DS1817+, а также сетевой коммутатор 10 GbE были настроены на 9000 кадров MTU Jumbo. Давайте сделаем краткий обзор каждого протокола обмена файлами, а затем сразу же приступим к сравнениям и выводам.
Что такое ОВП?
AFP, что означает Apple Filing Protocol, представляет собой собственный сетевой протокол, разработанный как часть операционной системы Mac. Первоначально он был известен как AppleTalk, но позже был изменен и переименован в AFP. Поскольку он является родным для macOS, он является наиболее совместимым и многофункциональным среди всех поддерживаемых сетевых протоколов. Он имеет встроенную поддержку поиска Spotlight, Time Machine, псевдонимов Mac и служб Bonjour, с которыми другие протоколы несовместимы.
Что такое NFS?
Сетевая файловая система (NFS) - это протокол распределенной файловой системы, разработанный для использования в средах операционных систем Unix/Linux. Он основан на открытом стандарте и за прошедшие годы претерпел ряд изменений и дополнений со стороны сообщества Unix/Linux, начиная с версии 2 (NFS v2) и заканчивая последней версией NFS 4.2, опубликованной в 2016 году. современные реализации NFS основаны на версиях 3 и 4 протокола, при этом некоторые системы обеспечивают поддержку 4.1, а теперь и 4.2. macOS изначально поддерживает NFS v3 и NFS v4, хотя поддержку версии 4 необходимо включить вручную через файл /etc/nfs.conf, поскольку операционная система по умолчанию подключается к версии 3.
Что такое SMB/CIFS?
Блок сообщений сервера (SMB) - это сетевой протокол обмена файлами, разработанный Microsoft, а Common Internet File System (CIFS) - одна из его версий. Подобно AFP, SMB/CIFS были разработаны как собственные протоколы для родительской операционной системы Microsoft Windows. SMB также предоставляет некоторые специфические функции, такие как сетевая печать, аутентификация общих папок, блокировка файлов и т. д. macOS имеет встроенную поддержку SMB 1/CIFS, SMB 2, а также SMB 3.
Короче говоря, эти три протокола - это протоколы Apple, Unix и Windows. У каждого есть свои плюсы и минусы, но для пользователей Mac обычно лучше выбрать AFP.
Сравнение производительности AFP, NFS и SMB/CIFS
Теперь, когда вы понимаете основные различия между этими протоколами, давайте посмотрим, как они все сравниваются при работе с большим количеством сетевого трафика и трафика Thunderbolt. Взгляните на таблицу ниже, в которой суммированы результаты производительности, полученные мной от QNAP NAS/DAS с 4 отсеками:
| Протокол | |||
|---|---|---|---|
| АФП | Н/Д | 649 МБ/сек | 306 МБ/сек |
| NFS | v3 / v4 | 551 МБ/сек | 121 МБ/сек |
| СМБ | v1 | 161 МБ/сек | 169 МБ/сек |
| СМБ | v3 | 652 МБ/сек | 624 МБ/сек |
Всего я провел 5 тестов для каждого протокола и версии и выбрал лучший результат.
Как видите, худший результат здесь у NFS. Хотя он неплохо справился со скоростью чтения, составив в среднем около 551 МБ/с в трех тестах с использованием файла размером 4 ГБ (с помощью инструмента тестирования AJA System Test Lite), скорость записи была довольно ужасной - 121 МБ/с. Несмотря на то, что AFP является родным протоколом macOS, он также разочаровал с точки зрения производительности записи на QNAP, хотя скорость чтения была превосходной. Лучшим по производительности здесь является SMB v3: используя этот протокол, я смог получить скорость чтения 652 МБ/с и скорость записи 624 МБ/с, что было весьма впечатляюще. SMB v1/CIFS в целом ужасен, показывает очень низкую скорость чтения и записи, поэтому его следует избегать любой ценой.
Вот скриншот из AJA System Test Lite для приведенного выше результата SMB v3:
А вот скриншот результата AFP:
После выполнения этих тестов я понял, что, возможно, реализация AFP в QNAP была просто плохой, поэтому я решил повторить те же тесты на Synology NAS. Ниже приведена сводка результатов выполнения того же теста на Synology DS1817+:
| Протокол | |||
|---|---|---|---|
| АФП | Н/Д | 1105 МБ/сек | 506 МБ/сек |
| NFS | v3 / v4 | 590 МБ/сек | 156 МБ/сек |
| СМБ | v1 | 75 МБ/сек | 173 МБ/сек |
| СМБ | v3 | 1108 МБ/сек | 547 МБ/сек |
Synology DS1817+ смог добиться более высокой скорости чтения благодаря большему количеству физических дисков, и, как вы можете видеть из приведенной выше таблицы, мне удалось получить более 1. Скорость 1 ГБ/с при использовании протоколов AFP и SMB v3. Однако ситуация немного иная, когда дело касается скорости записи. Как и в первой таблице, лучшим результатом снова оказался SMB v3, продемонстрировавший отличную производительность чтения и записи. AFP работал лучше на Synology NAS по сравнению с QNAP, но все равно отставал на 50-75 МБ/с. Я повторял тесты несколько раз с 4 ГБ и 8 ГБ последовательных операций чтения/записи, и результаты все равно были довольно стабильными, в целом ставя SMB v3 выше AFP. SMB v1 следует избегать как чумы на Synology - мне не удалось добиться скорости чтения выше 75 МБ/с, что, по сути, показывает, что реализация этой версии, вероятно, содержит ошибки.
Вывод
Исходя из того, что я вижу от двух разных поставщиков NAS, похоже, что SMB v3 - лучший сетевой протокол, который можно использовать с точки зрения общей производительности в macOS, а AFP - второй лучший. Следует избегать как SMB v1, так и NFS - они продемонстрировали довольно разочаровывающую производительность записи. Если для вас важны определенные функции macOS, предоставляемые AFP, вам следует протестировать SMB v3 и AFP на своем устройстве NAS и посмотреть, как каждый из них работает по отдельности. Для Synology разница в производительности выглядит не очень заметной, но у любого, кто использует устройство QNAP, AFP отнимает почти половину скорости записи, а это уж слишком