성능분석 14탄 – SQL Server 사용 성능 카운터
- Version : SQL Server 2005, 2008, 2008R2, 2012
성능카운터는 SQL 서버 성능에 대한 또 다른 관점을 제공 한다. SQL Server에서 사용하는 성능카운터에 대해서 알아본다. 아래 소개한 카운터 외에도 다양한 카운터 정보를 활용 할 수 있다.
Batch Requests/sec
[SQLServer:SQL Statistics] – [Batch Requests/sec]에 위치하며 서버에 수신되는 SQL 일괄 처리 요청 수 이다.
Transactions
모든 활성 트랜잭션의 수를 나타낸다. 트랜잭션 카운터는 [SQLServer:General Statistics], [SQLServer:Transactions] 두 군데 위치하고 있다. 활성 트랜잭션의 수를 알면 작업 부하에 대한 설정을 할 때 정보로 활용 할 수 있다.
Process blocked
[SQLServer:General Statistics] – [Process blocked]에 위치하며 현재 차단되어 있는 프로세서의 수로 스파이크 또는 가변 성능 문제를 해결 할 때 유용하게 사용 할 수 있다.
Error/sec
[SQLServer:SQL Errors]에 위치하며 초당 오류 개수를 표시 한다. 오류가 사용자의 작업에서 발생하는 것은 성능 문제의 해결의 핵심포인트 이다. 오류를 제거하는 것은 성능 향상을 위한 가장 기초 단계이다. 교착상태 모니터링은 매우 중요하다.
Number of Deadlocks/sec
[SQLServer:Locks] – [Number of Deadlocks/sec]에 위치하며 교착상태를 일으킨 잠금 요청 수를 나타낸다.
Log Growths
로그 증가는 데이터베이스의 트랜잭션 로그 파일을 자동 증가로 설정 했을 때 로그 파일이 증가할 때 기록 된다. 로그 증가가 중요한 이유는 로그파일이 증가 할 때 순간적으로 파일을 확장하기 위해 높은 IO를 요구하며 파일이 증가 하는 동안 데이터베이스가 정지 된다. 따라서 로그 증가 모니터링을 통하여 유휴시간에 미리 로그를 증가 시켜 놓거나 증가 용량에 대한 시나리오를 시스템 환경에 맞게 수정해야 한다.
Data File(s) Size(KB)
[SQLServer:Databases] – [Data File(s) (KB)]에 위치하며 데이터베이스에 있는 데이터 파일의 총 크기를 나타낸다. 데이터 파일의 크기를 모니터링하는 이유는 데이터베이스 로그 파일의 경우에는 파일이 증가 하였을 경우 이벤트로 기록되지만 데이터 파일은 증가 이벤트를 기록하지 않는다. 따라서 데이터의 증가량을 확인하여 파일의 증가 속도와 필요한 공간을 미리 확인 할 수 있으며 파일이 증가할 때 발생하는 여러 가지 성능 문제를 미연에 방지 할 수 있다.
[참고자료]
http://rusanu.com/2014/02/24/how-to-analyse-sql-server-performance/
강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp