반응형
LACP 본딩(802.3ad)
1️⃣ LACP 본딩이 단일 NIC보다 무조건 빠른가?
결론부터 말하면 “무조건 빠르다”는 잘못된 표현이며, 정확한 표현은 환경에 따라 대역폭 확장 + 안정성이 크게 강화되는 구조라는 것이다. 특히 서버·NAS·VM·DB 등 다중 세션이 발생하는 환경에서는 수치적으로나 체감적으로 확실한 차이가 난다.
| 항목 | 단일 NIC | LACP 본딩 (802.3ad, mode=4) |
|---|---|---|
| 총 대역폭 | 1Gbps 고정 | 2Gbps / 4Gbps / 8Gbps 등 선형 확장 |
| 단일 세션 속도 | NIC 한계(1G/10G) | 단일 세션은 1개 NIC만 사용 → 증가 없음 |
| 멀티 세션 속도 | 1Gbps 범위 공유 | 세션별 다른 NIC로 분배 → 총 처리량 증가 |
| Failover | 즉시 단절 | 1개 포트 죽어도 서비스 유지 |
| 부하분산 | 없음 | 해시 기반 분산(Hash 기반) |
📌 정리
✔ 다중 세션이 많으면 전체 처리량(Throughput)이 크게 증가
✔ 하지만 단일 세션 속도는 절대 빨라지지 않는다
✔ 다중 세션이 많으면 전체 처리량(Throughput)이 크게 증가
✔ 하지만 단일 세션 속도는 절대 빨라지지 않는다
2️⃣ 단일 세션이 빨라지지 않는 이유
LACP는 트래픽을 “세션 단위 해시(Hash)”로 분배하기 때문이다.
- src/dst MAC
- src/dst IP
- src/dst Port
- 혹은 MAC/IP/PORT 조합 Hash
한 세션의 Hash 값은 항상 동일한 물리 NIC로 매핑된다.
따라서 1GbE NIC 두 개를 묶어도 단일 세션 속도는 그대로 1Gbps이다.
3️⃣ 그런데 실제 서버에서는 왜 체감 성능이 오를까?
서버 환경은 대부분 동시 접속이 매우 많은 구조이기 때문이다.
- DB 서버 → 다중 클라이언트 세션
- 웹 서버 → 수천개의 TCP 연결
- 백업 툴 → 여러 스트림 동시 전송
- NAS/NFS → 다중 IO 요청
- Hypervisor(KVM/ESXi) → 여러 VM의 NIC 분배
따라서 실제 분배 예시는 다음과 같다:
세션 A → NIC0
세션 B → NIC1
세션 C → NIC0
세션 D → NIC1
→ 트래픽이 퍼지므로 총 처리량이 선형적으로 증가한다.
세션 B → NIC1
세션 C → NIC0
세션 D → NIC1
→ 트래픽이 퍼지므로 총 처리량이 선형적으로 증가한다.
4️⃣ LACP 효과가 가장 큰 환경
- 서버 ↔ 스위치 간 고부하 네트워크
- NAS / 백업 / NFS / GlusterFS
- Kubernetes / Docker 노드
- Postgres / Oracle / MSSQL 등 DB 다중 접속 환경
- VM 호스트(수십~수백 VM)
5️⃣ LACP 효과가 거의 없는 환경
- PC ↔ NAS 단일 연결
- 단일 세션 대용량 파일 전송
- 저부하·경량 트래픽 환경
→ 단일 세션만 존재하면 NIC 1개 성능과 차이가 없다.
6️⃣ LACP 구성 시 스위치 설정도 필수
LACP는 서버만 bond0=mode4로 만든다고 동작하지 않는다. 스위치에서도 반드시 동일한 LACP 그룹을 설정해야 한다.
switch(config)# interface range g0/1-2
switch(config-if-range)# channel-group 1 mode active
7️⃣ 실제 체감 사례
❗ 단일 세션 파일 전송
1GbE NIC 1개 → 110MB/s LACP 2개 → 110MB/s (변화 없음)
❗ 여러 세션 동시 전송
단일 NIC → 최대 110MB/s LACP 2개 → 220MB/s 처리 가능
8️⃣ 적용 필요 여부 확인 과정
1) 트래픽 종류 확인(단일/다중) →
2) Hash 분배 방식 점검 →
3) 스위치 LACP 구성 확인 →
4) NIC/드라이버 상태 확인 →
5) Throughput 비교 측정 →
6) 부하 조건별 성능 평가
9️⃣ 결론
단일 세션 속도는 단일 NIC와 동일하지만,
다중 세션이 존재하는 서버 환경에서는
LACP 본딩이 훨씬 더 빠르고 안정적이다.
반응형
LIST
'지식 공유 > Server' 카테고리의 다른 글
| 서버 Hang 상태 분석 — hung_task_timeout_secs (0) | 2025.11.21 |
|---|---|
| 서버 리소스 모니터링 명령어 (iostat · mpstat · top · htop) (2) | 2025.11.21 |
| Bonding 설정 가이드 (active-backup · 802.3ad · Bond Mode 비교) (0) | 2025.11.17 |
| 네트워크 리트랜스미션(Network Retransmission) 원인 (0) | 2025.11.17 |
| 리눅스 리소스 모니터링 명령어 정리 (top, htop, gotop) (1) | 2025.11.16 |
