Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Windows 성능모니터를 이용한
SQL Server 성능 분석
강성욱 | SQL Server MVP
발표자 소개
2
강 성 욱
SQL 관련 블로그 운영 (http://sqlmvp.kr)
https://www.facebook.com/sqlmvp
jevida@naver.com
Microsoft SQL Server MVP
...
AGENDA
 성능 베이스 라인의 필요성
 윈도우 성능 모니터 설정 하기
 SQL Server 프로파일러와 교차분석 설정
주요 성능 카운터
3
성능 베이스라인 데이터의 필요성
성능 베이스라인 데이터?
 일반적인 운영환경에서 시스템의 성능을 수집하여 데이터베이스 및 파일화를 통해 저장한 데이터
 저장된 데이터를 분석하여 시스템의 최적화된 데이터를 산출
베...
성능 베이스라인 데이터의 필요성
 성능 베이스라인은 case by case
 시스템 또는 비즈니스 따라 하드웨어 특성 및 리소스가 다르다.
 따라서 임계치가 다르기 때문에 평소 베이스라인이 꼭 필요하다.
5
디젤 ...
 DBA는 운영되는 시스템 성격에 따라 모니터링 데이터를 저장하여 베이스라인 데이터로
활용
 성능 문제는 다양한 원인으로 발생할 수 있기 때문에 수많은 상황을 분석하기 위해서는
신뢰하는 다양한 베이스라인 데이터가 필...
윈도우 성능 모니터
 Perfmon(Performance Monitor)은 Windows에서 기본적으로 제공하는 성능 수집 도구
 CPU, Memory, Disk, Network를 포함한 다양한 성능 데이터 수집
...
윈도우 성능 모니터
 성능카운터는 카테고리 / 인스턴스 / 카운터 계층으로 관리
8
• 카테고리 : CPU, 디스크 응용프로그램 등 관심
영역을 나타냄.
• 인스턴스 : 기본적으로 한 개 이상의 인스턴스
가 존재하며 ...
Perfmon 사용법
[시작] – [실행] – [perfmon]
 상단에는 각종 설정 버튼, 하단에는 그래프의 수치 및 항목 표시
9
Perfmon 사용법
 Perfmon은 3가지 형태의 UI 제공
 상단의 그래프 형식 변경 아이콘을 사용하여 UI 변경
10
선형 막대형 보고서
Perfmon 사용법
 카운터 추가는 상단의 [추가] 아이콘을 이용
 카운터 특성에 따라 적절한 인스턴스를 추가하여 사용
 인스턴스가 많은 항목은 특히 주의해서 사용(시스템 오버헤드 발생)
11
Perfmon 사용법
 각 카운터 별로 수치가 다르기 때문에 배율(Scale)을 조절하여 사용
12
Perfmon 사용법
 특정 카운터 정보를 강조해서 표시할 경우 [하이라이트] 아이콘 사용
 자주 사용하는 카운터는 파일로 저장해서 사용 (htm, xml 파일로 저장됨)
13
Perfmon 성능 데이터 수집 (1)
 데이터 수집기 집합을 설정하여 주기적으로 성능 데이터를 수집
 수집된 데이터는 txt, blg등 파일 저장 가능
 수집된 데이터는 ODBC를 통해 데이터베이스에 저장 가능
...
Perfmon 성능 데이터 수집 (1)
 수집할 데이터 로그를 선택
 성능카운터에 대한 정보를 수집하기 위해 성능 카운터 선택
 너무 많은 성능 카운터 추가 및 짧은 샘플간격은 시스템 오버헤드를 발생 (중요)
15
Perfmon 성능 데이터 수집 (1)
 수집된 데이터를 저장할 경로를 선택
 수집기에서 사용할 계정 선택 (기본값 선택)
16
Perfmon 성능 데이터 수집 (1)
 생성이 완료되면 수집기 집합에 작업이 추가된 것을 확인
 수집 형태의 기본값은 이진 형식이며 blg 확장자로 파일 저장
17
Perfmon 성능 데이터 수집 (1)
 저장될 파일명은 사용자가 지정 가능
 설정된 내용은 하단의 [파일 이름 예]에서 확인
18
구분자 []를 사용하여 파일 이름 구성
Perfmon 성능 데이터 수집 (1)
 하나의 폴더에 성능 데이터 파일이 위치 -> 하위 디렉터리 이름 형식 삭제
19
Perfmon 성능 데이터 수집 (1)
 일정 등록으로 시스템 재시작 경우에도 자동으로 시작 되도록 설정
20
Perfmon 성능 데이터 수집 (1)
 수집 자동화의 중지 조건 설정
 특정 시간 또는 수집 파일 크기를 설정하여 수집 중단 가능
 아래 예시의 경우 매일 1개의 데이터 수집 파일 생성
21
Perfmon 성능 데이터 수집 (1)
 성능 데이터 수집기 시작/중지 아이콘으로 수집 시작
 설정된 경로에서 성능 데이터 파일 생성되어 데이터 수집 확인
22
Perfmon 성능 데이터 수집 (1)
 Report 메뉴에서 수집된 성능 데이터 확인 가능
 성능 데이터 수집 활동이 중지되어 있을때만 데이터 확인 가능
23
데이터 수집 실행 데이터 수집 중지
Perfmon 데이터와 Profiler 데이터 교차 분석
 프로파일러에서 수집한 trc 파일과 수집한 성능 데이터 가져오기 선택
 성능 카운터 목록에서 상관 관계를 지정할 카운터를 선택
24
Perfmon 데이터와 Profiler 데이터 교차 분석
 추적 데이터와 성능 데이터를 한번에 비교 분석.
 그래프의 특정 위치를 클릭하면 프로파일러도 동일한 시간으로 이동
25
Perfmon 성능 데이터 수집 (2)
 SQL Server에 성능 데이터를 저장하기위해 ODBC 원본 생성
26
Perfmon 성능 데이터 수집 (2)
 SQL Server에 성능 데이터를 저장하기위해 ODBC 원본을 생성
27
Perfmon 성능 데이터 수집 (2)
 SQL Server에 성능 데이터를 저장하기위해 ODBC 원본을 생성
28
Perfmon 성능 데이터 수집 (2)
 SQL Server에 성능 데이터를 저장하기위해 ODBC 원본을 생성
29
Perfmon 성능 데이터 수집 (2)
 성능 정보를 저장하기 위한 테이블이 자동으로 생성되어 데이터 저장
30
CounterData
GUID : 데이터 세트에 대한 GUID, DisplayTOID 테이블과 조인키로 ...
Perfmon 성능 데이터 수집 (2)
 테이블을 조인하여 수집된 성능 데이터를 조회
31
SELECT
MachineName ,
CounterName ,
InstanceName ,
CounterValue ,
Count...
Perfmon 성능 데이터 수집 (2)
 다양한 도구를 이용하여 분석
32
EXCEL
SSRS (Unplugged 5th 세미나 참고)
전문 모니터링 툴
SQL Server 데이터 컬렉션
 다양한 데이터 집합을 수집하는 구성 요소 (SQL Server에 기본 포함)
 항상 실행 또는 사용자 정의에 따라 실행 가능
 수집된 데이터는 관계형 데이터베이스에 저장
 데이...
SQL Server 데이터 컬렉션
 다양한 시각화 보고서 제공
34
종류 설명
디스크 사용 요약 보고서
SQL Server 인스턴스에 있는 모든 데이터베이스의 디스크 공간 정보 제공
 데이터 및 로그파일에 대한 증가...
SQL Server 데이터 컬렉션
 데이터 수집기 아키텍처
35
• 데이터 수집기는 SQL Server 에이전트 및 SSIS와 통합되어 사용
• SSIS는 개별 데이터 공급자에서 데이터 수집 패키지 실행에 사용
• 클...
SQL Server 데이터 컬렉션
 데이터 컬렉션 구성
36
SQL Server 데이터 컬렉션
37
 데이터 컬렉션 구성
 로그인을 생성하여 데이터 수집기 역할에 매핑
 관리 데이터 웨어하우스 구성
SQL Server 데이터 컬렉션
 데이터 컬렉션 구성
38
SQL Server 데이터 컬렉션
 데이터 컬렉션 구성
39
SQL Server 데이터 컬렉션
 데이터 컬렉션 구성
40
SQL Server 데이터 컬렉션
 보고서 보기
41
시스템 주요 성능 카운터
 임계값은 절대적인 수치가 아니며 시스템 다름 (슬라이드 값은 참고만 할것)
 베이스 라인 데이터로 시스템에 최적화된 임계값을 산출 하는 것이 중요
42
시스템 주요 성능 카운터
 CPU 사용량
43
객체 카운터 임계값 설명
Processor % Processor Time < 80 시스템에서 사용하는 전체 CPU 사용량을 백분율로 표시
System Processor Q...
시스템 주요 성능 카운터
 Memory 사용량
44
객체 카운터 임계값 설명
Memory
Available Bytes > 100MB 시스템에서 사용할 수 있는 실제 메모리
Committed Bytes
< 90% (물리...
시스템 주요 성능 카운터
 Network 사용량
45
객체 카운터 임계값 설명
Network Interface Bytes Received/sec 받은 받이트 수
Network Interface Bytes Sent/se...
시스템 주요 성능 카운터
 DISK 사용량
46
객체 카운터 임계값 설명
LogicalDisk,
PhysicalDisk
% Disk Time 읽기 및 쓰기 요청을 처리하는데 사용한 시간의 백분율 (낮을 수록 좋음)
%...
SQL 주요 성능 카운터
 SQL Server 성능에 영향을 미치는 카운터
47
객체 카운터 임계값 설명
SQLServer:Acc
ess Methods
Page Splits/sec <20% (배치대비) 인덱스 페이지 ...
SQL 주요 성능 카운터
 SQL Server 성능에 영향을 미치는 카운터
48
객체 카운터 임계값 설명
SQLServer:General Statistics User Connections 시스템에 연결된 사용자 수
S...
SQL 주요 성능 카운터
 SQL Server 성능에 영향을 미치는 카운터
49
객체 카운터 임계값 설명
SQLServer:
Memory
Manager
Granted Workspace
Memory(KB)
실행 중인 프...
SQL 주요 성능 카운터
50
 SQL Server 성능에 영향을 미치는 카운터
객체 카운터 임계값 설명
SQLServer:General
Statistics
Login/sec
Logout/sec
초당 시작된 총 로그인...
정리
 현재의 성능 값이 일반적인 상황과 비교했을때 다른 점을 비교하기 위해 베이스라인 데
이터 필요하다.
 성능 정보는 꾸준히 수집 보관한다. (과거 기록 비교시 중요함)
 성능 데이터는 필요한 정보만 수집한다....
감사합니다
52
Próxima SlideShare
Cargando en…5
×

Windows 성능모니터를 이용한 SQL Server 성능 분석

5.087 visualizaciones

Publicado el

Windows에서 기본적으로 제공되는 성능 모니터 툴을 사용하여 성능 데이터를 수집 보관하고 SQL Server 의 사용량 및 성능을 분석하는 방법에 대해서 알아봅니다.

Publicado en: Software
  • Sé el primero en comentar

Windows 성능모니터를 이용한 SQL Server 성능 분석

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

×