히트맵 패턴
이 페이지에서는 Key Visualizer 스캔의 히트맵에서 볼 수 있는 패턴의 예와 각 패턴의 의미에 대해 설명합니다. 이 정보를 사용하면 Bigtable의 성능 문제를 진단할 수 있습니다.
- Key Visualizer 스캔을 여는 방법에 대해 알아보려면 특정 기간의 스캔 보기를 참조하세요.
- Key Visualizer 스캔을 자세히 탐색하는 방법을 알아보려면 히트맵 탐색을 참조하세요.
이 페이지를 읽기 전에 Key Visualizer 개요를 숙지해야 합니다.
공통 패턴 개요
이 페이지에서는 다음의 Key Visualizer 패턴을 해석하는 방법을 설명합니다.
고르게 분포된 읽기 및 쓰기
히트맵에 밝고 어두운 색상이 고운 결로 혼합되어 표시되는 경우에는 테이블 전반에서 읽기 및 쓰기가 고르게 분포된 것입니다. 이 히트맵은 Bigtable의 효율적인 사용 패턴을 의미하므로 조치를 취할 필요가 없습니다.
주기적 사용
히트맵에서 키 범위 안에 밝고 어두운 색상의 밴드가 번갈아 표시되는 경우는 해당 키 범위를 특정 기간 동안만 액세스하고 그 외 기간에는 액세스하지 않는 것입니다. 예를 들어 특정 시간대에 키 범위에 액세스하는 일괄 작업을 실행 중인 것일 수도 있습니다.
이 사용 패턴은 과도한 CPU 사용이나 지연 시간을 초래하지 않으며 이러한 방식으로 데이터를 액세스하는 것이 원래의 의도일 경우에 한하여 문제가 되지 않습니다. 이 패턴으로 인해 과도한 CPU 사용이 발생할 경우에는 최대 사용 기간 동안 클러스터에 노드를 추가해야 합니다. 특정 시간대에 훨씬 더 많이 데이터에 액세스할 의도가 없었다면 애플리케이션을 조사하여 어떤 것들이 제대로 작동하고 있지 않은지를 찾아내세요.
핫 키 범위
히트맵에서 밝은 색상의 가로 밴드가 어두운 색상에 의해 분리되어 있으면 밝은 색상의 키 범위에 다음 중 하나의 문제가 있는 것입니다.
- 읽기 압력 지수 또는 쓰기 압력 지수 측정항목을 보고 있는 경우, 핫 키 범위는 높은 CPU 사용량이나 긴 지연 시간을 일으키고 있는 것일 수 있습니다. 이러한 문제는 대량의 읽기 또는 쓰기를 수행하거나 256MB 넘게 연속으로 저장하는 경우에 발생할 수 있습니다. 여러 행이 아닌 단일 행에 의해 이 경고가 트리거될 경우에 특히 주의하세요.
- 큰 행 측정항목을 보고 있는 경우 256MB가 넘는 데이터 또는 행당 평균 200MB가 넘는 데이터가 있는 행이 키 범위에 포함됩니다.
- 다른 측정항목을 보고 있는 경우에는 해당 키 범위에 있는 행을 다른 행보다 훨씬 더 많이 액세스하고 있는 것일 가능성이 높습니다.
문제를 해결하려면 적어도 다음 조치 중 하나를 수행하세요.
- 필터를 사용하여 읽는 데이터 양을 줄입니다.
- 많이 사용되는 행이나 과도하게 큰 행에 있는 데이터가 여러 행에 분산되도록 스키마 설계 또는 애플리케이션을 변경합니다.
- Bigtable의 읽기 결과를 캐시하도록 애플리케이션을 업데이트합니다.
- Bigtable에 일괄적으로 쓰고 중복 쓰기를 삭제하도록 애플리케이션을 업데이트합니다.
급격한 증가
히트맵에 어두운 색상에서 밝은 색상으로 갑자기 바뀌는 키 범위가 표시되는 경우에는 다음 변경사항 중 하나가 발생한 것입니다.
큰 행 측정항목을 보고 있는 경우에는 짧은 기간 동안 해당 키 범위에 있는 행에 대량의 데이터를 추가한 것입니다.
큰 행에서 데이터를 삭제하거나, 이러한 행에 데이터가 덜 저장되도록 스키마 설계를 변경하세요.
다른 측정항목을 보고 있는 경우에는 특정 시점에 해당 행에 대한 액세스를 평소보다 훨씬 더 많이 시작한 것일 가능성이 높습니다.
이 사용 패턴은 과도한 CPU 사용이나 지연 시간을 초래하지 않으며 이러한 방식으로 데이터를 액세스하는 것이 원래의 의도일 경우에 한하여 문제가 되지 않습니다. 이 패턴으로 인해 과도한 CPU 사용이 발생할 경우에는 최대 사용 기간 동안 클러스터에 노드를 추가해야 합니다. 특정 시점에 훨씬 더 많은 데이터 액세스를 시작할 의도가 없었다면 애플리케이션을 조사하여 어떤 것들이 제대로 작동하고 있지 않은지를 찾아내세요.
순차적 읽기 및 쓰기
히트맵에 밝은 대각선이 표시되면 테이블 내에서 인접한 키 범위에 순차적으로 액세스하고 있는 것입니다. 예를 들어 테이블의 행 키를 반복적으로 처리하는 일괄 작업을 실행한 것일 수도 있습니다.
이 사용 패턴은 과도한 CPU 사용이나 지연 시간을 초래하지 않으며 이러한 방식으로 데이터를 액세스하는 것이 원래의 의도일 경우에 한하여 문제가 되지 않습니다. 이 패턴으로 인해 과도한 CPU 사용이 발생할 경우에는 최대 사용 기간 동안 클러스터에 노드를 추가해야 합니다. 테이블 내의 행에 순차적으로 액세스할 의도가 없었다면 애플리케이션을 조사하여 어떤 것들이 제대로 작동하고 있지 않은지를 찾아내세요.
다음 단계
- Key Visualizer를 시작하는 방법 알아보기
- 히트맵을 세부적으로 탐색하는 방법 알아보기
- 히트맵에서 볼 수 있는 측정항목 알아보기