게시물 259건
   
[RHEL8.x] iperf3 로 네트워크 부하 테스트 하기
글쓴이 : 더코 날짜 : 2024-02-29 (목) 10:59 조회 : 51
> 실행 순서
1. 서버 모드로 iperf3를 실행
# iperf3 -s

2.  서버 192.168.100.180 으로 시험 패킷을 전송
# iperf3 -c 192.168.100.180 -t 900


예제) 
server # iperf3 -i 5 -s
client # iperf3 -i 5 -t 6000 -u -c SERVERIP

client# iperf3 -c {ip} -u --bytes 10000M --verbose

======================================================
- 서버 모드로 iperf3 실행하기
iperf3를 서버 모드로 실행하기 위해서는 -s 파라메터를 지정합니다. 서버의 성능은 대역폭 혹은 전송량으로 표기되는데-f 파라메터 뒤에 소문자 m, g, t 등을 사용하면 대역폭으로-f 파라메터 뒤에 대문자 M, G, T 등을 사용하면 전송량으로 표기합니다.
iperf2는 기본적으로 5201 포트로 수신을 합니다만다른 포트를 사용하기 위해 -p 파라메터와 포트 번호를 지정할 수도 있습니다.


- 서버 모드로 iperf3를 실행
# iperf3 -s

- 서버 모드로 iperf3를 실행하되 대역폭을 Mbps로 표기
# iperf3 -s -f m

- 서버 모드로 iperf3를 실행하되 대역폭을 Gbps로 표기
# iperf3 -s -f g

- 서버 모드로 iperf3를 실행하되 전송량 GB/sec로 표기
# iperf3 -s -f G

- 기본 포트(5201)가 아닌 지정된 포트로 서버 구동
# iperf3 -s -f g -p 1234
-----------------------------------------------------------
Server listening on 1234
-----------------------------------------------------------
 
클라이언트 모드로 iperf3 실행하여 시험 수행하기
서버를 구동했다면 이제 클라이언트를 구동할 차례입니다. 옵션은 서버로 쓸때와 비슷한데요접속 대상 iperf3 서버 IP를 -c 옵션으로 지정한다는 정도의 차이가 있습니다. 
- 서버 192.168.100.180 으로 시험 패킷을 전송
# iperf3 -c 192.168.100.180

- 서버 192.168.100.180를 1234번 포트로 연결하여 시험 패킷을 전송
# iperf3 -c 192.168.100.180 -p 1234

- 시험 패킷을 전송하되 단위를 Mbps로 표기
# iperf3 -c 192.168.100.180 -p 1234 -f m

- 시험 패킷을 전송하되 단위를 MB/sec로 표기
# iperf3 -c 192.168.100.180 -p 1234 -f M
 
iperf3는 TCP 시험을 수행합니다.
이때는 다음과 같이 -u 옵션을 사용하면 됩니다. 
서버는 -u 옵션을 사용하지 않아도 되고, 클라이언트에서만 -u 옵션을 사용하면 됩니다.

---------------------------------------------------------------------------------------------------------
$ iperf3 -c 192.168.100.180 -p 1234 -f M -u
Connecting to host 192.168.100.180, port 1234
[  4] local 192.168.100.180 port 32888 connected to 192.168.100.180 port 1234
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]   0.00-1.00   sec   116 KBytes  0.11 MBytes/sec  82
[  4]   1.00-2.00   sec   129 KBytes  0.13 MBytes/sec  91
.........생략
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-10.00  sec  1.24 MBytes  0.12 MBytes/sec  0.006 ms  0/897 (0%)
[  4] Sent 897 datagrams

iperf Done.
 ---------------------------------------------------------------------------------------------------------

시험 심화 : 다중 TCP 연결 시험
현실의 서버들은 단일 TCP 연결이 아니라 다중 TCP 연결을 쓰게 됩니다. iperf3는 이런 상황을 대비하여 다중 스트림을 쏠 수 있는 기능도 제공합니다.-t 옵션을 사용하면서 뒤에 스트림 숫자를 지정해 주면 됩니다. 
$  iperf3 -c 192.168.100.180 -p 1234 -f m -P 20


## 옵션 설명 
Client & Server
        -p, --port [port_number (default: 5201)]
                서버 : 서버의 포트 번호
                클라이언트 : 접속할 서버의 포트 번호

        -f, --format [kmKM]
                출력포맷 지정
                k=kbits, m=mbits, K=KBytes, M=MBytes

        -i, --interval [interval (default: 1)]
                [interval] 초마다 결과 출력

        -F, --file [file_name]
                서버 : 받은 데이터를 버리지 않고 [file_name]이름으로 파일로 저장
                클라이언트 : 의미없는 데이터가 아닌 [file_name]으로 지정된 파일을 전송

Server
        -s, --server
                서버 모드로 iperf3를 실행

        -D, --daemon
                데몬으로 서버를 실행

        -1, --one-off
                클라이언트가 한번 접속한 뒤 전송을 마치면 서버를 종료하는 모드

Client
        -c, --client
                클라이언트 모드로 iperf3를 실행

        -u, --udp
                UDP를 사용하여 iperf를 실행 (default: TCP)

        -b, --bandwidth [bits]
                세션의 대역폭을 [bits]/sec로 지정. (UDP default: 1Mbits/sec, TCP default: unlimited)

        -t, --time [sec (default: 10)]
                전송 시간(초) 설정

        -n, --bytes [bytes]
                전송할 총 [bytes]를 지정.

        -M, --set-mss [MSS]
                TCP [MSS(Maximum Segment Size)]를 지정

        -N, --no-delay
                TCP Nagle 알고리즘 off

        -C, --linux-congestion [congestion_model]
                TCP congestoin control 모델을 설정 (cubic 등)

이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

miwit.com sir.co.kr DNS Powered by DNSEver.com DNS Powered by DNSEver.com