2008/01/01

성능 카운터 로그를 이용한 보다 쉬운 프로파일링

SQL Server 의 프로필러(Profiler)는 실시간 쿼리 요청 내용을 확인할수 있는 도구 입니다. 이런 프로필러 도구는 주로 성능 측정을 위한 것과, 문제 해결을 위한 도구로 주로 사용되는데요,.



물론,. 프로필러에 익숙하다면,. 작업관리자 또는 성능모니터 띄워 놓고 프로필러 계속 돌리면서 체크하는 경우가 많습니다. 물론 자료 제출용이라면,. 로그를 따로 남겨야 겠지요?..^^

프로필러 에는 여러가지 추적 이벤트를 제공하므로 매우 상세한 쿼리 실행 추적이 가능합니다. 주로 프로필러를 이용하게 될때가 CPU 부하가 높아 졌을 경우이겠지요..

그러나 이 역시, 경험이 있는 관리자 라면,. 앞서 얘기한 작업관리자나 성능모니터 없이도,. 프로필러에서 제공하는 이벤트열만 가지고서도 충분히 추적이 가능합니다.

여기에서는,. 위처럼 성능데이터와 프로필러 추적자료를 따로 분석하여 관계에 대한 별도의 분석이 필요해 집니다. 그러나,. SQL Server 2005 프로필러 에서는, 성능데이터 로그와 추적데이터 로그의 연동 기능을 제공합니다.


방법은, 간단합니다.

먼저,. 성능 카운터 로그에서 해당 서버의 성능추적에 필요한 몇가지 카운터를 등록하여 로그를 남깁니다. 이때 로그를 남기는 시간은 대략 SQL Server 프로필러 의 로그 시간과 얼추 맞추는게 좋습니다.



그다음에는, SQL Server 프로필러 를 실행하여 프로필러 로그를 남기는 데요,. 파일로그와 테이블로그 2가지가 있는데,. 파일로그를 선택하는게 좋습니다.

원격지 SQL Server 에 테이블 로그를 남기면 상관없지만 로컬에 남기면 이 역시 부하이기 때문이기에 SQL Server 정확한 성능측정에 도움이 되지 못합니다.

어느정도 추적시간이 경과 되었다면, 성능카운터 로그 및 프로필러 추적로그를 종료하고 저장합니다. 그런다음,. SQL Server 프로필러 에서 추적로그를 불러오면,. [파일]-[성능 데이터 가져오기] 메뉴가 활성화 됩니다.

[성능 데이터 가져오기] 를 선택하여 앞서 기록했던 성능 카운터 로그 파일을 선택하면,. 다음과 같이 프로필러 추적 로그와 성능 카운터 로그를 실행 시간기준으로 매칭하여 보여줍니다.



이렇게 하면,. 특정 시간대에 실행된 쿼리와 카운터 로그를 통해 남겨진 성능 데이터를 서로 비교하여 연관 분석이 가능해 집니다.

위와 같은 분석은, 주워진 기본 기능에서의 분석이고, "SQL Nexus" 같은 툴을 이용하면 좀더 비쥬얼한 분석결과를 얻을수 있습니다.

SQL Server 블로킹,병목현상,트레이스,서버상태 분석툴 - SQL Nexus
http://www.serverinfo.pe.kr/Tools/UsefulTools.aspx?Seq=24


31-sql_profiler-1.gif
31-sql_profiler-3.gif
31-sql_profiler-2.gif

댓글 없음:

댓글 쓰기

가장 많이 본 글