SQL SERVER 성능 개선 5(CPU 성능 분석)
(1)개술
(1)CPU 는 데이터베이스 서버 에 있어 매우 중요 한 자원 이다.잔말 말고 다 들 알 잖 아.
(2)CPU 성능 을 어떻게 모니터링 합 니까?
2.1 system perfmon 을 사용 하여 프로세서:%Processor 시간 성능 계산 기 를 수집 할 수 있 습 니 다.다른 글 을 참조 할 수 있 습 니 다.
SQL SERVER 성능 개선 2(서버 의 전체 성능 분석)
2.2 SQL Server Performance Dashboard 를 사용 합 니 다.
(2)어떤 원인 이 CPU 성능 문 제 를 초래 할 수 있 습 니까?
(1)해시 연산,정렬 연산 등 CPU 의 연산 을 대량으로 소모 한다.
(2)실행 계획 의 컴 파일 과 재 컴 파일.
(3)색인 이 부족 한 대량의 IO 작업 도 추가 적 인 CPU 소 모 를 일 으 킬 수 있다.
(4)병행 작업.
잠깐 만...
(3)구체 적 인 수단
(1)몇 가지 중요 한 기다 림 은 서버 등급 의 기다 림 을 먼저 확인한다.
SELECT wait_type,
Sum(signal_wait_time_ms) AS TotalSignalWaitTime
FROM sys.dm_os_wait_stats
GROUP BY wait_type
ORDER BY 2 DESC
CXPACKET 대기:여러 스 레 드 가 동기 화 되 기 를 기다 리 면 이 대기 가 나타 납 니 다.
SOS_SCHEDULER_YIELD:CPU 를 포기 하고 계속 실행 을 기다 리 고 있 습 니 다.
만약 대량의 CXPACKET 대기 가 발견 된다 면 병행 으로 인해 발생 할 수 있 으 며,OLTP 시스템 에 서 는 병행 도 를 낮 추 는 것 을 고려 할 수 있다.
대량의 SOS 를 발견 하면SCHEDULER_YIELD 가 기다 리 는 것 은 CPU 에 병목 이 있다 는 것 을 설명 할 수 있 습 니 다.
(2)몇 개의 중요 한 카운터
sql statistics: sql compilations/sec 초당 조회 컴 파일 횟수
sql statistics: sql recompilations/sec 초당 조회 재 컴 파일 횟수
위의 두 성능 카운터 의 값 이 매우 높 은 것 을 발견 하면 CPU 성능 문제 가 컴 파일 되 어 발생 할 수 있 습 니 다.저장 프로 세 스 로 T-SQL 문 구 를 밀봉 하고 매개 변수 화 조 회 를 할 수 있 으 며 긴급 할 때 데이터 강제 매개 변 수 를 열 수 있 습 니 다.
(3)구문 단계 처리
SELECT TOP 10 total_worker_time / execution_count AS [Avg CPU Time],
(SELECT Substring(text, statement_start_offset / 2, (
CASE
WHEN statement_end_offset = -1 THEN Len(
CONVERT(NVARCHAR(max), text)) *
2
ELSE statement_end_offset
END
- statement_start_offset ) / 2
)
FROM sys.Dm_exec_sql_text(sql_handle)) AS query_text,
*
FROM sys.dm_exec_query_stats
ORDER BY [Avg CPU Time] DESC
select top 10
(total_logical_reads/execution_count) as avg_logical_reads,
(total_logical_writes/execution_count) as avg_logical_writes,
(total_physical_reads/execution_count) as avg_phys_reads,
Execution_count,
statement_start_offset as stmt_start_offset,
sql_handle,
plan_handle
from sys.dm_exec_query_stats
order by (total_logical_reads + total_logical_writes) Desc
이 조 회 를 사용 하면 CPU 와 IO 가 가장 많이 소모 되 는 10 개의 문 구 를 조회 할 수 있 으 며,쓰기 방법 을 바 꾸 거나 색인 을 적 절 히 추가 하여 CPU 사용률 을 낮 출 수 있 는 지 하나씩 분석 할 수 있다(일반적으로 높 은 CPU 와 높 은 IO 관련 이 있 기 때문에 먼저 IO 를 낮 추고 직관 적 으로 처리 하 는 것 이 문장의 논리 적 읽 기 를 줄 이 는 것 이다).
(4)총화
CPU 최 적 화 는 장기 적 인 과정 입 니 다.현재 의 성능 카운터 와 기선 을 비교 하고 가능 한 한 빨리 문 제 를 발견 해 야 합 니 다.CPU 에 성능 문제 가 발생 한 것 은 CPU 에 병목 이 생 겼 다 는 것 을 의미 하지 않 습 니 다.다른 하드웨어 가 고장 났 거나 색인 이 의도 적 으로 삭제 되 었 거나 사이트 가 공격 을 받 았 다 는 것 을 예시 할 수 있 기 때문에 CPU 모니터링 이 중요 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 중첩된 객체를 정확히 일치 검색 - PostgreSQL목차 * 🚀 * 🎯 * 🏁 * 🙏 JSON 객체 예시 따라서 우리의 현재 목표는 "고용주"사용자가 입력한 검색어(이 경우에는 '요리')를 얻고 이 용어와 정확히 일치하는 모든 사용자 프로필을 찾는 것입니다. 즐거운 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.