안녕하세요.

쿼리 과부하 체크와 관련하여 질문이 있어 글을 올립니다.

 

현재 쿼리 CPU 과부하를 알아보기 위해 DMVs 를 통해

(total_worker_time/excecutoin/1000) 구문으로 확인하고 있는데요.

 

예를 들어 임의로 과부하가 많이 걸리는 쿼리를 두개 동시에 돌릴 경우

 

(A) 쿼리 값은  CPU 사용률 50%

(B) 쿼리 값은  CPU 사용률 60%

 

위와 같이 나왔다고 가정할 경우

위 값은 일반적으로 생각하는 sqlservr.exe의 cpu사용률과는 거리가 멀다고 생각해야 되는건지요~?

 

또한 각 A,B의 사용률은 110% 가 되는데, 각 쿼리별 CPU 사용률을 따로 봐야 하는건가요~?

 

기본적인 개념이 부족하여 드리는 기초적인 질문이라

양해를 드리며 글을 살포시 올려봅니다.

 

 

읽어주셔서 감사합니다.

 

 

-----------현재 과부하 쿼리 확인을 위해 AVG CPU Time을 가져오기 위해 하단의 쿼리를 사용중입니다.----------------

 

  SELECT TOP 10
       qs.last_execution_time
       ,qs.total_worker_time
       ,qs.execution_count
      ,REPLACE(CONVERT(VARCHAR(20), CONVERT(MONEY,qs.total_worker_time / qs.execution_count/1000),1),'.00','') as [Avg CPU Time(ms)]
      ,qs.execution_count
      ,substring (qt.text,
                  qs.statement_start_offset/2+1,
                  (case when qs.statement_end_offset = -1 then len (convert (nvarchar(max), qt.text)) * 2
                        else qs.statement_end_offset end - qs.statement_start_offset)/2) as query_text
      ,qt.dbid
      ,sd.name
      ,qt.objectid
      ,qt.number
      ,qt.encrypted
      ,qt.text
      ,sr.session_id
      ,sr.command
      ,sr.status
      ,sr.last_wait_type
      ,sr.wait_resource
      ,sq.query_plan
      ,fs.text
  FROM sys.dm_exec_query_stats qs
       CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
       CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) as sq
       LEFT OUTER JOIN sys.databases as sd on qt.dbid = sd.database_id
       LEFT OUTER JOIN sys.dm_exec_requests as sr on qs.sql_handle = sr.sql_handle
       OUTER APPLY sys.fn_get_sql(sr.sql_handle) AS fs      
 ORDER BY qs.total_worker_time / qs.execution_count DESC
GO

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 1310
7403 sql 2000에서 되던 쿼리가 sql2008R2 에선 안되네요;; [4] 마니워니 2013.12.05 4439
7402 선배님들 인덱스에 관하여 질문이 있습니다. [4] alima 2013.12.05 4416
7401 주어진 시간으로 일자와 오전 오후를 리턴할려고 하면 어떻게 하나요? [3] 동도리군 2013.12.05 4458
7400 bulk insert와 insert bulk의 차이점...은 뭔가요?? ^^;; [2] 없다 2013.12.04 6379
» 쿼리 과부하 체크와 관련하여 질문드립니다. [4] dontcryme 2013.12.04 6772
7398 두테이블 비교해서 값 뽑기 질문이요. [8] 오리지널 2013.12.03 4684
7397 암호가 제공된 로그인의 암호화 일치하지 않습니다. 로그.. [3] 웨퐁 2013.12.03 9441
7396 bigint때문에 [1] 마에스트로 2013.12.02 3737
7395 SQL 작성하는 문제의 답을 알고싶습니다. [6] 몰러 2013.12.01 10777
7394 두테이블 비교해서 없는 값을 뽑고싶습니다. 오리지널 2013.11.30 5327
7393 특정 필드의 긴문자열을 여러로우로 분리하기 질문입니다. [3] 유앤미 2013.11.29 5041
7392 MSSQL 대량으로 Insert 할때...... [3] 석호 2013.11.29 31470
7391 트리거 생성시 deleted에서 text 사용하는 방법 없나요? [2] 아네사 2013.11.29 3873
7390 SQL Server Management Studio Express 에서 csv 파일 내보내기(백업하기) 기능 질문 주인님아 2013.11.29 6201
7389 MSSQL 자체에서 사용자 정보를 알고 싶습니다. [2] 아네사 2013.11.29 3982
7388 SQL2005 데이터내보내기 도와주세요 ㅜㅜ [3] 오장석 2013.11.29 4734
7387 Where 절에 사용자 정의 함수가 포함된 구문에서 질문드립니다. 김락중_278785 2013.11.28 3725
7386 기간 데이타 출력시 전 데이타 같이 출력 [2] 냥냥 2013.11.28 18180
7385 SQL 계정의 최종 로그인 시점을 알수 있을까요? [2] 수노 2013.11.28 4988
7384 건우아빠님 마지막으로 하나만 더 물어보겠습니다. [3] 김락중_278785 2013.11.28 22312





XE Login