database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Tutorials 238 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 238
SQL 서버 CPU 사용 모니터링 방법
작성자
정재익(advance)
작성일
2002-01-08 11:34
조회수
14,650

SQL 서버 CPU 사용 모니터링 방법

 

저자 : 포근이 | 날짜: 2001년 10월 22일

 

Windows 2000 운영 체제를 실행하고 있다면 시스템 모니터를 사용하여 사용하여 SQL Server가 설치된 DB서버의 성능을 측정할 수 있다. 여러 가지 모니터링 중에서 이번기사에서는 CPU 사용모니터링 방법에 대해서 알아보자.

참고로 Windows NT 4.0 기반에서는 성능모니터를 이용해야 한다.

 

CPU 사용 모니터링

 

CPU 사용률이 계속 높게 나타나면 CPU 업그레이드 또는 추가의 멀티 프로세서가 필요하다는 의미인 것은 당연하다. 또한 CPU 사용률이 계속 높게 나타나면 응용 프로그램 튜닝 또는 디자인이 적당하지 않다는 의미이다. 응용 프로그램을 최적화하면 CPU 사용률을 낮출 수 있는 것 또한 당연한 이야기다.

 

이런 결정을 내리기에 좋은 방법은 시스템 모니터의 Processor:% Processor Time 카운터를 활용하는 방법이다.

 

Processor:% Processor Time

이 카운터는 CPU가 비유휴 스레드를 처리하는 데 소비하는 시간의 양을 모니터링한다. 카운터 값이 계속 80-90 퍼센트로 나타나면 CPU를 업그레이드하거나 프로세서를 추가해야 한다.

지난번 기사에서 논란이 많았지만 이야기 했듯 DB서버를 기준으로 이해해 주기 바란다.

멀티프로세서 시스템의 경우 각 프로세서에 대해 이 카운터의 개별 인스턴스를 모니터링해야 한다. 이 값은 특정 프로세서의 프로세서 시간의 합을 나타낸다. 모든 프로세서의 평균을 확인하려면 System: %Total Processor Time 카운터를 이용해야 한다.

 

다음 항목들을 통해 다른 정보들을 얻을 수 있다.

 

Processor: % Privileged Time

이 카운터는 프로세서가 SQL Server I/O 요청 처리와 같은 커널 명령을 실행할 때 걸리는 시간의 비율을 나타낸다.

Physical Disk 카운터가 높을 때 이 카운터가 같이 높으면 더 빠르고 효율적인 디스크 하위 시스템을 고려해야 한다.

디스크 컨트롤러가 다르면 커널 처리 시간도 다릅니다. 효율적인 컨트롤러와 드라이버를 사용하면 권한 시간이 짧아져 사용자가 응용 프로그램을 사용할 수 있는 처리 시간을 확보할 수 있기 때문에 전체 처리량을 늘릴 수 있다.

 

Processor: %User Time

이 카운터는 프로세서가 SQL Server와 같은 사용자 프로세스를 실행할 때 걸리는 시간의 비율을 나타낸다.

 

System: Processor Queue Length

이 카운터는 프로세서 시간을 기다리는 쓰레드 수를 나타낸다. 프로세스의 쓰레드에 필요한 프로세서 사이클 수가 사용할 수 있는 개수보다 많으면 프로세서 병목 상태가 발생한다. 일부 프로세스가 프로세서 시간 대부분을 소비한다면 속도가 빠른 프로세서나 추가 프로세서(멀티프로세서 시스템을 사용 중이면)를 설치해야 한다.

프로세서의 사용을 검사할 때는 SQL Server 인스턴스가 수행 중인 작업 유형을 고려해야 한다. SQL Server가 집계에 관한 쿼리나 디스크 I/O가 필요없는 메모리 집중형 쿼리와 같은 계산을 많이 수행한다면 프로세서 시간 전체를 사용할 수 있다. 이런 이유로 다른 응용 프로그램 수행에 어려움이 발생하면 SQL Server만이 설치된 DB서버를 독자적으로 할당하는 방법 등으로 작업량을 줄여야 한다.

 

100퍼센트에 가까운 수치로 프로세스가 대기열에 쌓이고 있는 모습이 나타난다면 당연히 프로세서 시간이 길어지고 병목현상이 나타날 것이다. 이런 부분을 해결하는 방법중의 하나가 프로세서 성능을 향상시키는 일이다.

[Top]
No.
제목
작성자
작성일
조회
448SQL Server FAQ (2)
정재익
2002-07-14
28832
447SQL Server FAQ (1)
정재익
2002-07-14
31071
445Oracle DB 를 SQL Server 2000 으로 migration
정재익
2002-07-12
10200
238SQL 서버 CPU 사용 모니터링 방법
정재익
2002-01-08
14650
237SQL 서버 메모리 사용 모니터링 방법
정재익
2002-01-08
15511
236SQL 서버 디스크 동작 모니터링 방법
정재익
2002-01-08
12942
210Transact-SQL
정재익
2001-12-14
20556
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다