프로덕션 환경의 데이터베이스에서 SQL 프로필러 사용


28

개발자는 SQL 프로파일 러를 자주 사용합니다. 내 코드가 수행하는 작업을 추적하고 성능 문제를 분석하는 데 유용한 디버깅 도구입니다.

그러나 나는 항상 개발 환경에서 매우 통제 된 방식으로 사용했습니다.

  • 내 응용 프로그램을 시작하고 특정 상태로 가져옵니다
  • 프로파일 러에서 추적 시작
  • 내 응용 프로그램에서 특정 작업 순서를 수행합니다.
  • 추적을 중지하고 결과를 검사하십시오.

프로덕션 환경에서 SQL 프로파일 러를 실제로 사용할 수 있습니까?

첫 번째 관심사는 성능이 저하 될 것이라는 점입니다.

두 번째 관심사는 프로덕션 환경이기 때문에 흥미로운 작업 자체를 유발하지 않는다는 것입니다. 프로파일 러를 장기간 실행 한 후 결과를 분석해야합니다. 결과 집합이 다루기 어려워 집니까? 디스크 공간을 너무 많이 차지하고 쿼리하기가 너무 어렵습니다.

프로덕션에서 SQL 프로파일 러를 사용하는 사람이 있습니까?


1
원하는 것을 알고 있다면 dba.stackexchange.com/questions/756/…
Gaius

답변:


19

프로덕션 서버를 추적하기 위해 Sql Server Profiler (GUI 도구)를 사용하는 것은 좋지 않습니다. 그러나 그것은 부하에 달려 있습니다. 대신 서버 측 SQL 추적 ( sp_trace_XXX 프로 시저 참조 )을 사용하십시오. 또한 기사를 찾았습니다.

성능 영향 : 서버 측 SQL 추적 대 프로파일 러 추적 ,

SQL Server에서 서버 측 추적 자동화

프로파일 러 관련 문제 발생 방지

아마도 흥미롭고 유용 할 것입니다.

온라인 예약의 내용 :

  • 서버에서 직접 대신 원격으로 프로파일 러 실행
  • 꼭 필요한 경우가 아니면 자주 발생하는 이벤트 (예 : Lock : Acquired)는 포함하지 마십시오.
  • 필요한 이벤트 클래스 만 포함
  • 이벤트 수를 줄이기 위해 제한 필터 지정
  • 중복 데이터 방지 (예 : SQL : BatchStarting 및 SQL : BatchCompleted)
  • 프로파일 러로 큰 추적을 실행하지 마십시오. 대신 서버 측 SQL 추적을 고려하십시오.
  • 서버 측 추적 파일 크기 제한 및 공간 사용량 관리

1
영향 필터를 최대한 최소화하려면 sp_trace 명령을 통해 파일을 추적하십시오. GUI를 원격으로 실행하면 가장 큰 영향을 주지만이를 사용하여 파일로 덤프하도록 빠르게 수정할 수있는 모든 필터가 포함 된 스크립트를 쉽게 생성 할 수 있습니다. 파일 수와 파일 크기를 적절하게 설정하십시오.
AndrewSQL

21

프로덕션에 대해 항상 SQL 프로파일 러를 사용합니다. 서버에 대해 올바르게 수행하면 (소량의 데이터를 다시 가져 오도록 필터링) 위험이 최소화됩니다. 모든 것을 추적하는 것은 쓸모가 없습니다.


7
  1. 그렇습니다. 모니터링에는 약간의 자원이 필요합니다. 과부하 된 서버에서 실행하면 서버가 종료 될 수 있습니다.

  2. 실제로 실제 부하를 모니터링합니다.이 부하의 소음으로 인해 작업이 손실 될 수 있습니다.

때로는 프로덕션에서 실행합니다. 주로 특정 코드를위한 텍스트 필터 또는 더 오래 실행되는 쿼리를 트랩하기위한 CPU / 지속 시간 필터가 있습니다. 그리고 우리는 XML 실행 계획이나 그와 같은 넌센스를 포착하려고 시도하지 않습니다

열쇠는 당신이 찾고있는 것을 아는 것입니다. 우리는 그것을 실행하고 모든 것을 잡아 버리는 경향이 없습니다.

이 경우 일부 작업의 결과를 보려면 몇 시간 내에 할 수 있습니까?


2

프로파일 러는 항상 성능에 영향을 미칩니다.

SQL Server 2008R2 +를 사용하는 경우 확장 이벤트를 사용할 수 있습니다. 이는 성능 저하의 일부로 프로파일 러에 표시되는 많은 정보를 제공합니다.

온라인 설명서 소개 http://technet.microsoft.com/en-us/library/bb630354(v=sql.105).aspx

이 기능은 SSMS에 GUI가 포함 된 SQL Server 2012에서 크게 업데이트되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.