Проверка на узкие места передачи самбы
Это вопрос о настройке моей домашней сети.
У меня есть NAS, подключенный через гигабитный Ethernet к коммутатору, который подключен через 100 Мбит Ethernet к маршрутизатору. Тогда у меня есть мой Mac, подключенный через беспроводной N к моему маршрутизатору.
Теперь я передаю файлы на и с моего NAS через samba. У моего NAS ужасные характеристики, 64 Мб оперативной памяти и процессор PowerPC.
Мой вопрос: моя скорость передачи ограничена моим Wi-Fi или спецификациями моего NAS? Что делать, если я подключился напрямую к маршрутизатору 100Мбит? или коммутатор 1гбит? Что же тогда является ограничивающим фактором?
Я хотел бы знать, как я могу проверить это, с помощью инструментов Linux на NAS, предпочтительно, чтобы определить, насколько я использую процессор или ОЗУ? Как бы я подготовил отчет с реальными цифрами, если бы делал это правильно?
Это в основном для моего любопытства (и чтобы посмотреть, где деньги должны быть потрачены дальше).
5 ответов
Итак, в основном у вас есть:
Mac <- беспроводной N -> маршрутизатор <- 100MbE -> коммутатор <- GbE -> NAS
Основными вещами, которые вы можете проверить здесь, являются возможности трафика вашей сети и возможности копирования файлов ваших устройств. Есть ряд утилит, которые быстро и эффективно решают задачи каждой из них.
сеть
Там кроссплатформенная программа называется iperf
который использует модель клиент-сервер для оценки, среди прочего, пропускной способности сети. Вы захотите скачать и / или скомпилировать копию iperf как на NAS, так и на Mac. В этом случае ваш NAS-сервер действует как ваш сервер, поэтому вам нужно запустить iperf в качестве сервера: iperf -s
, На вашем Mac вы захотите запустить iperf -c <ip>
где ip
IP-адрес вашего сетевого хранилища. Это должно дать вам оценку необработанных возможностей вашей конфигурации сети между Mac и системой NAS.
NAS File Copy
Я заметил, что Synology 407e имеет два USB-порта сзади. Одна вещь, которую вы могли бы сделать, чтобы строго оценить возможности копирования файлов вашей системы NAS, - это подключить быстрый внешний жесткий диск или, предпочтительно, твердотельный диск, и копировать файлы с внешнего диска на общий ресурс Samba и с него. Для этого вы можете просто скопировать большие файлы и оценить время, необходимое для передачи, и разделить его на объем передачи. Или вы можете использовать утилиту, такую как fio
который работает как эталон файлового ввода / вывода. fio
это многофункциональная утилита, которая предоставляет исчерпывающую статистику об операциях ввода-вывода, которые она выполняет. В сочетании с предложением Криса, вы можете запустить top
в процессе передачи файлов для просмотра использования процессора и памяти в режиме реального времени. Некоторые другие хорошие системные утилиты vmstat
а также dstat
Резюме
Если ваша сеть, NAS-устройство, Mac, коммутаторы и маршрутизаторы работают в соответствии со своими спецификациями, существует вероятность того, что один или несколько ваших жестких дисков в NAS неисправны или что массив RAID поврежден. В вашей сети также могут быть проблемы с задержкой, которые могут потребовать дальнейшего изучения.
инструменты
- FIO
- Iperf
- Wireshark
- dstat
- трассировка
Подготовка отчета
Обычно в таком отчете основное внимание уделяется пропускной способности (МБ / с), пропускной способности (IO/ с) и задержке (мс). Меньшие размеры файлов для передачи (512 байт) обычно обеспечивают более высокую пропускную способность, но меньшую пропускную способность при минимальной задержке. Большие размеры файлов>64 КБ будут показывать более высокую пропускную способность, меньшую пропускную способность и увеличенную задержку в зависимости от размера передачи и скорости среды.
Источник: 14 месяцев бенчмаркинга приложений для хранения данных в технологической компании.
Узким местом, как правило, всегда будет сеть. Беспроводная связь всегда будет медленнее, чем проводная. Для тестирования подключите компьютер напрямую к NAS, затем к коммутатору, затем к маршрутизатору, затем по беспроводной сети и используйте на компьютере следующие команды:
time cp -r /nas/representative/directory /tmp # will print the durantion
rm -r /tmp/directory
Это будет время копии для каждого соединения, и вы можете судить оттуда.
Какую скорость передачи вы видите сейчас? Если скорость составляет около 10 Мбит / с, это самое быстрое соединение со скоростью 100 Мбит / с. Вероятно, это самое медленное соединение в вашей сети, хотя это лучшее предположение.
Само устройство, вероятно, способно развить скорость до 100 Мбит / с. В архитектуре Power-PC нет ничего плохого. 64 МБ оперативной памяти вполне достаточно и для специально созданного устройства. Мне известно о нескольких SoC для Power-PC, которые могут несколько раз запускать Ethernet-соединение 1000 Мбит на задней панели.
Также возможно, что дисководы в массиве ограничивают производительность или контроллеры дисков. Там действительно довольно много мест, где может быть узкое место. Не зная гораздо больше о вашей настройке, невозможно дать разумное предположение.
Очевидно, у вас есть несколько узких мест, которые не улучшают ситуацию:
- Ваш NAS достигает максимальной скорости около 20 МБ / с по сравнению с тем, что можно найти в Интернете.
- Сеть со скоростью 100 Мбит / с максимально достигает 12 Мбит / с
- 802.11n имеет высокие теоретические скорости, но я подозреваю, что вы работаете на частоте 2,4 ГГц, из-за чего возникают проблемы с эффективной скоростью передачи данных 100 Мбит / с - это также очевидно из сетевых интерфейсов 100 Мбит / с
Таким образом, чтобы получить максимальную производительность от вашего NAS, очевидно, что лучше использовать прямое кабельное соединение (1 Гбит / с).
С лучшим маршрутизатором (и, возможно, поддержкой 5 ГГц) вы могли бы по крайней мере минимизировать замедление Wi-Fi, но очевидно, что оно все равно будет медленнее, чем прямое кабельное соединение.
С лучшим маршрутизатором и лучшим NAS вы сможете достичь разумной производительности (~30 МБ / с, я подозреваю из собственного опыта), но это, вероятно, будет стоить вам довольно много денег. Вы также можете удалить переключатель, хотя это не является частью проблемы. Кроме того, 5 ГГц также имеет серьезные ограничения в отношении дальности.
Проверьте состояние соединения сетевой карты NAS. Это, вероятно, в полудуплексном режиме 100 Мбит / с. Некоторые чипы иногда не могут автоматически определять скорость соединения с гигабитными коммутаторами. У меня было это с некоторыми чипами Realtek.
Просто сделай ethtool eth0
или как называется NIC. Может быть, это все. Для принудительного использования гигабитной скорости ethtool -s eth0 speed 1000 duplex full
,