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

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

성능분석 17탄 – SQLServer 블록킹 / 네트워크 관련 성능 카운터

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012

 

SQL Server 블록킹 및 네트워크 관련 성능 카운터에 대해서 알아 본다.

 

[SQL Server Blocking]

 

SQLServer:Locks

[SQLServer:Locks]에 위치하며 카운터의 정보는 각 서버의 잠금 요청에 대한 통계를 반환한다. 잠금 관련 성능 문제가 발생 할 경우 카운터 정보를 모니터링 하여 분석해야 한다. 카운터 정보만으로는 블록이 발생하지만 어떤 원인에 의해서 차단되는지는 알 수가 없다. 따라서 DMV등을 활용하여 차단되는 원인을 함께 분석해야 한다.

다음 링크는 Adam Machanic 블로그의 블록 모니터링 관련 아티클이다.

http://sqlblog.com/blogs/adam_machanic/archive/2011/04/23/leader-of-the-block-a-month-of-activity-monitoring-part-23-of-30.aspx

 

SQLServer:Wait Statistics

[SQLServer:Wait Statistics]에 위치하며 대기 통계를 나타낸다. DMV를 사용하여 대기 통계를 확인 할 수 있으나 성능 카운터의 장점은 여러 에코 시스템에서 수집, 저장, 분석을 쉽게 할 수 있다는 점이다. 모든 정보 유형을 성능 카운터를 통해 확인 할 수 있다.

 

SQLServer:Latches

[SQLServer:Latches]에 위치하며 내부 서버 래치와 관련된 통계를 나타낸다. 높은 래치의 값은 현재 경합이 발생 하고 있다는 것으로 원인을 찾아 분석해야 한다. 래치 경합에 대한 진단 빈 해결 방법은 다음 MS 백서를 참고 한다.

다운로드 : http://download.microsoft.com/download/B/9/E/B9EDF2CD-1DBF-4954-B81E-82522880A2DC/SQLServerLatchContention.pdf

 

 

 

[Network]

 

Network IO waits

[SQLServer:Wait Statistics] – [Network IO waits]에 위치하며 네트워크 IO 대기와 관련된 통계이다. 이 카운터의 정보는 클라이언트가 서버에서 반환하는 결과 세트를 처리하지 않기 때문에 서버가 차단되는 대기로 클라이언트가 큰 결과 집합을 요구하거나 클라이언트의 성능이 느린 경우 발생 한다. 이 숫자가 높다고 하여 무조건 네트워크 병목이라고 판단하기는 어렵다.

 

Network Interface

[Network Interface]에 위치하며 네트워크 연결을 통해 바이트와 패킷을 보내고 받는 속도를 측정하는 카운터로 구성 된다. 여기에는 연결 오류를 모니터링 하는 카운터도 포함된다.

 

IP object / TCP Object

[IP4], {IP6}, [TCP4], [TCP6]에 위치하며 프로토콜을 사용하여 보내고 받은 데이터그램 비율을 측정하여 나타낸다. IP, TCP 프로토콜 오류를 모니터링하는 카운터도 포함되어 있다. 네트워크의 헬스 체크에 유용하다.

 

[참고자료]

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
» 성능분석 17탄 – SQLServer 블록킹 / 네트워크 관련 성능 카운터 jevida(강성욱) 2016.10.15 3721
1950 성능분석 16탄 – 메모리 / CPU 관련 성능 카운터 jevida(강성욱) 2016.10.15 5134
1949 성능분석 15탄 – I/O 관련 성능 카운터 jevida(강성욱) 2016.10.15 4006
1948 성능분석 14탄 – SQL Server 사용 성능 카운터 jevida(강성욱) 2016.10.15 3955
1947 성능분석 13탄 – 누락된 인덱스(missing index) jevida(강성욱) 2016.10.15 2347
1946 성능분석 12탄 – 문제 쿼리 식별 jevida(강성욱) 2016.10.15 2125
1945 성능분석 11탄 – 실행 계획 분석 jevida(강성욱) 2016.10.15 4166
1944 성능분석 10탄 – 쿼리 실행 대기 시간 분석(xevent) jevida(강성욱) 2016.10.15 1909
1943 성능분석 9탄 – 쿼리 실행 분석 jevida(강성욱) 2016.10.15 3947
1942 성능분석 8탄 – IO 통계 (DISK 활동 분석) jevida(강성욱) 2016.10.15 1462
1941 성능분석 7탄 – 프로파일러 대기 유형 및 PREEMPTIVE_OS_WRITEFILEGATHER jevida(강성욱) 2016.10.15 1603
1940 성능분석 6탄 – CPU 경합 및 동시성 관련 대기 유형 jevida(강성욱) 2016.10.15 1884
1939 성능분석 5탄 – 메모리 및 네트워크 관련 대기 유형 jevida(강성욱) 2016.10.15 1938
1938 성능분석 4탄 – 디스크 및 IO 관련 대기 유형 jevida(강성욱) 2016.10.15 2077
1937 성능분석 3탄 – 집계 대기 통계 jevida(강성욱) 2016.10.15 1917
1936 성능분석 2탄 – 실행 요청을 기다리는 작업 확인 및 분석 (병렬 처리 대기 확인) jevida(강성욱) 2016.10.15 1354
1935 성능분석 1탄 – 실행 요청을 기다리는 작업 확인 및 분석 jevida(강성욱) 2016.10.15 1990
1934 확장이벤트를 사용하여 데드락 정보 확인 jevida(강성욱) 2016.10.15 1549
1933 확장 이벤트를 사용한 CPU 고부하 쿼리 추적 [1] jevida(강성욱) 2016.10.15 2116
1932 데이터에 대한 이해와 spill in tempdb jevida(강성욱) 2016.10.13 1764





XE Login