Team Foundation Server 성능 확인
업데이트: 2007년 11월
성능 카운터 및 모니터링 도구를 구성하여 Team Foundation Server 성능을 평가할 수 있습니다. 이 데이터를 지속적으로 검토하고 분석하면 Team Foundation Server 배포 환경의 전반적인 성능을 평가하는 데 많은 도움이 됩니다. 뿐만 아니라 성능 데이터를 검토하면 문제를 파악하고 해결하는 데 도움이 될 수도 있습니다.
Team Foundation Server 자체는 SQL Server를 사용하여 데이터를 저장하는 ASP.NET SQL Server 응용 프로그램입니다. 이러한 종류의 응용 프로그램 모니터링에 익숙한 경우에는 동일한 방법을 사용하여 Team Foundation Server를 모니터링하고 성능을 평가할 수 있습니다.
기준 데이터 설정
모든 Team Foundation Server 배포 환경은 저마다 고유하며 Team Foundation Server의 성능은 하드웨어, 소프트웨어, 사용자 수, 프로젝트 수, 각 프로젝트에 사용되는 프로세스 템플릿, 소스 데이터의 양, 작업 항목에 따라 달라집니다. 자신의 특정 Team Foundation Server 배포 환경에 대해 기준이 되는 성능 데이터를 설정하는 것이 중요합니다. 이러한 데이터를 통해 성능이 변화된 경우 주목할 만한 성능 변화를 식별할 수 있습니다. 또한 시간 경과에 따른 Team Foundation Server 하드웨어의 전반적인 성능 요구 사항을 더 잘 파악할 수 있습니다.
Team Foundation Server의 인프라 범위는 꽤 큽니다. 따라서 모니터링할 대상 및 인식된 일부 값에 작업이 필요한지 여부를 결정하는 방법을 미리 결정해야 합니다. 예를 들어 CPU 최고 사용량이 80%를 초과하여 10분 이상 지속될 경우 조치를 취하도록 결정할 수 있습니다. 이러한 결정을 문서화하여 프로젝트의 다른 항목에 임계값을 정의할 수 있습니다. 이러한 모든 변수와 상태를 하나의 위치에 수집하면 Team Foundation Server 환경의 상태에 대한 정보 모델을 문서화할 수 있습니다. 이 전략을 상태 모델 또는 상태 정보라고도 합니다. 상태 모델은 시스템의 상태를 정의하는 관찰 가능한 조건의 집합입니다. 이전 예제에서는 CPU 사용량을 모니터링하기 위한 임계값을 정의합니다. 이 예제에서 볼 수 있듯이 상태 모델은 과학 및 수학적이기 보다는 규칙 및 합의에 가깝습니다.
Team Foundation Server의 관리자는 모니터링할 대상 및 임계값을 참조점으로 사용하여 상태 변경 여부를 평가하는 방법을 결정해야 합니다. 상태 모델이 없으면 배포 환경의 상태를 측정할 수 있는 참조점이 없는 것이나 마찬가지입니다.
기준 데이터 설정을 위한 도구
성능 모니터링은 로그 모니터링과는 상당한 차이가 있습니다. 성능 모니터링을 수행하려면 지정된 기간 동안 특정 성능 카운터 집합을 관찰해야 합니다. 예를 들어 응답 시간에 관련된 문제를 해결하기 위해 성능을 모니터링할 수 있습니다. 일반 다운로드 시간에 대한 데이터가 없으면 특정 프로젝트의 소스 트리 다운로드 응답 시간에 대한 사용자 불만족에 대처하기가 어렵습니다. Team Foundation Server에는 서버 성능을 모니터링하기 위한 별도의 도구 모음이 없지만 Windows Server 2003, Microsoft SQL Server 2005 및 .NET Framework에 포함되어 있는 모니터링 도구와 옵션을 사용하여 Team Foundation Server 배포 환경을 모니터링할 수 있습니다. 필요한 경우 Team Foundation Server 성능을 모니터링하는 도구를 직접 만들 수도 있습니다. 자세한 내용은 Team Foundation Server의 모니터링 도구 이해를 참조하십시오.
데이터 평가
로깅 데이터, 추적 데이터, 성능 모니터링 데이터 및 서비스 모니터링 데이터를 모두 이해하고 분석하려면 각기 다른 방법이 필요합니다. 먼저 무언가 발생했음을 파악하고 확인해야 합니다. 그런 다음 필요한 경우 시스템을 더 양호한 상태로 복원할 수 있는 작업을 결정해야 합니다. 각 배포마다 이를 파악하고 작업을 결정하기 위한 자체 프로세스가 있습니다. 하지만 시간이 지날수록 모든 프로세스에는 집중적인 노력이 필요합니다. 배포 환경을 모니터링하면서 수집한 데이터의 기록과 바람직하지 않은 변경에 대처하기 위해 취한 작업의 기록을 보관해 두면 사용자만의 대처 정보를 더 쉽게 준비할 수 있습니다. 상용 소프트웨어에 투자하여 이러한 데이터의 수집과 유지를 자동화할 수도 있습니다.
Team Foundation Server 배포 환경에 대한 기준 데이터를 설정하면 Team Foundation Server의 전반적인 성능과 상태를 보다 정확하게 파악할 수 있습니다. 예를 들어 이벤트 뷰어에 런타임 데이터베이스 예외가 정기적으로 표시되는 경우에는 Team Foundation 데이터 계층 서버에서 사용할 수 있는 프로세서 또는 메모리 리소스가 부족한 것일 수 있습니다. 마찬가지로 Team Foundation Server 성능 카운터 중 하나가 갑자기 하락하면 Team Foundation 응용 프로그램 계층 서버의 전반적인 성능은 물론 해당 성능 카운터와 관련하여 응용 프로그램을 조사해야 합니다. 자세한 내용은 성능 모니터링을 참조하십시오.
버전 제어 성능 모니터링
버전 제어 및 팀 빌드 환경을 모니터링할 때는 많은 변수를 고려해야 합니다. 배포 주기를 잘 이해하고 있다면 버전 제어에서 면밀히 모니터링할 대상을 더 정확하게 예측할 수 있습니다. 또한 한계를 이해하고 있으면 모든 문제를 사전에 해결할 수 있습니다.
Team Foundation Server에는 버전 제어 모니터링을 위한 많은 성능 카운터가 있습니다. 모니터링 대상에 따라 다르지만 다음 표의 카운터가 유용할 수 있습니다. 카운터의 전체 목록은 성능 모니터링을 참조하십시오.
Team Foundation Build 성능 모니터링
모든 도구 집합과 마찬가지로 배포 환경에 따라 정의되는 사용량은 매우 다양합니다. 예를 들어 단일 빌드 스크립트를 사용하는 단일 빌드 환경의 프로젝트의 사용량은 여러 빌드 환경과 여러 빌드 스크립트를 사용하는 팀 프로젝트와 큰 차이가 있습니다. Team Foundation Build 성능을 효과적으로 모니터링하려면 배포 요구 사항에 적합한 모니터링 기준을 결정해야 합니다. 다음 목록에는 Team Foundation Build에서 모니터링하기 위해 확인해야 할 수 있는 몇 가지 항목이 나와 있습니다.
평균 빌드 실행 시간
빌드 수행 횟수
예를 들어 매일 작성되는 빌드는 하루에 한 번만 수행되어야 합니다.
특정 기간에 발생한 빌드 실패 횟수
근무 시간 외에 발생한 빌드 수
Team Foundation Build를 실행하는 서버의 표준 성능 기준
예를 들어 CPU 사용률의 백분율을 모니터링할 수 있습니다.
시간이 긴 빌드의 평균 시간
성공적 빌드의 알림
다음은 Team Foundation Build 환경에서 몇 가지 중요한 요소를 결정할 때 도움이 될 수 있는 도구와 절차입니다.
Team Foundation Build 요약을 검토하면 실패를 판별하고 빌드 완료에 필요한 시간을 확인할 수 있습니다. 자세한 내용은 방법: 빌드 요약 상태 보기를 참조하십시오.
빌드 진행률을 모니터링함으로써 빌드가 예상 완료 시간보다 더 길어지는 원인이 되는 단계 또는 항목을 판별할 수 있습니다. 자세한 내용은 방법: 빌드 진행률 모니터링을 참조하십시오.
빌드 알림을 수신하여 현재 빌드의 상태를 확인할 수 있습니다. 자세한 내용은 방법: 빌드 알림 전자 메일 받기를 참조하십시오.
참고 항목
개념
Team Foundation Server의 모니터링 도구 이해