데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

성능분석 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

No. Subject Author Date Views
1950 성능분석 16탄 – 메모리 / CPU 관련 성능 카운터 jevida(강성욱) 2016.10.15 5059
1949 성능분석 15탄 – I/O 관련 성능 카운터 jevida(강성욱) 2016.10.15 4001
» 성능분석 14탄 – SQL Server 사용 성능 카운터 jevida(강성욱) 2016.10.15 3952
1947 성능분석 13탄 – 누락된 인덱스(missing index) jevida(강성욱) 2016.10.15 2342
1946 성능분석 12탄 – 문제 쿼리 식별 jevida(강성욱) 2016.10.15 2122
1945 성능분석 11탄 – 실행 계획 분석 jevida(강성욱) 2016.10.15 4141
1944 성능분석 10탄 – 쿼리 실행 대기 시간 분석(xevent) jevida(강성욱) 2016.10.15 1909
1943 성능분석 9탄 – 쿼리 실행 분석 jevida(강성욱) 2016.10.15 3860
1942 성능분석 8탄 – IO 통계 (DISK 활동 분석) jevida(강성욱) 2016.10.15 1458
1941 성능분석 7탄 – 프로파일러 대기 유형 및 PREEMPTIVE_OS_WRITEFILEGATHER jevida(강성욱) 2016.10.15 1589
1940 성능분석 6탄 – CPU 경합 및 동시성 관련 대기 유형 jevida(강성욱) 2016.10.15 1882
1939 성능분석 5탄 – 메모리 및 네트워크 관련 대기 유형 jevida(강성욱) 2016.10.15 1926
1938 성능분석 4탄 – 디스크 및 IO 관련 대기 유형 jevida(강성욱) 2016.10.15 2066
1937 성능분석 3탄 – 집계 대기 통계 jevida(강성욱) 2016.10.15 1912
1936 성능분석 2탄 – 실행 요청을 기다리는 작업 확인 및 분석 (병렬 처리 대기 확인) jevida(강성욱) 2016.10.15 1352
1935 성능분석 1탄 – 실행 요청을 기다리는 작업 확인 및 분석 jevida(강성욱) 2016.10.15 1979
1934 확장이벤트를 사용하여 데드락 정보 확인 jevida(강성욱) 2016.10.15 1548
1933 확장 이벤트를 사용한 CPU 고부하 쿼리 추적 [1] jevida(강성욱) 2016.10.15 2114
1932 데이터에 대한 이해와 spill in tempdb jevida(강성욱) 2016.10.13 1760
1931 로그 파일이 많으면 왜 안 좋은가 jevida(강성욱) 2016.10.13 2049





XE Login