SQL Server의 성능을 모니터링하는 것은 데이터베이스 관리에서 매우 중요한 작업입니다. 특히, 대규모 데이터베이스 운영 환경에서는 성능 저하나 장애 발생 시 신속한 대응이 필요합니다. 이러한 문제를 해결해줄 도구가 바로 Performance Monitor입니다. 이 오픈소스 프로젝트는 무료로 제공되며, SQL Server 2016부터 2025까지 지원하고 Azure SQL 및 AWS RDS 환경에서도 사용할 수 있습니다.

Performance Monitor란?

Performance Monitor는 SQL Server의 성능을 실시간으로 모니터링하고 경고를 제공합니다. 32개의 수집기를 이용해 다양한 성능 지표를 수집하며, AI 분석을 위한 MCP 서버도 내장되어 있습니다. 이 도구는 비용이 많이 드는 상용 솔루션을 대체할 수 있는 강력한 대안으로 자리잡고 있습니다. 데이터는 사용자의 서버에만 저장되므로 보안 측면에서도 우수합니다.

주요 기능 및 특징

다양한 수집기

Performance Monitor는 30개 이상의 T-SQL 수집기를 통해 다양한 성능 지표를 수집합니다. 이 수집기를 통해 쿼리 성능, 대기 상태, 차단, 데드락 등을 실시간으로 관찰할 수 있습니다.

실시간 경고

모니터링 중 문제가 발생할 경우, 실시간으로 경고를 받을 수 있는 기능이 있어 즉각적으로 문제를 해결할 수 있습니다. 이는 운영의 안정성을 크게 향상시킵니다.

직관적인 대시보드

사용자는 직관적인 대시보드를 통해 서버 상태를 한눈에 확인할 수 있습니다. 그래픽적으로 구성된 데이터는 성능 분석을 한층 쉽게 만들어줍니다.

![대시보드 샘플 화면](Screenshots/Screenshot%20Dashboard%20landing%20page%20with%20server%20health%20cards.jpg)

경량화된 설치

Performance Monitor의 Lite 버전은 서버에 설치할 필요 없이 단일 데스크톱 애플리케이션으로 모니터링을 수행할 수 있어 매우 유용합니다.

설치 및 기본 사용법

1. 다운로드

Performance Monitor는 GitHub Releases에서 다운로드할 수 있습니다. 두 가지 버전이 제공되니, 필요에 따라 선택하면 됩니다.

  • Full Edition: SQL Agent를 사용하여 30개의 T-SQL 수집기를 실행합니다.
  • Lite Edition: 로컬 DuckDB 및 Parquet 데이터베이스에 데이터를 저장하며, 서버에 영향을 미치지 않습니다.
  • 2. 설치 및 실행

    Lite Edition의 경우, 다음 단계를 따라 설치할 수 있습니다:

    # Lite Edition 다운로드
    wget https://github.com/erikdarlingdata/PerformanceMonitor/releases/latest/download/PerformanceMonitorLite.zip
    
    # 압축 해제
    unzip PerformanceMonitorLite.zip
    
    # 애플리케이션 실행
    cd PerformanceMonitorLite
    dotnet run

    이제 애플리케이션이 실행되며, 서버에 접속하여 데이터를 모니터링할 수 있습니다.

    3. Full Edition 설정

    Full Edition을 설정하려면 SQL Server에서 SQL Agent를 활성화하고, 필요한 권한을 설정해야 합니다. SQL Server Management Studio(SSMS)에서 다음 쿼리를 실행하여 권한을 부여합니다:

    GRANT VIEW SERVER STATE TO [YourUserName];

    이후 Performance Monitor를 설치하고 대시보드에 접속하여 모니터링을 시작합니다.

    실무에서의 활용 시나리오

    Performance Monitor는 다양한 시나리오에서 활용될 수 있습니다. 예를 들어, 대규모 웹 애플리케이션을 운영하는 경우, 성능 저하가 발생할 때 즉시 경고를 받고 이를 기반으로 문제를 신속하게 해결할 수 있습니다. 또한, 정기적인 데이터 수집을 통해 장기적인 성능 분석이 가능하여, 성능 개선을 위한 인사이트를 제공받을 수 있습니다.

    비슷한 도구와의 비교

    시중에는 SQL Server 성능 모니터링을 위한 다양한 도구가 존재합니다. 예를 들어, SolarWinds, Redgate SQL Monitor와 같은 상용 솔루션이 있습니다. 이들 도구는 고급 기능을 제공하지만, 비용이 만만치 않습니다. 반면 Performance Monitor는 무료로 사용할 수 있으며, 기본적인 성능 모니터링 기능을 충분히 갖추고 있어 비용 효율적인 대안이 될 수 있습니다.

    추천 대상

  • SQL Server 관리자(DBA) 및 엔지니어
  • 데이터베이스 성능을 최적화하고자 하는 개발자
  • 비용 효율적인 모니터링 솔루션을 찾고 있는 기업
  • 클라우드 환경에서 SQL Server를 운영 중인 사용자

Performance Monitor는 안정적이고 강력한 SQL Server 성능 모니터링 도구로서, 누구나 쉽게 사용할 수 있습니다. 자세한 정보와 다운로드는 GitHub 리포지토리에서 확인하세요.