2010년 1월 14일 목요일

윈도우 2000 로그 파일 활용 (2부)

성능 모니터를 이용하면 다음과 같은 성능을 측정할 수 있다. 이를 통해 특정한 값이 한계에 도달하거나 유지되는 것을 모니터링 할 수 있다.
시작 - 관리도구 - 성능을 클릭하고 오른쪽 버튼을 눌러 다음의 카운터들을 추가해 모니터링 해보도록 하자. 마이크로소프트에서 권고한 수치가 도움이 될 것이다.

 

  • Active Server Page, Requests Queued
    이것은 대기열에서 서비스를 기다리는 요청 수를 나타낸다. 스트레스 상황에서 지연된 요청 수가 상당히 증가할 경우 프로세서 사용률은 비교적 낮게 남아있고 이것은 스크립트가 처리할 수 있는 것보다 많은 호출을 수신하는 COM 개체를 호출하고 있다는 표시이다. 이러한 경우에 ASP에서 호출된 COM 개체는 일반적으로 장애가 되므로 사이트 개발자에게 알려주어야 한다.


  • Memory: Page Faults/sec.
    5초 이상 지속되는 하드 페이지 실패는 RAM이 부족하다는 메시지로 중요한 표시이다. 메모리 장애를 나타내는 다른 카운터로 Memory:Pages Input/sec, Memory:Page Reads/sec 및 Memory:Pages/sec을 들 수 있다.


  • Memory: .
    시스템 운영에서 사용 가능한 실제 총 메모리를 측정하고 서버에서 모든 프로세스와 응용 프로그램을 실행하는데 필요한 메모리와 비교해보자. 적어도 최고 사용 상태에서 사용할 수 있는 메모리의 10%를 유지해야 한다. 기본적으로 IIS 5.0은 서버 컴퓨터에서 다른 응용 프로그램을 실행하는데 사용할 수 있는 메모리의 나머지를 남겨두고 파일 캐시에서 사용할 수 있는 메모리의 50%까지 사용한다는 점을 유의하자. 이것이 지속적으로 4MB 이하로 떨어지면 더 많은 메모리의 설치를 심각하게 고려해봐야 한다.


  • Memory: Committed Bytes.
    최고 작업 기간 동안 허용하는 비교치를 특정 시간 동안 추적해야 한다. 적어도 4MB의 메모리 또는 커밋된 메모리가 사용할 수 있는 메모리의 5% 이상이 항상 있어야 한다.


  • SQLServer: Cache Hit Ratio.
    이것은 SQL 서버가 디스크에 액세스하는 것에 대한 캐시에서 데이터를 찾는 시간에 대한 비율이다. 80%보다 적은 캐시 적중률은 SQL Server에 RAM이 부족함을 나타낸다. 시스템에 RAM이 많이 있다고 해도 SQL Server에 충분한 RAM이 할당되지 않았다면 이러한 문제가 발생할 수 있다. SQL Server에 보다 많은 RAM을 제공하려면 sp_configure 저장된 프로시저 및 SQL Server Enterprise Manager(Sqlew.exe)를 사용하도록 하자.


  • Physical Disk: >% Disk Time.
    선택한 디스크가 읽기 및 쓰기 요청을 제공하는데 사용되는 경과 시간 비율이다. Physical Disk와 함께 Avg. Disk Queue Length는 디스크 드라이브 장애를 나타내는 중요한 표시로 시작-명령에서 Diskperf ?y를 실행한 후에 디스크 카운터를 추적해야 한다.


  • Physical Disk: Avg. Disk Queue Length.
    디스크가 읽기와 쓰기 요청을 수용할 정도로 빠르지 않으면 해당 요청은 대기열에 넣게 된다. Physical Disk: % Disk Time은 85% 이상이고, Avg. Disk Queue Length는 둘 이상이고, RAM의 부족으로 디스크 작업이 이루어질 수 없는 경우 디스크에 병목 현상이 발생할 수 있다. Physical Disk에 포함된 디스크 트래픽을 관찰할 수 있는 다른 카운터로 Disk Reads/sec, Physical Disk, Disk Writes/sec, and SQLServer, Log Writes/sec 등을 들 수 있다.

    RAID 시스템과 같은 디스크 시스템에 보다 많은 물리적 드라이브의 추가를 고려해보는것도 좋다. 이것은 읽고 쓸 수 있는 스핀들 수 뿐만 아니라 데이터 전송률 속도도 향상시켜 준다.


  • System: >% Total Processor Time.
    이것은 프로세서가 사용 중인 시간에 대한 비율이다. 이 카운터가 지속적으로 80%와 100% 사이에서 실행되고 있을 때 CPU 병목 현상의 중요한 표시이다. 당연히 보다 많은 프로세서의 설치를 고려해야 한다.


  • System: Processor Queue Length.
    이것은 프로세서 주기를 기다리며 대기하는 스레드 수의 순간적인(평균이 아닌) 계산이다. 둘 이상으로 지속되는 프로세서 대기열 길이는 일반적으로 프로세서 정체를 나타냄으로 역시 많은 프로세서의 설치를 고려해야 한다.


  • SQLServer -Locks: Total Blocking Locks.
    차단 잠금 수가 높으면 데이터베이스에서 핫스폿을 나타낸다. 사이트 개발자에게 연락.


  • Process: Private Bytes.
    이 프로세스가 할당한 현재 바이트 수는 다른 프로세스와 공유할 수 없다. 시스템이 특정 시간 동안 성능이 떨어지는 경우에 이 카운터는 메모리 누출의 좋은 표시가 될 수 있으므로 모니터링 하도록 하자.


  • Thread: Context Switches: sec: Inetinfo =>Thread#.
    프로세서 당 스레드 또는 스레드 풀의 최대 수를 측정한다. 너무 많은 컨텍스트 전환을 하지 않았는지 확인하려면 이 카운터를 모니터링해야 한다. 컨텍스트 전환에서 손실한 메모리는 성능이 향상되기 보다는 감소하는 위치에 추가되는 스레드의 이점을 허용한다. 초 당 15,000개 이상의 컨텍스트 전환에 대해서는 심각하게 고려해야 한다.

댓글 없음:

댓글 쓰기