windows 성능모니터를 이용한 sql server 성능 분석
TRANSCRIPT
![Page 1: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/1.jpg)
Windows 성능모니터를 이용한SQL Server 성능 분석강성욱 | SQL Server MVP
![Page 2: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/2.jpg)
2
발표자 소개강 성 욱
SQL 관련 블로그 운영 (http://sqlmvp.kr)
https://www.facebook.com/sqlmvp
Microsoft SQL Server MVP
ServicePointWindows, IIS, SQL Server 모니터링 솔루션
http://www.nwiz.co.kr( 데모 : http://demo.nwiz.-
co.kr)
SQL Server 스터디 그룹 (http://sqltag.org)
SQL Server 커뮤니티 (http://sqler.com)
![Page 3: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/3.jpg)
3
AGENDA
성능 베이스 라인의 필요성 윈도우 성능 모니터 설정 하기 SQL Server 프로파일러와 교차분석 설정주요 성능 카운터
![Page 4: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/4.jpg)
4
성능 베이스라인 데이터의 필요성성능 베이스라인 데이터 ?
일반적인 운영환경에서 시스템의 성능을 수집하여 데이터베이스 및 파일화를 통해 저장한 데이터저장된 데이터를 분석하여 시스템의 최적화된 데이터를 산출
베이스라인 데이터는 왜 필요한가 ?현재의 성능 값이 일반적인 상황과 비교했을때 다른 점을 비교하기 위해 필요미래에 대한 계획을 수립하기 위해서 필요
현재 아이들링 RPM 은 정상인가요 ?
![Page 5: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/5.jpg)
5
성능 베이스라인 데이터의 필요성 성능 베이스라인은 case by case
시스템 또는 비즈니스 따라 하드웨어 특성 및 리소스가 다르다 .따라서 임계치가 다르기 때문에 평소 베이스라인이 꼭 필요하다 .
디젤 자동차 계기판 가솔린 자동차 계기판
현재 RPM 이 5000 으로 동일 할 경우 어떻게 판단해야하는가 ?
![Page 6: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/6.jpg)
6
DBA 는 운영되는 시스템 성격에 따라 모니터링 데이터를 저장하여 베이스라인 데이터로 활용성능 문제는 다양한 원인으로 발생할 수 있기 때문에 수많은 상황을 분석하기 위해서는 신뢰하는 다양한 베이스라인 데이터가 필요
성능 베이스라인 데이터의 필요성
![Page 7: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/7.jpg)
7
윈도우 성능 모니터Perfmon(Performance Monitor) 은 Windows 에서 기본적으로 제공하는 성능 수집 도구CPU, Memory, Disk, Network 를 포함한 다양한 성능 데이터 수집Add-in 으로 카운터 추가 가능 ( 예 , SQL Server 설치시 SQL 관련 성능 카운터 추가 )
실시간 성능 모니터링 가능파일이나 DB 로 성능 데이터를 저장하여 분석 가능프로파일러와 연동윈도우 8 은 29,000 이상의 표준 카운터 제공
![Page 8: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/8.jpg)
8
윈도우 성능 모니터성능카운터는 카테고리 / 인스턴스 / 카운터 계층으로 관리
• 카테고리 : CPU, 디스크 응용프로그램 등 관심 영역을 나타냄 .
• 인스턴스 : 기본적으로 한 개 이상의 인스턴스가 존재하며 디스크 드라이브 경우 C, D, E 처럼 다수의 인스턴스가 존재 .
• 카운터 : 실제 성능정보는 개별 카운터에 기록됨 .• 마이크로소프트는 C 함수 , C# 래퍼 클래스
세트로 성능 카운터에 대한 액세스를 제공 .
![Page 9: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/9.jpg)
9
Perfmon 사용법[ 시작 ] – [ 실행 ] – [perfmon]상단에는 각종 설정 버튼 , 하단에는 그래프의 수치 및 항목 표시
![Page 10: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/10.jpg)
10
Perfmon 사용법Perfmon 은 3 가지 형태의 UI 제공상단의 그래프 형식 변경 아이콘을 사용하여 UI 변경
선형 막대형 보고서
![Page 11: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/11.jpg)
11
Perfmon 사용법카운터 추가는 상단의 [ 추가 ] 아이콘을 이용카운터 특성에 따라 적절한 인스턴스를 추가하여 사용인스턴스가 많은 항목은 특히 주의해서 사용 ( 시스템 오버헤드 발생 )
![Page 12: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/12.jpg)
12
Perfmon 사용법각 카운터 별로 수치가 다르기 때문에 배율 (Scale) 을 조절하여 사용
![Page 13: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/13.jpg)
13
Perfmon 사용법특정 카운터 정보를 강조해서 표시할 경우 [ 하이라이트 ] 아이콘 사용자주 사용하는 카운터는 파일로 저장해서 사용 (htm, xml 파일로 저장됨 )
![Page 14: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/14.jpg)
14
Perfmon 성능 데이터 수집 (1)
데이터 수집기 집합을 설정하여 주기적으로 성능 데이터를 수집수집된 데이터는 txt, blg 등 파일 저장 가능수집된 데이터는 ODBC 를 통해 데이터베이스에 저장 가능
![Page 15: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/15.jpg)
15
Perfmon 성능 데이터 수집 (1)
수집할 데이터 로그를 선택성능카운터에 대한 정보를 수집하기 위해 성능 카운터 선택너무 많은 성능 카운터 추가 및 짧은 샘플간격은 시스템 오버헤드를 발생 ( 중요 )
![Page 16: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/16.jpg)
16
Perfmon 성능 데이터 수집 (1)
수집된 데이터를 저장할 경로를 선택수집기에서 사용할 계정 선택 ( 기본값 선택 )
![Page 17: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/17.jpg)
17
Perfmon 성능 데이터 수집 (1)
생성이 완료되면 수집기 집합에 작업이 추가된 것을 확인수집 형태의 기본값은 이진 형식이며 blg 확장자로 파일 저장
![Page 18: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/18.jpg)
18
Perfmon 성능 데이터 수집 (1)
저장될 파일명은 사용자가 지정 가능설정된 내용은 하단의 [ 파일 이름 예 ] 에서 확인
구분자 [\] 를 사용하여 파일 이름 구성
![Page 19: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/19.jpg)
19
Perfmon 성능 데이터 수집 (1)
하나의 폴더에 성능 데이터 파일이 위치 -> 하위 디렉터리 이름 형식 삭제
![Page 20: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/20.jpg)
20
Perfmon 성능 데이터 수집 (1)
일정 등록으로 시스템 재시작 경우에도 자동으로 시작 되도록 설정
![Page 21: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/21.jpg)
21
Perfmon 성능 데이터 수집 (1)
수집 자동화의 중지 조건 설정특정 시간 또는 수집 파일 크기를 설정하여 수집 중단 가능아래 예시의 경우 매일 1 개의 데이터 수집 파일 생성
![Page 22: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/22.jpg)
22
Perfmon 성능 데이터 수집 (1)
성능 데이터 수집기 시작 / 중지 아이콘으로 수집 시작설정된 경로에서 성능 데이터 파일 생성되어 데이터 수집 확인
![Page 23: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/23.jpg)
23
Perfmon 성능 데이터 수집 (1)
Report 메뉴에서 수집된 성능 데이터 확인 가능성능 데이터 수집 활동이 중지되어 있을때만 데이터 확인 가능
데이터 수집 실행 데이터 수집 중지
![Page 24: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/24.jpg)
24
Perfmon 데이터와 Profiler 데이터 교차 분석프로파일러에서 수집한 trc 파일과 수집한 성능 데이터 가져오기 선택성능 카운터 목록에서 상관 관계를 지정할 카운터를 선택
![Page 25: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/25.jpg)
25
Perfmon 데이터와 Profiler 데이터 교차 분석추적 데이터와 성능 데이터를 한번에 비교 분석 .그래프의 특정 위치를 클릭하면 프로파일러도 동일한 시간으로 이동
![Page 26: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/26.jpg)
26
Perfmon 성능 데이터 수집 (2)
SQL Server 에 성능 데이터를 저장하기위해 ODBC 원본 생성
![Page 27: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/27.jpg)
27
Perfmon 성능 데이터 수집 (2)
SQL Server 에 성능 데이터를 저장하기위해 ODBC 원본을 생성
![Page 28: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/28.jpg)
28
Perfmon 성능 데이터 수집 (2)
SQL Server 에 성능 데이터를 저장하기위해 ODBC 원본을 생성
![Page 29: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/29.jpg)
29
Perfmon 성능 데이터 수집 (2)
SQL Server 에 성능 데이터를 저장하기위해 ODBC 원본을 생성
![Page 30: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/30.jpg)
30
Perfmon 성능 데이터 수집 (2)
성능 정보를 저장하기 위한 테이블이 자동으로 생성되어 데이터 저장CounterDataGUID : 데이터 세트에 대한 GUID, DisplayTOID 테이블과 조인키로 사용CounterID : 카운터 식별 . CouterDetails 테이블과 조인키로 사용RecordIndex : 특정 카운터 식별자 및 GUID 의 샘플 인덱스 . CouterDateTime : 시작된 시간 (UTC 사용 )CounterValue : 실제 성능 값 .
![Page 31: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/31.jpg)
31
Perfmon 성능 데이터 수집 (2)
테이블을 조인하여 수집된 성능 데이터를 조회SELECT
MachineName ,CounterName ,InstanceName ,CounterValue ,CounterDateTime ,DisplayString
FROM dbo.CounterDetails cdtINNER JOIN dbo.CounterData cd
ON cdt.CounterID = cd.CounterIDINNER JOIN DisplayToID d
ON d.GUID = cd.GUIDWHERE MachineName = 'KANGSUNGWOOK-PC'AND ObjectName = 'Processor'AND cdt.CounterName = '% Processor Time'AND cdt.InstanceName = '_Total'ORDER BY CounterDateTime
![Page 32: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/32.jpg)
32
Perfmon 성능 데이터 수집 (2)
다양한 도구를 이용하여 분석EXCEL
SSRS (Unplugged 5th 세미나 참고 )
전문 모니터링 툴
![Page 33: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/33.jpg)
33
SQL Server 데이터 컬렉션다양한 데이터 집합을 수집하는 구성 요소 (SQL Server 에 기본 포함 )항상 실행 또는 사용자 정의에 따라 실행 가능수집된 데이터는 관계형 데이터베이스에 저장데이터 수집기를 사용하면 사용자 환경에 맞는 데이터 컬렉션 범위 조정 가능데이터 보존 기간을 설정하여 관리데이터 컬렉션에 대한 동적 튜닝을 지원하며 API 를 통해 확장 가능 .( 데이터 수집기 프로그래밍 참고 )다양한 시각화 보고서 제공
![Page 34: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/34.jpg)
34
SQL Server 데이터 컬렉션다양한 시각화 보고서 제공
종류 설명
디스크 사용 요약 보고서SQL Server 인스턴스에 있는 모든 데이터베이스의 디스크 공간 정보 제공 데이터 및 로그파일에 대한 증가 추세 제공 ( 그래픽 , 숫자 ) 데이터베이스 시작 크기와 현재 크기를 MB 단위로 표시 인덱스 페이지 , 할당되지 않는 공간 등 정보 제공
쿼리 통계 기록 보고서쿼리 실행 통계 정보 제공 총 CPU 별 상위 쿼리 정보 제공 ( 그래프 , 쿼리 , 쿼리 비용 등 ) 물리적 읽기 , 논리적 쓰기 등 상세 쿼리 세부 정보 제공 쿼리 계획 제공 ( 그래픽 )
서버 작업 기록 보고서서버 및 SQL Server 인스턴스의 리소스 사용 및 서버 작업 데이터 제공 CPU, 메모리 , 디스크 I/O, 네트워크 사용량 제공 ( 추세 그래프 , 숫자 ) SQL Server 대기 작업 분석 데이터 제공 SQL Server 컴파일 , 리컴파일 , 세션 , 캐시 적중률 , tempdb 등 정보 제공
![Page 35: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/35.jpg)
35
SQL Server 데이터 컬렉션데이터 수집기 아키텍처
• 데이터 수집기는 SQL Server 에이전트 및 SSIS 와 통합되어 사용• SSIS 는 개별 데이터 공급자에서 데이터 수집 패키지 실행에 사용• 클라이언트 : 데이터 수집기의 사용자 인터페이스• API : 사용자 인터페이스와 데이터 수집기간의 상호작용에 사용• 실행 : 데이터 컬렉션 및 저장소에 사용• 저장소 : 구성 정보 및 수집된 데잍를 포함하는 데이터베이스
![Page 36: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/36.jpg)
36
SQL Server 데이터 컬렉션데이터 컬렉션 구성
![Page 37: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/37.jpg)
37
SQL Server 데이터 컬렉션데이터 컬렉션 구성
로그인을 생성하여 데이터 수집기 역할에 매핑 관리 데이터 웨어하우스 구성
![Page 38: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/38.jpg)
38
SQL Server 데이터 컬렉션데이터 컬렉션 구성
![Page 39: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/39.jpg)
39
SQL Server 데이터 컬렉션데이터 컬렉션 구성
![Page 40: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/40.jpg)
40
SQL Server 데이터 컬렉션데이터 컬렉션 구성
![Page 41: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/41.jpg)
41
SQL Server 데이터 컬렉션보고서 보기
![Page 42: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/42.jpg)
42
시스템 주요 성능 카운터임계값은 절대적인 수치가 아니며 시스템 다름 ( 슬라이드 값은 참고만 할것 )베이스 라인 데이터로 시스템에 최적화된 임계값을 산출 하는 것이 중요
![Page 43: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/43.jpg)
43
시스템 주요 성능 카운터CPU 사용량
객체 카운터 임계값 설명Processor % Processor Time < 80 시스템에서 사용하는 전체 CPU 사용량을 백분율로 표시System Processor Queue Length < 코어수 * 2 프로세서 시간동안 대기하는 스레드 수 ( 실행되고 있는 스레드수 제외 )
System Context switches/sec < 6000 초당 발생하는 컨텍스트 스위치 수
![Page 44: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/44.jpg)
44
시스템 주요 성능 카운터Memory 사용량
객체 카운터 임계값 설명
Memory
Available Bytes > 100MB 시스템에서 사용할 수 있는 실제 메모리Committed Bytes < 90% ( 물리
메모리 대비 )커밋된 가상 메모리 . 커밋 크기가 물리 메모리보다 크다면 페이징 발생 .
Page Faults/sec 초당 페이지 폴트 수 . 하드페이지 오류는 디스크 액세스로 인한 지연 발생 가능 .
Page Reads/sec 페이지 폴트를 해결하기 위해 디스크에서 읽은 비율Page Write/sec 메모리 공간을 비우기 위해 페이지를 디스크에 쓴 비율Pages/sec < 30 초당 페이지 파일을 사용한 수Pages Input/sec < 10 초당 페이징 파일을 사용한 수 . 읽기 연산 중에 메모리로 읽은 평균 페이지 수Pages Output/sec 실제 메모리 공간을 비우기 위해 디스크에 다시 쓴 페이지 비율
![Page 45: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/45.jpg)
45
시스템 주요 성능 카운터Network 사용량
객체 카운터 임계값 설명Network Interface Bytes Received/sec 받은 받이트 수Network Interface Bytes Sent/sec 보낸 바이트 수Network Interface Bytes Total/sec Bytes Sent/sec + Bytes Total/sec
Network Interface Current Bandwidth 현재 대역폭을 초당 비트로 추정한 값Network Interface Output Queue Length < 2 출력 패킷의 큐 길이 . 값이 2 보다 크면 네트워크 병목 발생
![Page 46: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/46.jpg)
46
시스템 주요 성능 카운터DISK 사용량
객체 카운터 임계값 설명
LogicalDisk, PhysicalDisk
% Disk Time 읽기 및 쓰기 요청을 처리하는데 사용한 시간의 백분율 (낮을 수록 좋음 )
% Idle Time 샘플 간격동안 디스크가 유휴 상태였던 시간의 백분율 (높을 수록 좋음 )
Avg. Disk Bytes/Read 읽기 평균 바이트 수Avg. Disk Bytes/Write 쓰기 평균 바이트 수Avg. Disk Queue Length 요청이 처리되지 못하고 디스크 큐에 쌓여있는 평균 수 (낮은 수록 좋음 )
Current Disk Queue Length 성능 데이터를 수집할 당시 디스크에서 기다리는 요청 수LogicalDisk Free Megabytes 디스크에 사용가능한 공간 (논리 디스크에 해당 )
![Page 47: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/47.jpg)
47
SQL 주요 성능 카운터SQL Server 성능에 영향을 미치는 카운터
객체 카운터 임계값 설명
SQLServer:Access Methods
Page Splits/sec <20% ( 배치대비 ) 인덱스 페이지 오버플로우로 발생한 초당 페이지 분할 수Workfiles Created/sec < 20 초당 생성된 임시 파일 수 .
( 해시조인 및 해시 집계에 대한 임시 결과 저장 )
Worktable Created/sec < 20초당 생성된 임시 테이블 수 .( 스풀 , LOB 변수 , XML 변수 , 커서에 대한 임시 결과 저장 )
Full Scans/sec 초당 전체 검색 수
SQLServer:Buffer Manager
Page Lookups/sec < 100 ( 배치 대비 ) 버퍼풀에서 페이지를 찾기 위한 요청 수Buffer cache hit ratio 디스크에서 읽기 않고 버퍼풀에서 찾은 페이지 비율Checkpoint pages/sec 커밋되지 않은 페이지가 검사점에 의해 플러시된 페이지 수Lazy write/sec 버퍼 관리자의 지연기록기가 기록한 버퍼 수Page life expectancy > 300 페이지가 참조 없이 메모리에 머무르는 시간 (초 )
SQLServer:Databases
LogBytes Flushed/sec 플러시된 총 로그 바이트 수Log Growths 데이터베이스의 총 로그 증가 수
![Page 48: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/48.jpg)
48
SQL 주요 성능 카운터SQL Server 성능에 영향을 미치는 카운터
객체 카운터 임계값 설명SQLServer:General Statis-tics User Connections 시스템에 연결된 사용자 수SQLServer:Latch Avg Latch Wait Time(ms) 평균 래치 대기 시간
SQLServer:Locks
Number of Deadlocks/sec < 1 교착 상태를 일으킨 잠금 요청 수Lock Wait/sec 즉시 처리 될 수 없어서 잠금을 기다리는 요청 수Lock Requests/sec < 1000 초당 잠금 요청 수Lock Timeouts/sec < 1 시간 초과된 잠금 요청 수 (NOWAIT 잠금에 대한 요청 포함 )
SQLServer:DatabasesLogBytes Flushed/sec 플러시된 총 로그 바이트 수Log Growths 데이터베이스의 총 로그 증가 수 (누적값 기록 )
![Page 49: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/49.jpg)
49
SQL 주요 성능 카운터SQL Server 성능에 영향을 미치는 카운터
객체 카운터 임계값 설명
SQLServer:Memory Manager
Granted Workspace Mem-ory(KB)
실행 중인 프로세스에 부여된 총 메모리 . 해시 , 정렬 , 인덱스 생성에 사용
Maximum Workspace Memory(KB)
프로세스에 부여될 수 있는 최대 메모리 . 주로 해시 , 정렬 , 인덱스 생성에 사용
Target Server Memory (KB) SQL Server 가 사용할 수 있는 전체 메모리 양Total Server Memory (KB) < Target Server Memory SQL Server 가 사용중인 총 동적 메모리 양
SQLServer:SQL Statis-tics
Batch Requests/sec 수신된 SQL 요청 수SQL Compilations/sec < 10% ( 배치 대비 ) SQL 컴파일 횟수SQL Re-Compilation/sec < 10% (컴파일 대비 ) SQL 리컴파일 횟수
SQLServer:Wait Statis-tics
Log write waits 로그 버퍼 작성을 기다리는 프로세스 통계Network IO waits 네트워크 IO 대기와 관련된 통계
![Page 50: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/50.jpg)
50
SQL 주요 성능 카운터SQL Server 성능에 영향을 미치는 카운터
객체 카운터 임계값 설명SQLServer:General Statistics
Login/secLogout/sec 초당 시작된 총 로그인 / 로그아웃 수
SQLServer:Transactions
Longest Transac-tion Running Time
트랜 잭션 중 가장 긴 실행 시간 (초 )
SQLServer:Cusor Manager by Type Active Cusors 활성 커서 수SQLServer:Access Methods
Table Lock Esca-lations/sec
테이블에 Lock 이 발생할 때 해당 테이블에 계속적으로 발생하는 초당 Lock 수
![Page 51: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/51.jpg)
51
정리현재의 성능 값이 일반적인 상황과 비교했을때 다른 점을 비교하기 위해 베이스라인 데이터 필요하다 .성능 정보는 꾸준히 수집 보관한다 . ( 과거 기록 비교시 중요함 )성능 데이터는 필요한 정보만 수집한다 . ( 오버헤드 가능성 )성능 데이터의 임계값은 시스템마다 상대적이므로 베이스라인 데이터를 기초로 최적의 임계값을 찾는것이 중요하다 .시스템에 문제가 발생하였을때 특정 성능 데이터로만 찾는것은 힘들며 다양한 데이터를 교차분석하는 안목이 필요하다 .
![Page 52: Windows 성능모니터를 이용한 SQL Server 성능 분석](https://reader038.vdocuments.mx/reader038/viewer/2022102605/587ec8781a28abf37b8b682f/html5/thumbnails/52.jpg)
52
감사합니다