1.3.6. 처리량 문제 문제 해결 방법
OpenShift Container Platform을 사용하여 애플리케이션을 배포하면 특정 서비스 간의 대기 시간이 비정상적으로 길어지는 등 네트워크 처리량 문제가 발생할 수 있습니다.
Pod 로그에 문제의 원인이 표시되지 않는 경우 다음 방법을 사용하여 성능 문제를 분석하십시오.
ping또는tcpdump와 같은 패킷 Analyzer를 사용하여 Pod와 해당 노드 간의 트래픽을 분석합니다.예를 들어 각 Pod에서
tcpdump도구를 실행하여 문제의 원인이 되는 동작을 재현합니다. Pod에서 나가거나 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 주소입니다.oc get pod <pod_name> -o wide명령을 실행하여 Pod의 IP 주소를 가져옵니다.tcpdump명령은 두 Pod 간 모든 트래픽을 포함하는/tmp/dump.pcap에 파일을 생성합니다. 문제가 재현되기 직전에 Analyzer를 실행하고 문제 재현이 완료된 직후 Analyzer를 중지하여 파일 크기를 최소화할 수 있습니다. 다음을 사용하여 노드 간에 패킷 Analyzer를 실행할 수도 있습니다.$ tcpdump -s 0 -i any -w /tmp/dump.pcap port 4789
스트리밍 처리량 및 UDP 처리량을 측정하려면
iperf와 같은 대역폭 측정 툴을 사용합니다. 먼저 Pod에서 툴을 실행한 다음 노드에서 실행하여 병목 현상이 발생하는지 확인합니다.-
iperf설치 및 사용에 대한 자세한 내용은 Red Hat 솔루션을 참조하십시오.
-
- 경우에 따라 대기 시간 문제로 인해 클러스터에서 라우터 Pod를 사용하여 노드를 비정상으로 표시할 수 있습니다. 작업자 대기 시간 프로필을 사용하여 조치를 수행하기 전에 클러스터에서 노드 상태 업데이트를 기다리는 빈도를 조정합니다.
-
클러스터에 대기 시간이 짧고 대기 시간이 많은 노드가 지정된 경우 Ingress 컨트롤러에서
spec.nodePlacement필드를 구성하여 라우터 Pod 배치를 제어합니다.