Как диагностировать медленную передачу файлов из-за ошибок / коллизий NIC?

Недавно я попытался передать файл размером 3 ГБ на компьютер в моей локальной сети, используя rsync -azvP. Я заметил, что получаю только 50kpbs. Оба порта коммутатора 100 / полны. Когда я делаю ifconfig, вот что я получаю:

eth0      Link encap:Ethernet  HWaddr 00:30:48:2E:A3:78  
          inet addr:172.16.0.1  Bcast:172.16.0.255  Mask:255.255.255.0
          inet6 addr: fe80::230:48ff:fe2e:a378/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:747209956 errors:0 dropped:0 overruns:0 frame:0
          TX packets:864422049 errors:16806813 dropped:0 overruns:0 carrier:16806813
          collisions:20239785 txqueuelen:1000 
          RX bytes:793010164 (756.2 MiB)  TX bytes:2059589267 (1.9 GiB)
          Base address:0x4000 Memory:da400000-da420000

Я заметил: пакеты TX:864422049 ошибки:16806813 иколлизии:20239785

Похоже, я получаю ошибки и столкновения. Есть ли что-то очевидное, чего мне не хватает? Мой следующий шаг - поменять кабель. Что если это не удастся?

5 ответов

Решение

Я нашел ethtool, который позволил мне диагностировать, что мой сетевой адаптер автоматически настроен на 100/ половину. Поменял его на полный и были проблемы ушли.

Замените кабель, затем измените порты, затем коммутатор, затем отправляющий сетевой адаптер, затем принимающий сетевой адаптер, затем отправляющую материнскую плату, затем принимающую материнскую плату.

Ваш сетевой адаптер тоже настроен на 100 дуплекс?

Есть ли ошибки в журнале коммутаторов?

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

Сначала подключите кабели, затем посмотрите на сетевые карты, я бы сказал. Если есть индикаторы активности, вы также можете проверить и проверить, не гремит ли коммутатор что-либо, то есть что-то зараженное в сети, и заполняет таблицу маршрутизации коммутатора. tcpdump или wireshark могут рассказать вам кое-что об этом.

Учтите, что столкновение невозможно в микросегментированной сети, работающей в дуплексном режиме. Возможно, это не коллизии, а запросы ICMP Source Quench? Больше информации здесь, здесь и здесь. В последнее время я видел много новых устройств, сообщающих о запросах ICMP Source Quench как о коллизиях.

Другие вопросы по тегам