요약

완료됨

Azure SQL Database의 성능 최적화는 체계적인 프로세스입니다. 인프라 의사 결정부터 시작하여 동시성 제어를 통해 작업하고 진단 도구를 적용하여 사용자에게 영향을 주는 문제를 찾아서 해결합니다.

이 모듈에서는 다음 방법을 알아보았습니다.

  • 데이터베이스 구성 권장: vCore 및 DTU 리소스 모델을 평가합니다. I/O 대기 시간, 스토리지 및 가용성 요구 사항에 따라 범용, 중요 비즈니스용 및 하이퍼스케일 서비스 계층 중에서 선택합니다. 워크로드 패턴과 일치하도록 프로비전된 컴퓨팅 또는 서버리스 컴퓨팅을 선택합니다.
  • 격리 수준으로 데이터 무결성 유지: 6개의 격리 수준에서 일관성과 동시성 간의 장단점을 이해합니다. RCSI 및 최적화된 잠금(둘 다 Azure SQL Database에서 기본적으로 사용됨)을 사용하여 차단을 최소화합니다.
  • 쿼리 성능 평가: 실행 계획을 읽어 검사, 행 추정 오류, 키 조회 및 경고를 식별합니다. DMV를 쿼리하여 가장 비싼 쿼리, 현재 실행 중인 요청 및 누락된 인덱스를 찾습니다.
  • 쿼리 저장소를 사용하여 모니터링 및 조정: 즉각적인 수정을 위해 이전 계획을 강제로 적용합니다. 애플리케이션 코드를 수정하지 않고 쿼리 저장소 힌트를 적용합니다. Query Performance Insight를 사용하여 Azure Portal에서 성능을 시각화합니다.
  • 차단 및 교착 상태 식별 및 해결: .를 사용하여 헤드 블로커 sys.dm_exec_requests찾기 확장 이벤트를 통해 교착 상태 그래프를 캡처합니다. 트랜잭션을 짧게 유지하고, 일관된 순서로 개체에 액세스하고, 오류 1205에 대한 재시도 논리를 구현하여 동시성 문제를 방지합니다.

자세히 보기