데이터베이스 성능 관리는 데이터베이스의 성능을 실시간으로 감시하고 문제점을 진단, 분석하여 문제가 되는 SQL을 튜닝하고 적용하여 문제점이 해결되었는지 실시간으로 감시하는 작업입니다. 이런 일련의 작업을 위해 데이터베이스의 어떤 지표들을 확인해야 하는지 소개하겠습니다.
데이터베이스에서 수행하는 모든 작업은 데이터베이스와 관련된 리소스에 영향을 미칩니다. 인프라 리소스 메트릭스는 현재 및 잠재적인 성능 문제를 파악할 수 있게 해줍니다. 장기간 리소스 지표를 분석하면 용량 계획에 근거 자료가 됩니다.
인프라 지표의 허용 임계값을 초과하거나 미달하는 경우, 해당 수치를 데이터베이스 지표와 연관시키는 것이 좋습니다. 디스크가 가득 차거나 네트워크가 포화 상태인 것과 같은 하드웨어 또는 네트워크 관련 이벤트가 쿼리 성능을 저하시킬수 있기 때문입니다.
데이터베이스를 사용할 수 있고 액세스할 수 있는지 확인해야 합니다. 데이터베이스의 가용성 확인을 위해 아래와 같은 정보를 확인합니다.
처리량은 이용 중인 데이터베이스가 얼마만큼의 일을 수행하고 있는지 성능을 위해 측정해야 필수 항목입니다. 데이터베이스 플랫폼마다 처리량을 나타내는 지표는 다르지만 일반적으로 아래와 같은 항목을 확인합니다.
처리량과 마찬가지로 성능 카운터는 데이터베이스마다 다릅니다. 주요 성능 지표는 다음과 같습니다
데이터베이스는 종종 반복적인 작업을 예약된 '작업'으로 실행합니다. Microsoft SQL Server나 Oracle과 같은 일부 시스템에는 작업 예약 기능이 내장되어 있는 반면, 다른 시스템에서는 cron 또는 타사 스케줄러를 사용합니다. 예약된 작업의 몇 가지 예는 다음과 같습니다:
데이터베이스에는 로그를 자체적으로 기록합니다. 이 로그는 하나 이상의 실제 파일로 구성될 수 있습니다. 모니터링 도구는 이러한 로그를 수집, 구문 분석, 저장하고 로그를 통해 노출되는 이벤트로부터 메트릭과 대시보드를 생성할 수 있어야 합니다. 로그에는 데이터베이스 시스템 상태 정보가 포함될 수 있으므로 로그 관리는 데이터베이스 모니터링의 핵심 요구 사항 중 하나입니다.
일부 데이터베이스는 기본적으로 자체 모니터링 도구를 함께 제공하기도 하고 DBA가 자체 개발한 스크립트로 성능 메트릭을 수집하고 자체 대시보드를 구성해서 모니터링 하기도 합니다.
애플리케이션 성능 모니터링(APM) 에서도 데이터베이스 지표를 취합하기도 합니다.
로그, 애플리케이션, 데이터베이스 등을 모니터링 하기 위해 개별 솔루션을 사용하기도 하지만 하나의 도구만 선택하면 모니터링이 훨씬 쉬워집니다.
지금까지 데이터베이스 성능 관리를 위한 필수로 봐야하는 지표를 소개했습니다. 통합 모니터링 플랫폼을 통해 데이터베이스 성능 관리 뿐만 아니라 데이터베이스에서 생성하는 로그, 애플리케이션까지 성능 관리를 하는 것을 추천해 드립니다.