데이터베이스 부하(Database load)
데이터베이스 부하(Database load)
데이터베이스 부하(DB load)는 데이터베이스의 세션 활동 수준을 측정합니다. DBLoad는 Database Insights의 핵심 지표이며, Database Insights는 매초 DB 부하를 수집합니다.
주제
- 활성 세션(Active sessions)
- 평균 활성 세션(Average active sessions)
- 평균 활성 실행(Average active executions)
- 차원(Dimensions)
출처: 문서
본문
활성 세션(Active sessions)
데이터베이스 세션은 애플리케이션이 관계형 데이터베이스와 주고받는 대화(dialogue)를 나타냅니다. 활성 세션(active session)은 DB 엔진에 작업을 제출하고 응답을 기다리는 연결입니다.
세션이 CPU에서 실행 중이거나 진행을 위해 리소스를 사용할 수 있게 되기를 기다리는 경우 활성 상태입니다. 예를 들어 활성 세션은 메모리로 읽힐 페이지(또는 블록)를 기다린 다음, 페이지에서 데이터를 읽는 동안 CPU를 소비할 수 있습니다.
평균 활성 세션(Average active sessions)
평균 활성 세션(AAS)은 Database Insights의 DBLoad 지표 단위입니다. 데이터베이스에서 동시에 활성 상태인 세션 수를 측정합니다.
Database Insights는 매초 쿼리를 동시에 실행하는 세션 수를 샘플링합니다. 각 활성 세션에 대해 Database Insights는 다음 데이터를 수집합니다.
- SQL 문
- 세션 상태(CPU에서 실행 중 또는 대기 중)
- 호스트
- SQL을 실행하는 사용자
Database Insights는 총 세션 수를 특정 기간의 샘플 수로 나누어 AAS를 계산합니다. 예를 들어 다음 표는 1초 간격으로 촬영한 실행 중인 쿼리의 5개 연속 샘플을 보여줍니다.
| 샘플 | 쿼리 실행 세션 수 | AAS | 계산 |
|---|---|---|---|
| 1 | 2 | 2 | 총 2세션 / 샘플 1개 |
| 2 | 0 | 1 | 총 2세션 / 샘플 2개 |
| 3 | 4 | 2 | 총 6세션 / 샘플 3개 |
| 4 | 0 | 1.5 | 총 6세션 / 샘플 4개 |
| 5 | 4 | 2 | 총 10세션 / 샘플 5개 |