Я пытался справиться с этой проблемой самостоятельно, но дошел до точки, когда мне нужна ваша помощь и/или поддержка.
У меня настроена небольшая домашняя сеть. Основные компоненты:
- 2 компьютера Mac под управлением OS X Yosemite (10.10.4)
- 1 iMac имеет порт Gigabit Ethernet
- 1 MBP имеет сетевой адаптер Thunderbolt, который может работать как гигабитный Ethernet
- Оба компьютера Mac также оснащены беспроводными сетевыми картами, работающими по стандарту 802.11n.
- 1 шлюз FiOS (оптоволоконный Интернет)/маршрутизатор/беспроводной маршрутизатор
- Порты Ethernet являются гигабитными, однако прошивка Verizon ограничивает каждый порт пакетами максимум 1500 MTU
- WiFi — это двухдиапазонная антенна 2,4 ГГц/5 ГГц; антенна 5 ГГц может работать с 802.11ac
- 1 Synology DS1010+ настроен как RAID 6
- NAS имеет два порта Ethernet 1 Гбит/с, которые можно настроить для пакетов Jumbo.
- Все 5 дисков имеют скорость 7200 об/мин.
- Это обслуживание больших медиафайлов, таких как цифровые файлы Raw, фильмы, медиатека iTunes и т. д.
- Подключенный к Ethernet принтер и различные беспроводные устройства, которые на самом деле не имеют значения при рассмотрении этого вопроса, поскольку меня больше всего волнует подключение и производительность между NAS и компьютерами Mac.
- Все Ethernet-подключения выполняются с помощью коротких кабелей Cat 6A (максимальная длина — 6 или 8 футов, большинство — 3-футовые кабели), которые должны легко справляться с пропускной способностью.
С NAS и 2 Mac, подключенными к портам Ethernet на маршрутизаторе, я вижу довольно плохую производительность. По моему опыту, в лучшем случае я не думаю, что видел скорость передачи данных выше 10 МБ/с, и большую часть времени она может работать в диапазоне сотен КБ. Показания памяти на мониторах производительности NAS не кажутся слишком нагруженными, так что это не должно быть проблемой. Быстрый поиск в Google средней производительности 5-дискового RAID 6 дает отчет от Tom's Hardware, в котором средние показатели скорости чтения для пятидисковых массивов RAID 6 составляют около 220 МБ/с, хотя это не на той же установке, что у меня... Я был бы в восторге от половины этой скорости прямо сейчас, так как это было бы на порядок больше того, что я вижу сейчас.
Я надеялся попробовать использовать пакеты Jumbo, установив MTU на 9000, чтобы посмотреть, смогу ли я улучшить скорость передачи данных, но поскольку шлюз FiOS ограничивает MTU до 1500, даже несмотря на то, что я могу установить MTU на 9000 на компьютерах Mac и DS1010+, это вызывает проблемы с обычным интернет-трафиком, которые приводят к потере пакетов из-за несоответствия MTU.
Поскольку у меня всего 25 Мбит/с интернета, я полагаю, что не пожертвую заметной производительностью, если у меня будет Mac, общающийся с шлюзом FiOS по беспроводной сети, и попытаюсь найти решение с использованием Ethernet, где я мог бы заставить Mac и NAS общаться друг с другом напрямую. Если это станет узким местом для веб-трафика, я подумал, что я мог бы использовать Thunderbolt и добавить два адаптера Thunderbolt-to-ethernet и сохранить соединения Ethernet, которые у меня есть сейчас для обычного трафика, чтобы сохранить беспроводную полосу пропускания строго для беспроводных устройств.
Идея, которая у меня была, заключалась в том, чтобы получить Netgear ProSAFE GS108Tv2 Gigabit Smart Switch и посмотреть, смогу ли я подключить Mac и NAS как VLAN (что я не совсем уверен, как сделать), установить порты на 1000baseT и MTU 9000 и направить все дисковые операции ввода-вывода через эту VLAN на коммутаторе. Я думал, что смогу установить IP-адреса Ethernet на трех устройствах в другую подсеть, а затем подключиться к томам NAS, смонтировав их с использованием статического IP для порта, который был установлен на 9000 MTU. Но теперь я сомневаюсь и не уверен, осуществимо ли это или как продолжать.
Вот что я хотел бы узнать
- Кто-нибудь думает, что эта идея может сработать, и я смогу увидеть улучшение дискового ввода-вывода между NAS и Mac, или я просто не понимаю, как эти вещи сочетаются?
- Есть ли лучшие решения, не прибегая к очень дорогим вариантам?
- Мой текущий бюджет на это решение практически исчерпан, и я хотел бы попытаться найти решение, которое будет работать с моим текущим оборудованием. У меня уже есть коммутатор, так что он учтен в расчетах.
- Я хотел бы узнать, есть ли способ сделать так, чтобы коммутатор имел восходящий канал связи с маршрутизатором, чтобы компьютеры Mac и NAS могли отправлять пакеты MTU 1500 на маршрутизатор для сетевого ввода-вывода и отправлять пакеты MTU 9000 между собой для дискового ввода-вывода через один и тот же порт, или мне придется использовать отдельные порты для разделения трафика?
- Если бы я использовал дополнительные адаптеры Thunderbolt-to-Ethernet, смог бы я сделать так, чтобы все шесть портов (по два для каждого Mac и два на NAS) проходили через коммутатор, настроив три порта на подсеть 9000 MTU и три порта на подсеть 1500 MTU, а затем подключить маршрутизатор к коммутатору так, чтобы весь трафик мог проходить через коммутатор, даже если через него проходят пакеты разного размера?
На данный момент я уже далеко за пределами своих знаний о сетях и не уверен, что возможно, а что нет, и если возможно, как это реализовать. Я не боюсь засучить рукава и подправить системные настройки; я установил статическую аренду DHCP, статические IP-адреса на компьютерах, а также реализовал фильтрацию MAC-адресов, но на данный момент я не уверен, что то, что я считаю возможным, на самом деле является таковым. Любые советы на этом этапе будут очень признательны.
Спасибо
Обновлять
Это запуск теста с использованием iperf3.0.11. Он был запущен напрямую через порты маршрутизатора шлюза. Я еще не настроил коммутатор, поэтому было проще просто запустить тест в сети как есть.
192.168.1.100$ iperf3 -s -p 5201
192.168.1.102$ iperf3 -c 192.168.1.100 -i 1 -t 20 -w 2M -p 5201
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.102, port 59693
[ 5] local 192.168.1.100 port 5201 connected to 192.168.1.102 port 59694
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 111 MBytes 932 Mbits/sec
[ 5] 1.00-2.00 sec 111 MBytes 934 Mbits/sec
[ 5] 2.00-3.00 sec 111 MBytes 935 Mbits/sec
[ 5] 3.00-4.00 sec 111 MBytes 935 Mbits/sec
[ 5] 4.00-5.00 sec 111 MBytes 935 Mbits/sec
[ 5] 5.00-6.00 sec 111 MBytes 935 Mbits/sec
[ 5] 6.00-7.00 sec 111 MBytes 935 Mbits/sec
[ 5] 7.00-8.00 sec 112 MBytes 937 Mbits/sec
[ 5] 8.00-9.00 sec 111 MBytes 935 Mbits/sec
[ 5] 9.00-10.00 sec 111 MBytes 935 Mbits/sec
[ 5] 10.00-11.00 sec 111 MBytes 935 Mbits/sec
[ 5] 11.00-12.00 sec 111 MBytes 934 Mbits/sec
[ 5] 12.00-13.00 sec 112 MBytes 937 Mbits/sec
[ 5] 13.00-14.00 sec 111 MBytes 935 Mbits/sec
[ 5] 14.00-15.00 sec 111 MBytes 935 Mbits/sec
[ 5] 15.00-16.00 sec 112 MBytes 936 Mbits/sec
[ 5] 16.00-17.00 sec 112 MBytes 937 Mbits/sec
[ 5] 17.00-18.00 sec 111 MBytes 935 Mbits/sec
[ 5] 18.00-19.00 sec 111 MBytes 935 Mbits/sec
[ 5] 19.00-20.00 sec 111 MBytes 935 Mbits/sec
[ 5] 20.00-20.01 sec 872 KBytes 954 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-20.01 sec 2.18 GBytes 935 Mbits/sec sender
[ 5] 0.00-20.01 sec 2.18 GBytes 935 Mbits/sec receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Таким образомШиффсказал, узкое место, скорее всего, не в Ethernet. Так что это оставляет NAS в качестве вероятного виновника... И, конечно, их страницы поддержки в основном обвиняют сетевой трафик и на самом деле не решают, как повысить производительность их серверов или завершить все бесполезные процессы, которые работают без необходимости и занимают память. Или это могут быть диски WD Green.... Решения по-прежнему нет, но, по крайней мере, это, скорее всего, не Ethernet.
Обновление 2
Вот некоторая дополнительная информация о тестировании с указанной выше настройкой. Был создан тестовый файл размером 2 ГБ, и передача файла была выполнена из командной строки с использованием как диска, смонтированного черезкто-л.и вошел в NAS с помощьюфтп.
Using smb
Load to NAS
$ mkfile -n 2g largetestfile
$ mv -v largetestfile /Volumes/network_attached_storage 2.15GB file
- 336s Averaged Transfer Rate: 6.4MB/s or 51.2Mbps
Download from NAS
mv -v /Volumes/network_attached_storage/largetestfile ./Downloads/ 2.15GB file
- 40s Average Transfer Rate: 53.75MB/s or 430Mbps
Using ftp
Load to NAS
$ mkfile -n 2g largetestfile
ftp> bin
ftp> hash
ftp> put largetestfile
2147483648 bytes sent in 01:06 (30.74 MiB/s) or ~246Mbps
Download from NAS
Test 1 (forgot to enter bin command prior to download)
ftp> get largetestfile
2147483648 bytes received in 00:42 (48.01 MiB/s) or 384.08Mbps
Test 2 (Using bin command)
ftp> bin
ftp> get largetestfile
2147483648 bytes received in 00:21 (93.97 MiB/s) or 751.73Mbps
Покакто-л.Скорость загрузки адекватная, скорость загрузки оставляет желать лучшего. Я думал, что это может быть связано с тем, как данные были записаны на RAID, но затем, когда вы загружаете через FTP, скорость более чем в 7 раз выше, хотя все еще немного медленнее, чем скорость загрузки.
решение1
Подключите свои Mac к гигабитному коммутатору (LAN-порты на вашем маршрутизаторе должны быть в порядке). Запустите IPerf 2.0.x между ними и посмотрите, что получится. Скорость должна быть 930+ Мегабит/с, даже не пытаясь особо.
Если вы получаете пропускную способность IPerf TCP в этом диапазоне, то вы показали, что проблема выше уровня Ethernet. Проблема может быть в используемом вами протоколе передачи файлов (или протоколе удаленной файловой системы) или в плохой реализации клиентского или серверного кода для этого протокола.
Apple заявила, что SMB2 (и позже...сейчас это v3.x) — это будущее. Убедитесь, что ваш NAS поддерживает это, и монтируйте его по этому протоколу (не AFP или старому варианту SMB).