8.12. 처리량 문제 해결
OpenShift Container Platform을 통해 애플리케이션을 배포하면 특정 서비스 간에 대기 시간이 비정상적으로 길어지는 등 네트워크 처리량 문제가 발생하는 경우가 있습니다.
Pod 로그에 문제의 원인이 드러나지 않는 경우 다음 방법으로 성능 문제를 분석하십시오.
ping 또는 tcpdump와 같은 패킷 Analyzer를 사용하여 pod와 해당 노드 간 트래픽을 분석합니다.
예를 들어, 각 pod에서 tcpdump 도구를 실행하여 문제의 원인이 되는 동작을 재현합니다. Pod와의 트래픽 대기 시간을 분석하기 위해 전송 및 수신 타임스탬프를 비교하려면 전송 캡처와 수신 캡처를 둘 다 검토하십시오. 다른 Pod, 스토리지 장치 또는 데이터 플레인의 트래픽으로 노드 인터페이스가 과부하된 경우 OpenShift Container Platform에서 대기 시간이 발생할 수 있습니다.
$ tcpdump -s 0 -i any -w /tmp/dump.pcap host <podip 1> && host <podip 2> 1
- 1
podip
은 Pod의 IP 주소입니다. 다음 명령을 실행하여 Pod의 IP 주소를 가져옵니다.
# oc get pod <podname> -o wide
tcpdump는 이 두 포드 간의 모든 트래픽을 포함하는 /tmp/dump.pcap 에 파일을 생성합니다. 문제가 재현되기 직전에 Analyzer를 실행하고 문제 재현이 종료된 직후 Analyzer를 중지하여 파일 크기를 최소화하는 것이 좋습니다. 다음을 사용하여 노드 간에 패킷 Analyzer를 실행할 수도 있습니다(방정식에서 SDN 제거).
# tcpdump -s 0 -i any -w /tmp/dump.pcap port 4789
- 스트리밍 처리량 및 UDP 처리량을 측정하려면 iperf와 같은 대역폭 측정 도구를 사용합니다. 먼저 포드에서 툴을 실행한 다음 노드에서 툴을 실행하여 병목 현상이 발생하는지 확인합니다. iperf3 도구는 RHEL 7의 일부로 포함되어 있습니다.
iperf3 설치 및 사용에 대한 자세한 내용은 다음 Red Hat 솔루션을 참조하십시오.