Почему пинг такой медленный?


9

Моя настройка:

Сервер в подвале + гигабитный коммутатор. Длинный кабель на крышу. GBit переключатель. У меня три компьютера на крыше. Один имеет только 100 Мбит Ethernet, один ноутбук с GBit и новый компьютер.

Время пинга со старого 100-мегабитного компьютера: в среднем 0,5 мс Время пинга с ноутбука: 0,4 мс в среднем время пинга с моего нового компьютера: в среднем 5 мс, 30 мс или 200 мс, но я часто вижу время пинга до 980 мс. В общем, пропускная способность очень нестабильна.

Я заменил выключатель на крыше. Без изменений. Я заменяю кабель, который соединяет новый компьютер с выключателем на крыше. Без изменений. Я установил сетевую карту PCI с чипом Intel GBit (82541PI) и использовал ее вместо встроенного Realtek RTL8111 / 8168B. Без изменений. Да, я уверен, что я подключил кабель к правильному порту, потому что теперь я получаю другой IP-адрес от моего сервера DHCP.

Та же самая сетевая карта отлично работала на моем старом компьютере с той же операционной системой (openSUSE 12.1).

ifconfig говорит:

      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:15679 errors:0 dropped:0 overruns:0 frame:0
      TX packets:13077 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 Sendewarteschlangenlänge:1000 

ethtool говорит:

    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair

Что может быть причиной такого поведения?

[РЕДАКТИРОВАТЬ] Я нашел что-то интересное:

# cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       
  0:        178          0          0          0          0          0          0          0  IR-IO-APIC-edge      timer
  1:          6          0          0          0          0          0          0          0  IR-IO-APIC-edge      i8042
  8:          1          0          0          0          0          0          0          0  IR-IO-APIC-edge      rtc0
  9:          0          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   acpi
 12:         10          0          0          0          0          0          0          0  IR-IO-APIC-edge      i8042
 16:    3302428          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   ehci_hcd:usb1, nvidia, mei, eth1
 17:        184          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   snd_hda_intel
 23:      16721          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   ehci_hcd:usb2

Как вы можете видеть, прерывание 16 служит один USB - порт, видеокарту, «мэй» (?) И eth1.

Я думаю, это объясняет, почему это медленно. Как назначить прерывания в 2012 году?


Когда вы бежите ping, все ли пинги возвращаются? То есть, в вашей настройке теряются пинги или пакеты?
Брюс Эдигер

У меня потеря пакета 0%. Это просто медленно. Может быть, плохой IRQ был назначен сетевой карте?
Аарон Дигулла

когда вы получаете большое время пинга, контролировали ли вы загрузку ЦП с обеих сторон, чтобы убедиться, что вы не слишком заняты и не получаете задержки планировщика?
Майк Пеннингтон,

2
Вы можете попытаться переместить компьютеры рядом друг с другом и подключить их с помощью короткого перекрестного кабеля. Это должно исключать эффекты из-за плохих переключателей, длинных кабелей, электрических помех на пути и так далее. Да, я знаю, другой компьютер прекрасно работает на этом расстоянии, но это может быть причиной того, что он более терпим к шумным сигналам или подобным.
MvG

1
В моем случае это был неисправный маршрутизатор, вы можете понять это, как в этом вопросе .
Альберто Сальвия Новелла

Ответы:


5

Моя материнская плата - ASUS P8Z77-M. Версия BIOS была 0802. В этом BIOS есть ошибка: он назначает один и тот же IRQ (16) для всех устройств с высокой пропускной способностью, что может вызвать все виды проблем (например, зависание рабочего стола при копировании файлов на устройство USB ).

Обновление до версии 1206 улучшило ситуацию. Сетевая карта теперь получает собственный IRQ, и время пинга теперь там, где и должно быть:

64 bytes from ds.digulla (192.168.0.3): icmp_seq=1 ttl=64 time=0.197 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=2 ttl=64 time=0.252 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=3 ttl=64 time=0.200 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=4 ttl=64 time=0.239 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=5 ttl=64 time=0.215 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=6 ttl=64 time=0.204 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=7 ttl=64 time=0.244 ms
64 bytes from ds.digulla (192.168.0.3): icmp_seq=8 ttl=64 time=0.190 ms
^C
--- ds.digulla ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7001ms
rtt min/avg/max/mdev = 0.190/0.217/0.252/0.027 ms
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.