문제

Java/.NET 앱을 프로파일 링하여 성능 병목 현상 또는 메모리 문제를 찾을 수있는 방법이 마음에 듭니다. 예를 들어, 성능 병목 현상을 찾는 것은 매우 쉽습니다. 방법 당 실행 시간 및 호출 카운트가있는 콜 트리. SQL Server에서는 뷰에 의존하는 다른 저장 절차를 호출하는 절차를 저장했는데, 이는 다른 방법을 호출하는 Java/.NET 메소드와 유사합니다. 따라서 여기에서도 같은 종류의 프로파일 러가 매우 도움이 될 것 같습니다. 그러나 나는 멀리 넓어 보였고 하나를 찾을 수 없었습니다. SQL Server 또는 기타 DBM에 대한 이러한 도구를 알고 있습니까?

업데이트 : SQL Server Profiler와 관련하여 답장을 보내 주셔서 감사하지만이 도구는 매우 제한적입니다. 보세요 스크린 샷.

도움이 되었습니까?

해결책

체크 아웃 SQL Nexus 도구. 이것은 병목 현상을 식별하는 데 좋은 보고서가 있습니다. SQL Nexus는 SQL 서버 성능 문제의 근본 원인을 식별하는 데 도움이되는 도구입니다. SQLDIAG 및 PSSDIAG가 수집 한 성능 데이터를로드하고 분석합니다. 수동으로 데이터를 분석하는 데 소요되는 시간을 크게 줄일 수 있습니다.

내부 SQL 2005 책 중 하나 (아마도 T-SQL 쿼리)에는 저자가 SQL 프로파일 러 출력을 테이블 또는 Excel 파일에 버리고 피벗을 적용하여 유사한 형식으로 출력을 얻는 멋진 기술이있었습니다. 스크린 샷.

나는 당신에게 그런 종류의 분석을 제공하는 내장 SQL 도구를 보지 못했습니다. 또 다른 유용한 게시하다.

다른 팁

@galwegian의 의견에 언급 된대로 SQL Server 프로파일 러 외에도 쿼리를 실행할 때 실행 계획을 확인하십시오.

http://www.sql-server-performance.com/tips/query_execution_plan_analysis_p1.aspx
http://en.wikipedia.org/wiki/query_plan

SQL Server 프로파일 러에 대한 또 다른 전체 스레드 :

SQL 서버 성능 문제 식별

나는 당신이 말하는 것을 이해하지만 일반적으로 데이터베이스 최적화는 더 미세한 수준에서 이루어집니다. 데이터베이스 활동이 클라이언트에서 구동되는 경우 기존 클라이언트 프로파일 러를 사용하여 각 단계에서 총 시간을 얻은 다음 낮은 교수형 과일 (데이터베이스에서 여부에 관계없이)을 해결할 수 있어야합니다.

특정 데이터베이스 단계를 자세히 프로파일 링 해야하는 경우 프로파일 러 및 트레이스를 사용할 수 있습니다.

일반적으로 데이터베이스 액세스는 개별 기준으로 다루어지는 특정 세분성을 가지며 데이터베이스 활동은 모든 종류의 사용자 액세스가 진행되는 경우 선형이 아니지만 프로그램 프로파일 러는 일반적으로 코드의 선형 경로를 프로파일 링합니다.

언급했듯이 SQL Server Profiler는 SQL에 전달되는 프로그램을 확인하는 데 유용합니다. 필요한 경우 실행 트리를 표시하지는 않습니다. 이를 위해, 내가 생각할 수있는 것은 쇼 계획을 사용하여 런타임에 정확히 실행되는 것을 확인하는 것입니다. 예를 들어보기를 호출하는 SP를 호출하는 경우 Profiler는 SP가 실행되었으며 어떤 매개 변수가 전달되었는지를 보여줍니다. 또한 Windows Performance Monitor는 SQL Server와 관련된 광범위한 런타임 성능 메트릭을 갖습니다. 서버에서 실행하거나 원격으로 연결할 수 있습니다.

성능 병목 현상을 찾으려면 데이터베이스 엔진 튜닝 어드바이저 (SQL Server Management Studio의 도구 메뉴에 있습니다. 쿼리를 최적화하기위한 제안을 제공하고 자동으로 최적화하기위한 제안을 제공 할 수 있습니다 (적절한 인덱스 작성 등).

당신은 s를 사용할 수 있습니다QL 프로파일 러 - 프로파일 링 측면을 다루지 만 벌목 도구로 생각하는 경향이 있습니다. 성능을 진단하려면 아마도 쿼리 계획.

SQL Server 프로파일 러가 있지만 이름에도 불구하고 질문의 소리로 원하는 것을 수행하지 않습니다. 데이터베이스에서 진행되는 모든 통화에 대한 자세한보기를 보여줍니다. 한 번에 하나의 Sproc뿐만 아니라 앱 전체 문제를 해결하는 것이 좋습니다.

필요한 것 같습니다 실행 계획을보십시오 쿼리/스포츠 쿼리 분석기 그리고 그것은 당신이 찾고있는 데이터와 비슷한 것을 줄 것입니다.

여러 답변에서 언급했듯이 SQL 프로파일 러는 요구하는 것을 보여줄 것입니다. 당신이해야 할 일은 저장 프로 시저 그룹에있는 이벤트 SP : STMTCompleted, 그리고 쿼리 계획을 원한다면 성능 그룹에있는 ShowPlan XML 통계 프로파일을 켜는 것입니다. . XML 계획 마지막 계획은 그래픽 설명을 제공하고 계획의 각 단계에서 처리 된 실제 행을 보여줍니다.

프로파일 러의 앱 속도가 느려지면 가능한 한 많이 필터링하고 서버 측 트레이스로 이동하는 것이 좋습니다.

HTH Andy

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top