쿼리 통계 가져오기
이 페이지에서는 cbt CLI를 사용해서 쿼리 통계를 가져오는 방법을 설명합니다. 또한 Cloud Bigtable용 Go 클라이언트 라이브러리를 사용하여 쿼리 통계를 가져올 수도 있습니다.
여기에 제공된 콘텐츠는 애플리케이션 개발자를 대상으로 합니다. 이 페이지를 읽기 전에 Bigtable 스토리지 모델을 이해해야 합니다. 또한 스키마 디자인 권장사항을 숙지하고 성능을 이해해야 합니다.
Bigtable 쿼리 정보를 가져오는 기능은 애플리케이션을 개발할 때 유용할 수 있습니다. 쿼리 성능에 대한 데이터를 가져온 후 쿼리를 조정하거나 쿼리 성능을 미세 조정하기 위해 스키마 디자인을 변경할 수 있습니다.
일반적으로 쿼리는 테이블에 전송되는 모든 데이터 요청이지만 Bigtable는 읽기 요청에 대해서만 쿼리 통계를 반환합니다.
시작하기 전에
cbtCLI를 아직 설치하지 않았으면.cbtrc파일 만들기 단계를 포함하여cbtCLI 개요의 안내를 따릅니다.cbtCLI 참조의 행 읽기 섹션을 참조하여 명령줄 구문 및 테이블에cbt read요청을 전송하는 데 사용할 수 있는 옵션을 숙지합니다.cbtCLI는 필터를 지원하지 않습니다.- 테이블에 대해
bigtable.tables.readRows권한이 있는지 또는bigtable.reader역할의 주 구성원인지 확인합니다.
쿼리 실행
행 읽기 구문을 사용하여 쿼리를 만듭니다.
다음 명령어를 실행합니다.
include-stats=full매개변수는 Bigtable이 쿼리 통계를 반환하도록 지정합니다.cbt read TABLE_ID QUERY include-stats=full다음을 바꿉니다.
TABLE_ID: 쿼리를 실행하는 테이블의 고유 ID입니다.QUERY:cbtCLI 형식의 쿼리입니다.
터미널에는 읽은 데이터 및 다음 통계가 포함된 목록이 표시됩니다.
rows_seen_count: Bigtable이 요청에 대해 처리한 행 수입니다.rows_returned_count:필터를 적용한 후 반환된 행 수입니다.cells_seen_count: 요청에 대해 처리된 셀 수입니다.cells_returned_count: 필터를 적용한 후 반환된 셀 수입니다.frontend_server_latency: Bigtable 프런트엔드 서버 풀에서 측정된 요청 지연 시간(밀리초)입니다.
결과 해석
반환된 셀에 표시된 셀 비율을 확인합니다.
cells_seen_count/cells_returned_count의 몫이 1이거나 1에 가까우면 쿼리로 인해 Bigtable에서 궁극적으로 필터링된 데이터가 처리되지 않았음을 나타냅니다.반환되는 행 수를 고려하세요. 숫자가 클수록 Bigtable이 수행하는 작업이 많습니다. 여기에서 최적의 숫자는 사용 사례 및 지연 시간 요구사항에 따라 달라지지만 일반적으로 더 적은 행을 반환하는 쿼리의 지연 시간이 더 낮습니다.
예
my-table이라는 테이블에서 정규 표현식 orange:*.*와 일치하는 모든 행을 읽을 때 쿼리 통계를 가져오려면 다음을 실행할 수 있습니다.
cbt read my-table regex='.*orange' columns='.*:.*' include-stats=full
출력은 다음과 비슷합니다.
----------------------------------------
orange
Details:Color @ 2022/09/26-14:48:01.286000
"orange"
Details:Size @ 2022/09/26-14:48:01.286000
"medium"
Request Stats
====================
rows_seen_count: 10
rows_returned_count : 1
cells_seen_count: 2
cells_returned_count: 2
frontend_server_latency: 13ms