시스템 통계를 사용하여 시스템 성능 향상

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 페이지에서는 Cloud SQL 시스템 통계 대시보드를 사용하는 방법을 설명합니다. 시스템 통계 대시보드는 인스턴스가 사용하는 리소스에 대한 측정항목을 표시하며 시스템 성능 문제를 감지하고 분석하는 데 도움이 됩니다.

시스템 통계 대시보드 보기

시스템 통계 대시보드를 보려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스 이름을 클릭합니다.
  3. 왼쪽의 SQL 탐색 패널에서 시스템 통계 탭을 선택합니다.

시스템 통계 대시보드가 열립니다. 상단에는 인스턴스의 세부정보, 측정항목의 요약 카드, 일부 주요 측정항목의 차트가 표시됩니다.

Cloud SQL Monitoring 대시보드를 표시합니다. 시간 범위를 설정하는 필터가 있습니다. 중요한 측정항목의 차트가 표시됩니다.

대시보드는 다음과 같은 상위 수준 옵션을 제공합니다.

  • 차트 두 개를 나란히 또는 행별로 하나씩 보려면 전환 버튼을 클릭합니다.

  • 시간 선택기에 기본적으로 선택된 1 hour가 표시됩니다. 기간을 변경하려면 사전 정의된 다른 기간 중 하나를 선택하거나 커스텀을 클릭하고 시작 및 종료 시간을 정의합니다. 지난 30일 동안의 데이터를 확인할 수 있습니다.

  • 대시보드 절대 링크를 만들려면 링크 복사 버튼을 클릭합니다. 이 권한을 가진 다른 Cloud SQL 사용자와 이 링크를 공유할 수 있습니다.

요약 카드는 일부 측정항목의 최신 또는 집계 값을 표시하고 데이터베이스 상태와 성능에 대한 개요를 제공합니다.

측정항목 차트에는 처리량, 지연 시간, 비용 등 여러 가지 문제에 대한 유용한 정보를 얻는 데 도움이 되는 중요한 측정항목에 대한 정보가 표시됩니다. 이 정보는 애플리케이션 변경이 필요한 경우를 사전에 대비하는 데 도움이 됩니다.

요약 카드

다음 표에서는 시스템 통계 대시보드 상단에 표시되는 요약 카드를 설명합니다. 이 카드는 선택한 기간 동안의 데이터베이스 상태 및 성능에 대한 개요를 제공합니다.

요약 카드설명
CPU 사용률 - P99 | P50 선택한 기간의 P99 및 P50 CPU 사용률 값입니다.
디스크 사용률 선택한 기간의 최신 디스크 사용률 값입니다.
최대 연결 수 선택한 기간 중 최고 연결 수 및 최대 연결 수의 비율입니다. 최대 연결 수는 인스턴스 확장 또는 max_connections 설정 수동 변경과 같이 최근에 최대 수가 변경된 경우 최대 수보다 클 수 있습니다.
로그 오류 선택한 기간에 로깅된 오류 수입니다.

측정항목 차트

샘플 측정항목의 차트 카드가 다음과 같이 표시됩니다.

샘플 Cloud SQL 측정항목 데이터를 보여주는 그래프

각 차트 카드의 툴바는 다음과 같은 표준 옵션 집합을 제공합니다.

  • 범례를 숨기거나 표시하려면 을 클릭합니다.

  • 선택한 기간의 특정 시점의 측정항목 값을 보려면 차트 위로 커서를 이동합니다.

  • 전체 화면 모드로 차트를 보려면 을 클릭합니다. 전체 화면 모드를 종료하려면 Esc를 클릭합니다.

  • 차트를 확대하려면 차트를 클릭하고 x축을 따라 가로 또는 y축을 따라 세로로 드래그합니다. 확대/축소 작업을 되돌리려면 를 클릭합니다. 확대/축소 작업은 대시보드의 모든 차트에 동시에 적용됩니다.

  • 추가 옵션을 보려면 를 클릭합니다. 대부분의 차트에서는 다음 옵션을 제공합니다.

    • PNG 이미지를 다운로드합니다.
    • 커스텀 대시보드에 추가 대시보드의 이름을 제공하거나 기존 커스텀 대시보드를 선택합니다. Cloud Monitoring을 사용하여 대시보드를 보고 수정합니다.
    • 측정항목 탐색기에서 보기 측정항목 탐색기에서 측정항목을 봅니다. Cloud SQL 데이터베이스 리소스 유형을 선택한 후 측정항목 탐색기에서 다른 Cloud SQL 측정항목을 볼 수 있습니다.

다음 표에서는 Cloud SQL 시스템 통계 대시보드에 기본적으로 표시되는 Cloud SQL 차트를 설명합니다. 측정항목 유형 문자열은 cloudsql.googleapis.com/database/ 프리픽스를 따릅니다.

측정항목 이름 및 유형설명
쿼리 지연 시간
postgresql/insights/aggregate/latencies

사용자 및 데이터베이스당 P99, P95, P50 기준별로 집계된 쿼리 지연 시간 분포입니다.

쿼리 통계가 사용 설정된 인스턴스에서만 사용할 수 있습니다.

데이터베이스/사용자/클라이언트 주소당 데이터베이스 로드
postgresql/insights/aggregate/execution_time

데이터베이스, 사용자 또는 클라이언트 주소별로 누적된 쿼리 실행 시간입니다. 쿼리 실행과 관련된 모든 프로세스에 대한 CPU 시간, IO 대기 시간, 잠금 대기 시간, 프로세스 컨텍스트 전환, 예약의 합계입니다.

쿼리 통계가 사용 설정된 인스턴스에서만 사용할 수 있습니다.

CPU 사용률
cpu/utilization

현재 사용 중인 예약된 CPU의 비율로 표시되는 현재 CPU 사용률입니다.

유형별 디스크 스토리지
disk/bytes_used_by_data_type

data, binlog, tmp_data 등 데이터 유형별 인스턴스 디스크 사용량의 분류입니다.

이 측정항목을 사용하면 스토리지 비용을 파악할 수 있습니다. 스토리지 사용 비용에 대한 자세한 내용은 스토리지 및 네트워킹 가격 책정을 참조하세요.

point-in-time recovery(PITR)는 미리 쓰기 로그(WAL) 보관처리를 사용합니다. 이 로그는 정기적으로 업데이트되고 저장공간을 사용합니다. 미리 쓰기 로그는 일반적으로 약 7일 후에 관련된 자동 백업과 함께 자동으로 삭제됩니다.

미리 쓰기 로그 크기로 인해 인스턴스에 문제가 발생하면 스토리지 크기를 늘리면 됩니다. 하지만 미리 쓰기 로그 크기에 따른 디스크 사용량 증가가 일시적인 것일 수도 있습니다. PITR을 사용할 때는 예기치 않은 스토리지 문제가 발생하지 않도록 스토리지 자동 증가를 사용 설정하는 것이 좋습니다.

로그를 삭제하고 저장용량을 복구하려면 point-in-time recovery를 중지하면 됩니다. 하지만 사용되는 저장용량을 줄여도 인스턴스에 프로비저닝된 저장용량의 크기가 축소되지 않습니다.

임시 데이터는 스토리지 사용량 측정항목에 포함됩니다. 임시 데이터는 유지보수의 일부로 삭제되며 디스크 용량 부족 이벤트를 방지하기 위해 사용자가 정의한 용량 한도를 초과하여 무료로 늘릴 수 있습니다.

새로 만든 데이터베이스는 시스템 테이블 및 파일을 위해 약 100MB를 사용합니다.

디스크 읽기/쓰기 작업
disk/read_ops_count, disk/write_ops_count

읽기 수 측정항목은 디스크에서 제공된 읽기 작업 중에서 캐시에서 가져오지 않은 작업의 수를 나타냅니다. 이 측정항목을 사용하여 인스턴스 크기가 작업 환경에 맞게 제대로 지정되었는지 파악할 수 있습니다. 필요한 경우 더 큰 머신 유형으로 전환하여 캐시에서 더 많은 요청을 처리하고 지연 시간을 줄일 수 있습니다.

쓰기 수 측정항목은 디스크에 대한 쓰기 작업 수를 나타냅니다. 쓰기 작업은 애플리케이션이 활성 상태가 아니어도 생성됩니다. Cloud SQL 인스턴스(복제본 제외)는 약 1초 간격으로 시스템 테이블에 쓰기 때문입니다.

상태별 연결
postgresql/num_backends_by_state

idle, active, idle_in_transaction, idle_in_transaction_aborted, disabled, fastpath_function_call 상태별로 그룹화된 연결 수입니다.

이러한 상태에 대한 자세한 내용은 pg_stat_activity 문서의 state text 행을 참조하세요.

데이터베이스당 연결
postgresql/num_backends

데이터베이스 인스턴스가 보유한 연결 수입니다.

인그레스/이그레스 바이트
network/received_bytes_count, network/sent_bytes_count

인스턴스와 주고받은 각 인그레스 바이트 수(수신된 바이트) 및 이그레스 바이트 수(전송된 바이트) 측면에서의 네트워크 트래픽입니다.

유형별 IO 대기 분석
postgresql/insights/perquery/io_time

읽기 및 쓰기 유형별 SQL 문에 대한 IO 대기 시간의 분류입니다.

쿼리 통계가 사용 설정된 인스턴스에서만 사용할 수 있습니다.

데이터베이스별 교착 상태 수
postgresql/deadlock_count

데이터베이스별 교착 상태 수입니다.

블록 읽기 수
postgresql/blocks_read_count

디스크 및 버퍼 캐시에서 초당 읽은 블록 수입니다.

작업별 처리된 행
postgresql/tuples_processed_count

작업별로 초당 처리되는 행 수입니다.

상태별 데이터베이스의 행
postgresql/tuple_size

데이터베이스의 상태당 행 수입니다.

기간별 가장 오래된 트랜잭션
postgresql/vacuum/oldest_transaction_age

청소 작업을 차단하는 가장 오래된 트랜잭션의 기간입니다.

WAL 보관처리
replication/log_archive_success_count, replication/log_archive_failure_count

분당 보관처리가 완료되거나 실패한 미리 쓰기 로그 파일 수입니다.

또한 Cloud Logging 측정항목인 심각도별 로그 항목(logging.googleapis.com/log_entry_count)에는 오류 및 경고 로그 항목의 총 개수가 표시됩니다. 이는 데이터베이스 로그인 postgres.log와 데이터 액세스 정보가 포함된 pgaudit.log에서 추출됩니다.

자세한 내용은 Cloud SQL 측정항목을 참조하세요.

다음 단계