콘텐츠로 건너뛰기
Telemetry
데이터베이스 신뢰성 SQL 레시피

데이터베이스 연결 풀 포화도 측정

애플리케이션 서비스별 평균 풀 활용도, 대기 중인 획득 대기, 시간 초과 및 유휴 용량을 측정합니다.

초보자database_pool_samples검토됨 2026-07-28테스트됨 아파치 DataFusion 45.2.0

검토자 Telemetry 제품 팀 . SQL 호환성, 이벤트 계약, 합성 출력 및 운영상의 주의사항. 표준 및 소유권 검토

질문에 답변됨

호출자가 데이터베이스 연결을 기다리게 만드는 응용 프로그램 풀은 무엇입니까?

전체 풀이 자동으로 비정상이 되는 것은 아니지만 지속적인 사용률과 대기 중인 호출자 및 획득 시간 초과는 데이터베이스 액세스로 인해 애플리케이션 작업이 지연되고 있다는 강력한 신호입니다.

이벤트 계약

쿼리가 예상하는 필드

필드유형그것이 존재하는 이유
timestamp_utcTimestamp풀 샘플 시간(UTC)입니다.
serviceUtf8풀을 소유한 애플리케이션 서비스입니다.
pool_nameUtf8안정적인 논리 풀 이름입니다.
active_connectionsInt64현재 체크아웃된 연결입니다.
idle_connectionsInt64현재 유휴 상태인 열린 연결입니다.
max_connectionsInt64최대 풀 크기가 구성되었습니다.
wait_msFloat64이 샘플에 대한 연결 획득 대기가 관찰되었습니다.
timed_outBoolean획득이 클라이언트 시간 초과를 초과했는지 여부입니다.
environmentUtf8배포 환경.
DataFusion SQL

쿼리 복사

sql
SELECT
  service,
  pool_name,
  COUNT(*) AS samples,
  100.0 * AVG(active_connections)
    / NULLIF(MAX(max_connections), 0) AS average_utilization_pct,
  SUM(CASE WHEN wait_ms > 0 THEN 1 ELSE 0 END) AS waited_samples,
  100.0 * SUM(CASE WHEN wait_ms > 0 THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS wait_rate_pct,
  AVG(wait_ms) AS average_wait_ms,
  SUM(CASE WHEN timed_out THEN 1 ELSE 0 END) AS timeouts
FROM database_pool_samples
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
  AND environment = 'production'
GROUP BY service, pool_name
HAVING COUNT(*) >= 10
ORDER BY wait_rate_pct DESC, average_utilization_pct DESC;

이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.

쿼리 결과

연결 획득 대기율

결제 호출자는 샘플의 2/3를 기다리며 획득 시간 초과도 경험합니다.

servicepool_namesamplesaverage_utilization_pctwaited_sampleswait_rate_pctaverage_wait_mstimeouts
checkout-apiprimary1289.17866.67118.752
analytics-apireporting1245433.3312.50

합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.

Connection acquisition wait rate: Measure Database Connection-Pool Saturation 예제 결과의 합성 wait_rate_pct 값에 대한 정적 차트
결정론적 예제 출력의 색인 생성 가능한 SVG입니다. 기사, 런북 또는 저작자가 포함된 디자인 검토를 위해 다운로드하세요.

예제 재현

공공 픽스처 다운로드

JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. reproducible 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.

SQL 작동 방식

  1. 1평균 활용도는 용량 컨텍스트를 제공하지만 실패 신호로 단독으로 사용되지는 않습니다.
  2. 2대기 샘플 속도는 대기 시간이 짧은 경우에도 호출자가 경합에 직면하는 빈도를 보여줍니다.
  3. 3평균은 연결을 얻지 못하는 더 작은 요청 집합을 숨길 수 있기 때문에 시간 초과는 명시적으로 유지됩니다.

결정해야 할 극단적인 경우

  • 서비스 간 속도를 비교하기 전에 샘플링 빈도를 안정적으로 유지해야 합니다.
  • 서버리스 동시성은 많은 독립 풀을 생성할 수 있습니다. 집계로 인해 해당 형태가 숨겨지는 경우 인스턴스 또는 런타임 차원을 포함합니다.
  • 풀 크기를 늘리면 경합이 데이터베이스로 옮겨질 수 있습니다. 클라이언트 제한을 변경하기 전에 데이터베이스 용량을 확인하십시오.

추천 대시보드

  • 바: 서비스별 wait_rate_pct 및 average_utilization_pct
  • 추세: 활성, 유휴 및 대기 연결
  • 통계: 연결 획득 시간 초과

알림 안내

대기율과 시간 초과가 연속 샘플 전반에 걸쳐 높은 상태로 유지되면 알림하고 풀을 늘리기 전에 데이터베이스 용량을 검증합니다.

알림 설정 읽기

레시피를 활용해 보세요

관련 계측 및 가이드

분석 계속하기

실제 이벤트에서 실행

테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.

무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.

API 키 받기