이 네트워크 연결이 왜 이렇게 느립니까?


11

Ubuntu 9.10을 실행하는 Linux 서버에서 네트워크 성능 속도에 문제가 있습니다. 모든 유형의 트래픽에서 전송 속도는 1000mbit / s 유선 이더넷 연결에서 약 1.5MB / s입니다. 이 서버는 최근에 삼바에서 55MB / s를 달성했습니다. 하드웨어 나 네트워크 설정을 변경하지 않았습니다. 정기적으로 업데이트를 실행하고 있으며 Ubuntu의 리포지토리에서 가장 크고 가장 최신 버전 이이 컴퓨터에서 실행 중입니다.

하드웨어 설정

데스크탑 Windows PC-1000 스위치-1000 스위치-Linux 서버

모든 스위치는 넷기어이며 연결에 대해 녹색 표시등이 표시되어 연결이 1000mbit / s임을 의미합니다. 연결이 100mbit / s에 불과한 경우 표시등이 노란색입니다. 다른 진단 정보 :

root@server:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:6e:3e:ae:36
          inet addr:192.168.1.30  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:6eff:fe3e:ae36/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28678 errors:0 dropped:0 overruns:0 frame:0
          TX packets:73531 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2109780 (2.1 MB)  TX bytes:111039729 (111.0 MB)
          Interrupt:22

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:113 errors:0 dropped:0 overruns:0 frame:0
          TX packets:113 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:23469 (23.4 KB)  TX bytes:23469 (23.4 KB)


root@server:~# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pg
        Wake-on: g
        Current message level: 0x00000037 (55)
        Link detected: yes

root@server:~# mii-tool
eth0: negotiated 1000baseT-FD flow-control, link ok

서버는 1000mbit / s 연결을 가지고 있다고 생각합니다. Samba를 사용하여 파일을 복사하여 전송 속도를 테스트했습니다. 또한 서버에서 netcat (nc target 10000 <aBigFile)을 사용하여 Windows (nc -l -p 10000)로 전송했으며 비슷한 수준의 성능이 저하되었습니다.

hdparm을 사용하여 하드 드라이브의 속도를 테스트했으며 다음을 얻었습니다.

root@server:~# hdparm -tT /dev/md0
/dev/md0:
 Timing cached reads:   1436 MB in  2.00 seconds = 718.01 MB/sec
 Timing buffered disk reads:  444 MB in  3.02 seconds = 147.24 MB/sec

DD를 사용하여 전송하기 위해 동일한 파일을 읽으면 다음이 생성됩니다.

paul@server:/home/share/Series/New$ dd if=aBigFile of=/dev/null
3200369+1 records in
3200369+1 records out
1638589012 bytes (1.6 GB) copied, 12.7091 s, 129 MB/s

나는 충격을 받았다. 네트워크 성능이 2 배 낮은 네트워크 성능 저하 원인은 무엇입니까?


serverfault는 그러한 질문을하기에 더 좋은 곳일 것입니다.
Maciej Piechotka

느린 네트워크 연결 문제를 해결하는 데 유용한 일반적인 기술에 대해서는 이 ServerFault 질문 을 시도하십시오 .

아무것도 변경되지 않으면 마모 및 손상 (케이블)을 비난하십시오.
Mel

답변:


6

확인해야 할 사항 :

  1. 이중-한쪽이 링크가 전이중이라고 생각하고 다른 쪽은 링크가 반이중이라고 생각하면 불량을 예상합니다.
  2. 결함이있는 스위치? 우회하십시오.
  3. 점보 프레임. 9000 바이트 MTU는 오버 헤드를 줄여 처리량을 늘려야합니다 (대기 시간이 약간 단축 됨). 그래도 문제가 너무 나빠 도움이되지 않는 것 같습니다.
  4. TCP 기능 : ECN, SACK, 혼잡 제어 알고리즘
  5. TCP 송신 / 수신 창 크기 ( Linux에 대한 세부 사항 )

netperf는 네트워크 성능 문제 해결에 탁월합니다. 그러나 netcat은 꼬집음에 나쁘지 않습니다.


6

전문적인 경험으로, GNU / Linux에서 Samba를 사용하여 우수한 네트워크 성능을 얻기 위해 고심했습니다. 당신은 당신이 그것으로 55MBps의 속도를 달성했다고 언급했습니다. 그래서 나는 다른 무언가가 확실히 진행되고 있다고 생각합니다.

그러나 NFS, FTP 및 SCP를 사용해 보셨습니까? 다른 프로토콜에서 대역폭 문제가 일관됩니까? 그렇다면 물리적 연결로 좁혀 질 가능성이 있습니다. 결과가 일치하지 않으면 소프트웨어 문제 일 수 있습니다.

다른 프로토콜을 테스트하는 것 외에도 전송시 암호화를 사용하고 있습니까? 예를 들어, rsync -z압축을 활성화하는 데 사용하는 것은 좋지만 CPU 비용이 들기 때문에 전체 전송 속도에 심각한 영향을 미칩니다. SSHwith를 사용 하는 경우 rsync압축시 암호화가 적용되며 CPU에 약간의 스트레스가 가해져 심각한 속도 저하가 발생합니다.


2
  1. netstat -irx / tx 오류를 찾아 보십시오 .
  2. netstat -sTCP 문제를 찾아 보십시오 -파일 복사 전후의 값을 비교하고 재설정 또는 재전송에서 큰 스파이크를 찾으십시오.

아아, 100MB 이후에는 TX / RX 오류가 전혀 없으며 리셋 횟수는 테스트 시작부터 끝까지 일관되게 4 번입니다.
Paul Keeble

0

네트워크의 정체를 확인할 수 있습니다. 다른 장치가 모든 대역폭을 소비하고 있습니까?

그 외에도 네트워크 인터페이스 및 / 또는 드라이버에 문제가있을 수 있습니다. 꽤 이상합니다.


테스트 당시에는 네트워크에서 유일한 두 개의 장치 였지만 다른 장치는 없었습니다.
Paul Keeble

0

가능하면 OS / 드라이버 / 카드 문제인 의심을 없애려면 크로스 오버 케이블을 사용하여 컴퓨터를 함께 연결하십시오. 그러면 방정식에서 스위치 및 기타 가능한 네트워킹 문제가 제거됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.