У меня есть сервер, работающий на CentOS 5.3 (сервер чата комет, будет много tcp-соединений). Недавно я обнаружил, что это очень медленно (служба http и ssh), поэтому я использую команду ifconfig, чтобы выяснить, что произошло.
eth0 Link encap:Ethernet HWaddr 00:1C:C0:B5:D5:EA
inet addr:10.0.0.61 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::21c:c0ff:feb5:d5ea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:871861 errors:0 dropped:489662344145 overruns:0 frame:0
TX packets:639044 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:207239658 (197.6 MiB) TX bytes:169416201 (161.5 MiB)
Interrupt:225 Base address:0x6000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:44497 errors:0 dropped:0 overruns:0 frame:0
TX packets:44497 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11470951 (10.9 MiB) TX bytes:11470951 (10.9 MiB)
Когда я перезагружаю свою сеть, все идет хорошо. Но через некоторое время все снова будет медленным.
Может кто-нибудь помочь?
Обновлено:
================================================== ==============================
По просьбе Раджата я выложу некоторую информацию для диагностики
uname -a
Linux im.cluster.myserver.com 2.6.18-128.el5 #1 SMP Wed Jan 21 10:41:14 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
sudo /sbin/lspci | grep Ethernet
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
sudo dmesg | grep eth0
eth0: RTL8168d/8111d at 0xffffc20000006000, 00:1c:c0:b5:d5:ea, XID 281000c0 IRQ 225
r8169: eth0: link up
r8169: eth0: link up
eth0: no IPv6 routers present
r8169: eth0: link up
eth0: no IPv6 routers present
sudo /sbin/ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: p
Current message level: 0x00000033 (51)
Link detected: yes
sudo /sbin/ethtool -k eth0
Offload parameters for eth0:
Cannot get device udp large send offload settings: Operation not supported
rx-checksumming: on
tx-checksumming: off
scatter-gather: off
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: off
sudo /sbin/ethtool -S eth0
NIC statistics:
tx_packets: 4483119
rx_packets: 7443820
tx_errors: 0
rx_errors: 0
rx_missed: 0
align_errors: 0
tx_single_collisions: 0
tx_multi_collisions: 0
unicast: 3591906
broadcast: 442720
multicast: 3851914
tx_aborted: 0
tx_underrun: 0
Ответы:
пару вещей для проверки:
запустите ethtool eth0 и посмотрите, какое состояние скорости / дуплекса у вас есть на интерфейсе, затем проверьте, имеет ли коммутатор порта, к которому вы подключаете свой сервер, те же значения [ожидаемые значения: полный дуплекс, 100 или 1000 Мбит / с. идентичны с обеих сторон]
если нет дуплексного несоответствия - проверьте порт коммутатора и сетевой интерфейс - возможно, один из них неисправен
проверьте / замените патч-корд, возможно, он неисправен или имеет какой-либо источник помех
источник
какую сетевую карту вы используете, обычно это делается с драйвером, вы можете переустановить их
возьмите выход из этого и отправьте обратно
источник