지연 시간 발생 위치 식별

이 주제에서는 Spanner 구성요소 문제를 해결하여 지연 시간의 원인을 찾는 방법을 설명합니다. Spanner 요청에서 지연 시간이 발생할 수 있는 지점에 대한 자세한 내용은 Spanner 요청의 지연 시간 지점을 참조하세요.

  1. 서비스에 영향을 주는 클라이언트 애플리케이션에서 클라이언트 왕복 지연 시간에 비해 지연 시간이 증가했는지 확인합니다. 클라이언트 측 측정항목에서 다음 측정기준을 확인합니다.

    • 클라이언트 애플리케이션 이름
    • 클라이언트 지역(예: Compute Engine VM 영역) 및 호스트(즉, VM 이름)
    • Spanner API 메서드
    • Spanner API 상태

    이러한 측정기준별로 그룹화하여 문제가 특정 클라이언트, 상태 또는 메서드로 제한되는지 확인합니다. 멀티 리전 워크로드의 경우 문제가 특정 클라이언트나 Spanner 리전으로 제한되는지 확인합니다.

  2. 특히 클라이언트 측의 컴퓨팅 인프라(예: VM, CPU 또는 메모리 사용률, 연결, 파일 설명자 등)로 클라이언트 애플리케이션 상태를 확인하세요.

  3. Spanner 구성요소의 지연 시간을 확인합니다.

    a. OpenTelemetry 또는 OpenCensus를 사용하여 클라이언트 왕복 지연 시간을 확인합니다.

    b. OpenTelemetry 또는 OpenCensus를 사용하여 Google 프런트엔드(GFE) 지연 시간을 확인합니다.

    c. OpenTelemetry 또는 OpenCensus를 사용하여 Spanner API 요청 지연 시간을 확인합니다.

    클라이언트 왕복 지연 시간이 길지만 GFE 지연 시간과 Spanner API 요청 지연 시간은 짧은 경우 애플리케이션 코드에 문제가 있을 수 있습니다. 또한 클라이언트와 리전 GFE 간의 네트워킹 문제를 나타낼 수도 있습니다. 애플리케이션에 성능 문제가 발생하여 일부 코드 경로가 느려지면 각 API 요청의 클라이언트 왕복 지연 시간이 늘어날 수 있습니다. 또한 이전 단계에서 감지되지 않은 클라이언트 컴퓨팅 인프라에 문제가 있을 수 있습니다.

  4. Spanner 측정항목에 대한 다음 측정기준을 확인합니다.

    • Spanner 데이터베이스 이름
    • Spanner API 메서드
    • Spanner API 상태

    이러한 측정기준별로 그룹화하여 문제가 특정 데이터베이스, 상태 또는 메서드로 제한되는지 확인합니다. 멀티 리전 워크로드의 경우 문제가 특정 리전으로 제한되는지 확인합니다.

    GFE 지연 시간은 길지만 Spanner API 요청 지연 시간이 짧은 경우 다음 중 하나가 원인일 수 있습니다.

    • 다른 리전에서 데이터베이스에 액세스하는 경우. 이렇게 하면 GFE 지연 시간이 길어지고 Spanner API 요청 지연 시간은 짧아질 수 있습니다. 예를 들어 us-central1 리전에 인스턴스가 있는 us-east1 리전의 클라이언트에서 들어오는 트래픽은 GFE 지연 시간이 길지만 Spanner API 요청 지연 시간은 더 짧을 수 있습니다.

    • GFE 레이어에 문제가 있는 경우. Google Cloud 상태 대시보드에서 리전에 진행 중인 네트워킹 문제가 있는지 확인합니다. 문제가 없는 경우 지원 엔지니어가 GFE 문제 해결을 지원할 수 있도록 지원 케이스를 열고 이 정보를 포함하세요.

  5. 인스턴스의 CPU 사용률을 확인합니다. 인스턴스의 CPU 사용률이 권장 수준보다 높으면 노드를 수동으로 추가하거나 자동 확장을 설정해야 합니다. 자세한 내용은 자동 확장 개요를 참조하세요.

  6. Key Visualizer를 사용하여 잠재적인 핫스팟 또는 불균형 액세스 패턴 문제를 관찰 및 해결하고 문제 기간과 밀접한 관련이 있는 애플리케이션 코드 변경사항을 롤백해 봅니다.

  7. 트래픽 패턴 변화를 확인합니다.

  8. 쿼리 통계트랜잭션 통계를 확인하여 쿼리 또는 트랜잭션 성능 병목 현상이 있는지 확인합니다. 대부분의 경우 Spanner 권장사항에 따라 쿼리나 트랜잭션을 최적화해야 합니다.

  9. 가장 오래된 활성 쿼리의 절차를 수행하여 성능 병목 현상의 원인이 되는 비용 쿼리를 확인하고 필요에 따라 쿼리를 취소합니다.

  10. 다음 주제의 문제 해결 섹션에 있는 절차에 따라 Spanner 점검 도구를 사용하여 문제를 추가로 해결하세요.

다음 단계