100mbps의 전체 네트워크 속도에 도달하지 않습니다(가까운 수준도 아님).

100mbps의 전체 네트워크 속도에 도달하지 않습니다(가까운 수준도 아님).

대용량 파일에 rsync를 사용하면 다운로드 속도가 2.7MB/s로 약 22Mbps입니다. 네트워크 카드에서 ethtool을 실행하면 다음과 같이 출력됩니다.

 Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 1
    Transceiver: external
    Auto-negotiation: on
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes

본체에서도 비슷한 수치를 찾았습니다.

ethtool -i etho를 보면 다음과 같은 결과가 나타납니다.

driver: smsc911x
version: 2008-10-21
firmware-version: 
expansion-rom-version: 
bus-info: smsc911x.0
supports-statistics: no
supports-test: no
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

내가 사용하고 있는 이더넷 케이블을 다시 확인했는데 모두 5e 이상입니다. 이 프로젝트에서는 LAN9221-ABZJ 칩을 사용하고 있습니다. 이는 펌웨어 문제입니까, 프로토콜 오버헤드가 너무 높습니까, 아니면 칩이 충분히 빠르게 전송하지 못합니까?

고쳐 쓰다

iperf를 사용하여 속도를 확인했습니다. 서버 측에서 속도는 50Mbps입니다. 클라이언트 측에서 속도는 65Mbps입니다. 또한 이 작업을 원격으로 수행해야 합니다(구성하기 위해 컴퓨터에 SSH로 연결하는 경우처럼). 이건 좀 낮은 것 같네요.

답변1

데이터 전송 시 htop을 통해 CPU 사용량을 확인합니다. 이더넷 이벤트 중에 최대치에 도달하면 CPU에 병목 현상이 있다는 좋은 신호입니다. 유일한 해결책은 CPU의 클럭을 높이거나 더 빠른 클럭을 얻는 것입니다.

관련 정보