Windows Server와 SQL Server를 모니터링 할 때 사용하는 개체들에 대한 설명입니다.
아래 표는 Windows의 관리도구 -> 성능에 있는 개체입니다.
메모리와 페이징 파일 사용 모니터링
아래 표는 Windows의 관리도구 -> 성능에 있는 개체입니다.
메모리와 페이징 파일 사용 모니터링
개체:카운터 | 설명 | 지침 |
Memory:Available bytes | 프로세서가 실행 작업에 사용 가능한 바이트 수를 모니터링 한다. | 5000KB 보다 커야 한다. 값이 작으면 실제 메모리가 전반적으로 부족하므로 메모리를 늘려야 한다. |
Memory:Page/sec | 심각한 페이지 부재 문제를 해결하기 위해서 페이지 수를 모니터링 한다. | 0 보다 크면 안된다. 계속적으로 0보다 크면 운영체제는 멤모리 요청을 만족시키기 위해서 페이징 파일을 사용 중이다. |
Process:Page Faults/sec/SQL Server Instance | 운영체제의 작업 집합 크리 트리밍으로 야기된 페이지 부재를 모니터링한다. | 값이 크면 과도한 페이징과 디스크 스래싱을 나타낸다. 그 원인이 sql server인지 과도한 페이징을 야기하는 다른 프로세스인지 검사한다. |
SQL Server에서 사용하는 메모리 격리
개체:카운터 | 설명 | 지침 |
Process:Working Set/SQL Server Instance | sql server 프로세스가 sql server의 인스턴스용으로 사용하는 메모리의 양을 모니터링 한다. | 이 카운터는 5000KB 보다 커야한다. 이 카운터 값이 5000KB 아래로 떨어지는 경우 SQL Server가 사용할 수 있는 추가 메모리는 없다. |
SQL Server:Buffer Manager:Buffer Cache Hit Ratio | 하드 디스크에서 읽기를 하지 않고 버퍼 캐시에서 페이지의 백분율을 모니터링 한다. 버퍼 캐시에서 사용되는 페이징 파일 메모리와 실제 메모리를 구별하지 않는다. | 이 카운터는 캐시에 있는 페이지의 수를 나타내므로 90% 보다 커야 한다. |
SQL Server:Buffer Manager:Total Pages | 데이터베이스 페이지, 사용 가능한 페이징, 빼앗긴 페이지를 포함하여 버퍼 캐시의 총 페이지 수를 모니터링 한다. | 낮은 값은 잦은 디스크 I/O작업이나 스래싱을 의미한다. 메모리를 더 추가하는 것이 좋다. |
SQL Server:Buffer Manager:Total Server Memory | 서버가 사용중인 총 동적 메모리 양을 모니터링 한다. |
이 카운터가 실제 사용 가능한 메모리 양에 비해서 계속해서 높은 경우 메모리가 더 필요할
수도 있다.
|
스레드와 프로세서 사용 모니터링
개체:카운터 | 설명 | 지침 |
Process:%Processor Time | 프로세서가 유휴 상태가 아닌 스레드를 처리하는 데 보내는 시간의 백분율을 모니터링 한다. | 이 카운터는 90%보다 작어야 한다. 이 카운터가 더 높으면 작업 부하를 낮추고 작업 부하의 효율성을 증가시키거나 프로세스 용량을 더 추가한다. |
System:Context Switches/sec | 프로세스가 스레드 사이에서 전환하는 초당 횟수를 모니터링 한다. | 다중 프로세서 컴퓨터에서 이 카운터가 8000 에 도달하고 Processor:%Processor Time 카운터가 90%를 넘는 경우 SQL Server 파이버 모드 일정을 활성화 하는 것이 좋다. |
System:ProcessorQueue Length | 프로세서 시간 동안 대기하는 스레드의 수를 모니터링 한다. | 이 카운터는 계속해서 2보다 크면 안 된다. 이 카운터가 계속해서 2보다 큰 경우에는 작업 부하를 낮추고 작업 부하의 효율성을 증가시키거나 다중 프로세서 시스템에서 프로세서 용량을 더 추가한다. |
Processor:%Privileged Time | 프로세서가 특별 허가된 사간 동안 운영체제 커널 명령을 실행하면서 보내는 시간의 백분율을 모니터링 한다. | 프로세서 시간의 백분율이 대부분 시스템 커널 명령을 수행하는데 보내고 실제 하드 디스크 카운터가 높은 상태인 경우 하드 디스크 I/O 하위 시스템의 성능을 향상시키는 것이 좋다. |
Processor:%User Time | 프로세서가 사용자 프로세스를 실행하면서 보내는 시간의 백분율을 모니터링 한다. | 이 카운터는 다른 프로세서나 응용 프로그램이 SQL Server 작업을 수행하고 있음을 알려준다. |
디스크 I/O 모니터링
개체:카운터 | 설명 | 지침 |
PhysicalDisk:%DiskTime | 하드디스크가 읽기/쓰기 요청을 서비스하는데 소요된 시간의 백분율을 모니터링 한다. | 이 카운터는 계속해서 90%보다 작아야 한다. |
PhysicalDisk:Avg.DiskQueue Length | 대기하고 있는 평균 읽기/쓰기 요청 수를 모니터링 한다. | 이 카운터는 스핀들 수의 2배 정도여야 한다. |
PhysicalDisk:DiskReads/sec | 읽기 작업의 속도를 모니터링 한다. | 이 카운터는 계속해서 하드 디스크 하위 시스템 용량보다 작아야 한다. |
PhysicalDisk:DiskWrites/sec | 쓰기 작업의 속도를 모니터링 한다. | 이 카운터는 계속해서 하드 디스크 하위 시스템 용량보다 작아야 한다. |
그외 SQL 관련 개체
개체:카운터 | 설명 | 지침 |
SQL Server Access Methods:Skipped Ghosted Records/sec | 고스트 레코드를 마주 친 횟수 | 데이터베이스 조각 모음이 필요하다. DBCC DBREINDEX |
SQL Server Buffer Manager:Checkpoint pages/sec | 체크포인트 발생 횟수 | |
SQL Server Buffer Manager:Lazy Writes/sec | Lazy write 발생횟수 | |
SQL Server Database:Transactions/sec | 초당 트랜젝션 발생 수 | |
SQL Server Database:Percent Log Used | 로그 사용률 | |
SQL Server General Statistics:User Connections | 현재 연결된 사용자 수 | 기본 값을 확보한 후 지나치게 많으면 connetion pooling을 사용하는지 점검한다. |
SQL Server Lock에 있는 모든 카운터 | 각 잠금 요청에 대한 평균 대기 시간 | 기본 값 확보. 지나치게 느리면 블록킹이 발생하지 않았는지 확인한다. 이 부분에 있는 모든 카운터를 모니터하고 기본값을 확보하자. |
SQL Server Statistics:SQL Compilations/sec | 초당 SQL 문의 컴파일 수(재컴파일로 인해 실행한 컴파일도 포함) | 서버 시작 초기에는 높고 점차 안정화 된다. 기본 값을 확보해 두자 |
SQL Server SQL Statistics:SQL Re-Compilations/sec | 초당 SQL 문의 재 컴파일 수 | 적을 수록 좋다. 기본값 확보, 지나치게 높으면 프로시저를 일일이 살표볼 필요가 있다 |
댓글 없음:
댓글 쓰기