대역폭(Bandwidth) 제한 방법 ethtool (리눅스 우분투)

대역폭(Bandwidth) 제한 방법 ethtool (리눅스 우분투)

서버에서 이미지를 가져갈 때 속도를 느리게 조절하기 위해서 대역폭 제한방법을 알아보았다.
네트워크 과부하를 막고, IDC에서 추가로 과금되는 경우를 막기 위해서 제한해주었다.


ethtool 명령어를 사용하여 아래와 같이 간단하게 속도를 조절할 수 있다.
하지만 10/100/1000/10000 Mb/s 단위로만 설정이 가능하여,
10단위가 아닌 다른 숫자로 시작하는 단위로 변경을 원할 시에는 tc를 설치해야 한다.

 

대역폭(Bandwidth)이란? 

한번에 보낼 수 있는 최대 데이터량으로
네트워크에서 전송되는 데이터 범위로 허용할 수 있는 동시접속자 수와 같은 의미이다.

 


  1. ifconfig로 네트워크 장치명 확인

ifconfig 명령어로 네트워크 장치명 enp4s0 임을 확인

$ ifconfig
docker0   Link encap:Ethernet  HWaddr ***.**.**.**
          inet addr:***.**.**.**  Bcast:***.**.**.**  Mask***.**.**.**
          inet6 addr: ***.**.**.**
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

enp4s0    Link encap:Ethernet  HWaddr ***.**.**.**
          inet addr:***.**.**.**  Bcast:***.**.**.**  Mask:***.**.**.**
          inet6 addr: ***.**.**.**  Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:***.**.**.**
          TX packets:***.**.**.**
  1. ethtool [네트워크 장치명] 입력

[네트워크 장치명] 에 1번에서 확인한 장치명을 넣어준다.

현재 속도가 Speed: 1000Mb/s 임을 확인할 수 있다.

$ ethtool enp4s0
Settings for enp4s0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Supported pause frame use: Symmetric
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: off (auto)
Cannot get wake-on-lan settings: Operation not permitted
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes
  1. 변경하고 싶은 속도로 변경

아래와 같이 스피드와 duplex를 같이 셋팅해주어야 한다.

speed뒤에 10/100/1000/10000  단위로 숫자를 입력해준다.

1000 -> 100 Mbs 로 변경

$ sudo ethtool -s enp4s0 speed 100 duplex full autoneg off
  1. 변경 확인
$ ethtool enp4s0
Settings for enp4s0:
 Supported ports: [ TP ]
 Supported link modes:   10baseT/Half 10baseT/Full 
                         100baseT/Half 100baseT/Full 
                         1000baseT/Full 
 Supported pause frame use: Symmetric
 Supports auto-negotiation: Yes
 Advertised link modes:  Not reported
 Advertised pause frame use: Symmetric
 Advertised auto-negotiation: No
 Speed: 100Mb/s
 Duplex: Full
 Port: Twisted Pair
 PHYAD: 1
 Transceiver: internal
 Auto-negotiation: off
 MDI-X: off (auto)
Cannot get wake-on-lan settings: Operation not permitted
 Current message level: 0x00000007 (7)
                drv probe link
 Link detected: yes

댓글

Designed by JB FACTORY