[DBMS] 프로파일러(Profiler)

류재성's avatar
Nov 26, 2024
[DBMS] 프로파일러(Profiler)
 
💡
프로파일러(Profiler)는 SQL Server의 최적화를 위해서 사용되는 도구로, 발생하는 각종 이벤트를 추적하고 수집함으로써 현재 어떤 SQL문이 서버의 성능을 떨어뜨리는지 쉽게 확인할 수 있다.
 
 
notion image
 
도구 > SQL Server Profiler 를 선택한다.
 
notion image
 
SQL Server 와 동일하게 설정 후 연결 버튼을 누른다.
 
notion image
 
이름을 입력하고 탬플릿은 기본으로 선택한다.
 
notion image
 
Events Selections 탭을 선택하면 원하는 이벤트만 선택할 수 있다.
 
notion image
 
RUN을 누르면 프로파일러가 실행된다.
 
notion image
 
그리고 쿼리창에서 쿼리를 실행한다.
 
notion image
 
프로파일러에서 쿼리를 실행했을 때 이벤트 결과를 볼 수 있다.
 
주된 항목은 다음과 같다.
  • CPU : 이벤트에서 사용한 CPU 시간(밀리초)
  • Reads : 이벤트 대신 서버에서 수행한 논리적 디스크 읽기 수
  • Writes : 이벤트 대신 서버에서 수행한 물리적 디스크 쓰기 수
  • Duration : 이벤트에서 사용한 시간
  • SPID : 실행하는 프로세스의 ID
 
 
이벤트의 수가 많기 때문에 더 단순한 탬플릿을 사용해본디.
 
notion image
 
TSQL_Duration 을 탬플릿으로 선택한다.
 
 
notion image
 
쿼리창에 쿼리를 실행한다.
 
notion image
 
세 번째 쿼리가 Duration이 가장 오래 걸렸다. 이는 대개 조회할 데이터가 많거나, SQL 문에 문제가 있을 확률이 높다.
 
 
Share article

{CODE-RYU};