소개
사용량이 많은 시간 동안 느린 쿼리는 서비스 중단으로 이스케이드될 수 있습니다. 잘못 선택된 격리 수준으로 인해 사용자가 부실 데이터를 보거나 한 번에 몇 초 동안 서로를 차단할 수 있습니다. Azure SQL Database의 성능 문제는 거의 단일 원인이 없습니다. 하드웨어 구성, 동시성 동작, 쿼리 실행 및 워크로드 패턴 간의 상호 작용에서 나타납니다. 이러한 문제를 진단하려면 각 계층을 이해하고 각 수준에서 사용할 도구를 알고 있어야 합니다.
Azure SQL Database에서 전자 상거래 애플리케이션을 관리하는 팀을 상상해 보십시오. 휴일 판매 중에 트랜잭션 처리량이 감소하고 고객이 시간 제한을 보고합니다. 데이터베이스 자원이 부족한가요? 쿼리가 인덱스를 검색하는 대신 전체 테이블을 검색합니까? 동시 트랜잭션 간에 차단 체인이 형성되고 있나요? 쿼리 최적화 프로그램이 잘못된 계획을 선택합니까? 각 가능성에는 다른 조사 도구와 다른 해결 전략이 필요합니다. 이 모듈에서는 이러한 각 질문을 체계적으로 해결할 수 있는 기술을 제공합니다.
이 모듈을 완료하면 다음을 수행할 수 있습니다.
- 서비스 계층, 컴퓨팅 계층 및 리소스 제한을 포함한 데이터베이스 구성을 평가하고 권장합니다.
- 일관성과 처리량의 균형을 맞추는 트랜잭션 격리 수준 및 동시성 컨트롤을 선택합니다.
- 실행 계획 및 동적 관리 뷰를 사용하여 쿼리 성능을 분석합니다.
- 쿼리 저장소 및 Query Performance Insight를 사용하여 쿼리를 모니터링하고 튜닝합니다.
- DMV 및 확장 이벤트를 사용하여 차단 및 교착 상태를 식별하고 해결합니다.