홈랩 K3s 클러스터 6노드가 오늘부로 전부 무선이 됐다. 마지막까지 유선이던 노드도 active-backup 본딩의 활성 슬레이브가 USB Wi-Fi 동글로 넘어갔다. 그래서 지금 시점의 6노드 무선 품질을 한 번에 쟀다. 결과에 반전이 하나 있다 — PHY 협상 속도 1등 노드가 실전송에서는 뒤에서 두 번째였다.

측정 방법 (한계 포함)

  • 링크 지표: 각 노드에서 iw dev <if> link — 신호(dBm), 수신/송신 협상 비트레이트
  • 지연: 각 노드에서 게이트웨이로 ping 30발 (0.3초 간격) — 무선 한 홉만 측정
  • 실전송: 5 GHz 에 붙은 노드 A 에서 각 노드로 20 MB 를 scp — 경로에 무선 두 홉(A 의 5 GHz + 대상의 2.4 GHz)이 걸리지만, 두 밴드는 에어타임을 공유하지 않으므로 병목은 대상 노드 쪽 2.4 GHz 링크다
  • 클러스터가 살아 있는 상태(평상시 트래픽 포함)에서 순차 측정했다. 통제된 벤치마크가 아니라 운영 중 스냅샷이다. 협상 비트레이트는 순간값이라 시점에 따라 변한다.

결과

노드 밴드 신호 협상 rx/tx (Mbps) GW RTT 평균/최대 (ms) 손실 실전송 (Mbps)
A (내장, 5 GHz) 5 GHz -69 dBm 270 1.3 / 6 0% (전송 소스)
B (내장) 2.4 GHz -55 dBm 130 / 130 95 / 355 0% 2.5
C (USB 동글) 2.4 GHz -64 dBm 68.8 / 103.2 53 / 217 0% 4.4
D (USB 동글+연장선) 2.4 GHz -62 dBm 51.6 / 103.2 154 / 1120 0% 12.2
E (USB 동글, 본딩) 2.4 GHz -67 dBm 51.6 / 86.0 127 / 404 0% 3.9
F (내장, 레거시 레이트) 2.4 GHz 미취득* 48 / 54 96 / 379 13% 1.0 (1차 시도는 타임아웃)

* F 는 드라이버가 /proc/net/wireless 에 신호를 -256 으로 보고해 유효값을 얻지 못했다.

읽어낼 것 세 가지

1. 협상 속도 순위 ≠ 실효 속도 순위

B 는 신호 -55 dBm 로 가장 세고 협상 속도도 130 Mbps 로 2.4 GHz 조 1등이다. 그런데 실전송은 2.5 Mbps 로 뒤에서 두 번째다. 반대로 D 는 협상 rx 가 51.6 Mbps 로 낮은 축인데 실전송은 12.2 Mbps 로 1등이다.

협상 비트레이트는 “전파가 깨끗할 때 이 속도로 보내보겠다”는 계약이지 실제 처리량이 아니다. 실효 속도는 재전송률과 에어타임 확보가 결정하고, 그 둘은 신호 세기 지표에 안 나타난다. 신호 막대기만 보고 “이 자리 잘 터져” 라고 판단하면 이런 역전을 놓친다.

2. 2.4 GHz 한 채널에 5노드 — 서로가 서로의 병목

이번 측정에서 2.4 GHz 5노드는 전부 같은 채널에 붙어 있었다. Wi-Fi 는 한 채널을 시분할로 나눠 쓰므로(반송파 감지 후 송신), 같은 채널의 노드가 늘수록 각자의 에어타임은 줄고 대기 지연은 널뛴다. 2.4 GHz 조의 게이트웨이 RTT 평균이 53~154 ms, 최대 1.1초까지 튀는 반면 5 GHz 에 혼자 있는 A 는 평균 1.3 ms 다. 같은 방, 같은 AP 에서 채널 하나 차이다.

K8s 관점에서 이 지연 분산은 단순 불편이 아니다 — liveness probe 타임아웃, 이미지 풀 지연, etcd/apiserver 통신 지터로 그대로 이어진다.

3. 최하위 협상 레이트에 갇힌 노드는 채널 전체를 끌어내린다

F 는 협상 속도가 48/54 Mbps — 레거시 레이트에 갇혀 있고, 유일하게 패킷 손실(13%)이 났으며, 20 MB 전송이 한 번은 타임아웃, 재시도는 1.0 Mbps 였다. 느린 노드의 문제로 끝나지 않는 게 핵심이다. 느린 레이트의 전송은 같은 바이트를 보내는 데 더 긴 에어타임을 점유하므로, 한 채널을 공유하는 다른 4노드의 몫까지 갉아먹는다. 채널에서 가장 느린 송신자가 채널 전체의 상한을 정하는 셈이다.

결론과 다음 단계

  • 오늘의 순위(실전송): D 12.2 > C 4.4 > E 3.9 > B 2.5 > F 1.0 — 신호 순위와도, 협상 속도 순위와도 다르다
  • 지금 구조의 병목은 개별 동글이 아니라 “2.4 GHz 한 채널에 5노드” 라는 배치 자체다
  • 다음 개선은 순서대로: ① F 의 레거시 레이트 원인 제거(가장 급함 — 채널 전체에 민폐) ② 5 GHz 지원 어댑터로 노드를 두 밴드에 분산 ③ 그래도 부족하면 유선 복귀

측정 명령은 전부 표준 도구(iw, ping, scp)라 어느 리눅스 노드에서든 재현 가능하다. 협상 속도 자랑 말고 실전송을 재라 — 이번 표가 그 이유다.