Пытаюсь добиться более высокой скорости передачи файлов в моей домашней сети

Пытаюсь добиться более высокой скорости передачи файлов в моей домашней сети

Я пытался справиться с этой проблемой самостоятельно, но дошел до точки, когда мне нужна ваша помощь и/или поддержка.

У меня настроена небольшая домашняя сеть. Основные компоненты:

  1. 2 компьютера Mac под управлением OS X Yosemite (10.10.4)
    • 1 iMac имеет порт Gigabit Ethernet
    • 1 MBP имеет сетевой адаптер Thunderbolt, который может работать как гигабитный Ethernet
    • Оба компьютера Mac также оснащены беспроводными сетевыми картами, работающими по стандарту 802.11n.
  2. 1 шлюз FiOS (оптоволоконный Интернет)/маршрутизатор/беспроводной маршрутизатор
    • Порты Ethernet являются гигабитными, однако прошивка Verizon ограничивает каждый порт пакетами максимум 1500 MTU
    • WiFi — это двухдиапазонная антенна 2,4 ГГц/5 ГГц; антенна 5 ГГц может работать с 802.11ac
  3. 1 Synology DS1010+ настроен как RAID 6
    • NAS имеет два порта Ethernet 1 Гбит/с, которые можно настроить для пакетов Jumbo.
    • Все 5 дисков имеют скорость 7200 об/мин.
    • Это обслуживание больших медиафайлов, таких как цифровые файлы Raw, фильмы, медиатека iTunes и т. д.
  4. Подключенный к Ethernet принтер и различные беспроводные устройства, которые на самом деле не имеют значения при рассмотрении этого вопроса, поскольку меня больше всего волнует подключение и производительность между NAS и компьютерами Mac.
  5. Все 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. Но теперь я сомневаюсь и не уверен, осуществимо ли это или как продолжать.

Вот что я хотел бы узнать

  1. Кто-нибудь думает, что эта идея может сработать, и я смогу увидеть улучшение дискового ввода-вывода между NAS и Mac, или я просто не понимаю, как эти вещи сочетаются?
  2. Есть ли лучшие решения, не прибегая к очень дорогим вариантам?
    • Мой текущий бюджет на это решение практически исчерпан, и я хотел бы попытаться найти решение, которое будет работать с моим текущим оборудованием. У меня уже есть коммутатор, так что он учтен в расчетах.
  3. Я хотел бы узнать, есть ли способ сделать так, чтобы коммутатор имел восходящий канал связи с маршрутизатором, чтобы компьютеры 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).

Связанный контент