2/23/2009

본격적인 윈도우즈 퍼포먼스 테스팅 툴


퍼포먼스 체킹 툴을 찾던 중 Windows Performance Toolkit (WPT)라는 툴을 발견했다. 일명 Xperf라고 불리우는 툴이다. 마이크로소프트에서 무료로 제공하는 커널과 유저랜드의 모든 프로세스들의 퍼포먼스를 체크해 볼 수 있는 툴이다. ETW라는 프레임워크를 사용해서 이벤트들을 샘플링하는 방식으로 어디에 프로세스 자원이 얼만큼 사용되는지 측정해 볼 수 있는 툴이다. 더 좋은 것은 단지 어느 모듈이 많은 CPU자원을 소비하는지만을 보여주는 것이 아니라, 실제로 어느 루틴에서 얼만큼의 CPU를 사용하는지, 해당 루틴이 몇번 불리웠는지도 모두 알려준다. 물론 이러한 값들은 샘플링 값들이라 실제값과 완벽하게 1:1 대응하지는 않지만, 그래도 꽤 정확성을 가지고 있을 것이고, 또한 상대적으로 어느 모듈, 어느 루틴이 많은 자원을 소모하는지 알아 내는 데에는 유용할 것이다. 더 좋은 것은 비스타 이상에서는 스택 트레이싱을 제공한다는 것인데, 스택트레이싱을 켜 놓아도 실제로 테스팅 시에는 그다지 시스템 성능 저하가 별로 없었다. 다운로드할 수 있는 인스톨러는 비스타만을 인스톨할 수 있는데, XP에서 사용하기 위해서는 일단 비스타에서 인스톨후에 xperf.exe, perfctrl.dll만 복사해서 XP에서 샘플링이 가능하지만, 어널라이즈를 위해서는 또 비스타에 etl 데이타를 복사해서 해야 한다고 한다. 이렇게 XP에서의 사용이 복잡한 이유에 대해서는  Xperf support for XP를 참조하기 바란다.

Posted via email from bugtruck's posterous

댓글 없음:

댓글 쓰기