Проверка на узкие места передачи самбы

2469
Salgar

Это вопрос о настройке моей домашней сети.

У меня есть NAS, подключенный через гигабитный Ethernet к коммутатору, который подключен через 100 Мбит Ethernet к маршрутизатору. Тогда у меня есть мой Mac, подключенный через беспроводной N к моему маршрутизатору.

Теперь я передаю файлы на и с моего NAS через samba. У моего NAS ужасные характеристики, 64 Мб оперативной памяти и процессор PowerPC.

Мой вопрос: моя скорость передачи ограничена моим Wi-Fi или спецификациями моего NAS? Что делать, если я подключился напрямую к маршрутизатору 100Мбит? или коммутатор 1гбит? Что же тогда является ограничивающим фактором?

Я хотел бы знать, как я могу проверить это с помощью инструментов linux на NAS, предпочтительно, чтобы определить, насколько я использую процессор или ОЗУ? Как бы я подготовил отчет по этому вопросу с реальными цифрами, если бы делал это правильно?

Это в основном для моего любопытства (и чтобы увидеть, где деньги должны быть потрачены дальше).

4
> Что делать, если я подключился напрямую к маршрутизатору 100Мбит? Ну, я думаю, это то, что вы можете попробовать, нет? scherand 11 лет назад 1

5 ответов на вопрос

4
aqua

Итак, в основном у вас есть:

Mac <- беспроводной N -> маршрутизатор <- 100MbE -> коммутатор <- GbE -> NAS

Основными вещами, которые вы можете проверить здесь, являются возможности трафика вашей сети и возможности копирования файлов ваших устройств. Есть ряд утилит, которые быстро и эффективно решают задачи каждой из них.

сеть

Существует кроссплатформенная программа, iperfкоторая использует модель клиент-сервер для оценки, среди прочего, пропускной способности сети. Вы захотите скачать и / или скомпилировать копию iperf как на NAS-устройстве, так и на Mac. Ваш NAS поле в данном случае выступает в качестве сервера, так что вы хотите, чтобы начать Iperf в качестве сервера: iperf -s. На вашем Mac, вы хотите запустить, iperf -c <ip>где ipэто IP-адрес вашего ящика NAS. Это должно дать вам оценку необработанных возможностей вашей сетевой конфигурации между 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 месяцев тестирования приложений для хранения данных в технологической компании.

2
Chloe

Узким местом, как правило, всегда будет сеть. Беспроводная связь всегда будет медленнее, чем проводная. Для тестирования подключите компьютер напрямую к NAS, затем к коммутатору, затем к маршрутизатору, затем через беспроводную сеть и используйте на компьютере следующие команды:

time cp -r /nas/representative/directory /tmp # will print the durantion rm -r /tmp/directory 

Это будет время копии для каждого соединения, и вы можете судить оттуда.

1
Chris S

What transfer speed are you seeing now? If it's around 10MBps, that's the fastest the 100Mb connection will go. This is probably the slowest connection in your network, though that's a best guess.

The unit itself it probably capable of cranking out 100MBps. There's definitely nothing wrong with the Power-PC architecture. 64MB of RAM is plenty enough for a purpose built device as well. I know of a few Power-PC SoCs that can crank out several times what the 1000Mb Ethernet connection on the back of the box can provide.

It's also possible that your disk drives in the array are limiting performance, or the disk controllers. There's really quite a few places a bottleneck could be. Without knowing much more about your setup it's impossible to give a reasonable guess.

Я вижу только около 4,5 МБ / с в данный момент через Wi-Fi. NAS представляет собой Synology 407e с Freescale MPC8245 и имеет RAID 1 4x750gb 7200rpm SATA диски Samsung. Salgar 11 лет назад 0
Но я бы предпочел измерить все вещи, которые вы упомянули. Например, я могу контролировать top и видеть, что, когда я копирую, SMBD использует 20% ЦП и 40% ОЗУ, но я не могу сказать, так ли это, потому что доступно только 40% ОЗУ или потому что это все, что ему нужно. Salgar 11 лет назад 0
`top` должен указывать, сколько ОЗУ свободно. Проверьте `ping` раз между вашим компьютером и устройством. Я не знаком с устройствами Synology, можете ли вы напрямую изменить конфигурацию `smbd`? Процессор Freescale более чем способен насытить 1GbE при нормальных условиях. Диски тоже должны быть в порядке. Chris S 11 лет назад 0
`iotop` является эквивалентом для мониторинга IO. Обычно пропускная способность хранилища зависит от скорости диска и сети. Редко CPU / RAM проблема в передаче файлов. `sar` из пакета sysstat хорош для более глубокого мониторинга. Ryan 11 лет назад 0
1
Stefan Seidel

Очевидно, у вас есть несколько узких мест, которые не улучшают ситуацию:

  • Ваш NAS достигает максимальной скорости около 20 МБ / с по сравнению с тем, что можно найти в Интернете.
  • Максимальная скорость сети 100 Мбит / с - около 12 Мбит / с
  • 802.11n имеет высокие теоретические скорости, но я подозреваю, что вы работаете на частоте 2,4 ГГц, из-за чего возникают проблемы с эффективной скоростью передачи 100 Мбит / с - это также очевидно из сетевых интерфейсов 100 Мбит / с

Таким образом, чтобы получить максимальную производительность от вашего NAS, очевидно, что лучше использовать прямое кабельное соединение (1 Гбит / с).

С лучшим маршрутизатором (и, возможно, поддержкой 5 ГГц) вы могли бы по крайней мере минимизировать замедление Wi-Fi, но очевидно, что он все равно будет медленнее, чем прямое кабельное соединение.

С лучшим маршрутизатором и лучшим сетевым хранилищем вы сможете достичь приемлемой производительности (~ 30 МБ / с, я подозреваю из собственного опыта), но это, вероятно, будет стоить вам довольно много денег. Вы также можете удалить переключатель, хотя это не является частью проблемы. Кроме того, 5 ГГц также имеет серьезные ограничения в отношении дальности.

0
kschurig

Check the link state of your NAS ethernet NIC. It's probably in 100Mbps half duplex mode. Some chips soemtimes won't auto detect link speed correctly with Gigabit switches. I had that with some Realtek chips.

Just do a ethtool eth0 or whatever NIC is called. Maybe that's it. To force Gigabit speed use ethtool -s eth0 speed 1000 duplex full.

10 Мбит / с - это ~ 1,2 МБ / с, так что ясно, что это не проблема, так как @Salgar заявил, что он видит 4,5 МБ / с. Stefan Seidel 11 лет назад 0
Это была опечатка. Я имел в виду полудуплекс 100 Мбит / с, что составляет 12,5 / 2 = 6,25 МБ / с с максимальной пропускной способностью, включая издержки протокола. Я вспомнил, потому что у меня тоже была проблема с пропускной способностью около 4,5 МБ / с в samba. kschurig 11 лет назад 0