Azure Database for MySQL의 Query Performance Insight

적용 대상: Azure Database for MySQL - 단일 서버

Important

Azure Database for MySQL 단일 서버는 사용 중지 경로에 있습니다. Azure Database for MySQL 유연한 서버로 업그레이드하는 것이 좋습니다. Azure Database for MySQL 유연한 서버로 마이그레이션하는 방법에 대한 자세한 내용은 Azure Database for MySQL 단일 서버에 대한 새로운 소식을 참조하세요.

적용 대상: Azure Database for MySQL 5.7, 8.0

Query Performance Insight를 사용하면 가장 오랫동안 실행되는 쿼리, 쿼리가 시간의 경과에 따라 변경되는 방식 및 쿼리에 영향을 주는 대기 등을 빠르게 파악할 수 있습니다.

일반적인 시나리오

장기 실행 쿼리

  • 지난 X시간 동안 가장 오래 실행되는 쿼리를 식별하는 경우
  • 리소스에서 대기 중인 최상위 N개 쿼리를 식별하는 경우

대기 통계

  • 쿼리의 대기 특성 이해
  • 리소스 대기 추세 및 리소스 경쟁이 있는 위치 이해

필수 조건

Query Performance Insight가 작동하려면 쿼리 저장소에 데이터가 있어야 합니다.

Performance Insight 보기

Azure Portal의 Query Performance Insight 보기에는 쿼리 저장소의 핵심 정보가 시각화되어 표시됩니다.

Azure Database for MySQL 서버의 포털 페이지에서 메뉴 모음의 지능형 성능 섹션 아래에 있는 Query Performance Insight를 선택합니다.

장기 실행 쿼리

장기 실행 쿼리 탭에는 실행당 평균 기간별 상위 5개 쿼리 ID가 15분 간격으로 집계되어 표시됩니다. 쿼리 수 드롭다운에서 선택하여 더 많은 쿼리 ID를 볼 수 있습니다. 이 작업을 수행하면 특정 쿼리 ID에 대해 차트 색이 변경될 수 있습니다.

참고 항목

쿼리 텍스트 표시는 더 이상 지원되지 않으며 빈 상태로 표시됩니다. 쿼리 텍스트는 보안 위험을 초래할 수 있는 기본 스키마 또는 쿼리 텍스트에 무단으로 액세스하지 못하도록 하기 위해 제거됩니다.

쿼리 텍스트를 보는 데 권장되는 단계는 다음과 같습니다.

  1. Azure Portal의 Query Performance Insight 블레이드에서 상위 쿼리의 query_id를 식별합니다.
  2. MySQL Workbench나 mysql.exe 클라이언트 또는 기본 쿼리 도구에서 Azure Database for MySQL 서버에 로그인하여 다음 쿼리를 실행합니다.
    SELECT * FROM mysql.query_store where query_id = '<insert query id from Query performance insight blade in Azure portal';  // for queries in Query Store
    SELECT * FROM mysql.query_store_wait_stats where query_id = '<insert query id from Query performance insight blade in Azure portal';  // for wait statistics

차트를 클릭하고 끌어 특정 기간으로 범위를 좁힐 수 있습니다. 확대/축소 아이콘을 사용하여 더 긴 기간이나 더 짧은 기간을 표시할 수도 있습니다.

Query Performance Insight long running queries

대기 통계

참고 항목

대기 통계는 쿼리 성능 문제를 해결하기 위한 것입니다. 문제 해결 목적을 위해서만 켜지도록 하는 것이 좋습니다.
대기 통계를 볼 때 Azure Portal에서 "'Microsoft.DBforMySQL'에 문제가 발생하여 요청을 이행할 수 없습니다. 이 문제가 계속되거나 예기치 않은 경우, 이 정보를 사용하여 지원 부서에 문의하세요."라는 오류 메시지가 표시되면 더 짧은 기간을 사용합니다.

대기 통계는 특정 쿼리를 실행하는 동안 발생하는 대기 이벤트에 대한 보기를 제공합니다. MySQL 엔진 설명서에서 대기 이벤트 유형에 대해 자세히 알아보세요.

서버의 대기 쿼리를 시각화하려면 대기 통계 탭을 선택합니다.

대기 통계 보기에 표시되는 쿼리는 지정된 시간 간격 동안 가장 큰 대기를 나타내는 쿼리로 그룹화됩니다.

참고 항목

쿼리 텍스트 표시는 더 이상 지원되지 않으며 빈 상태로 표시됩니다. 쿼리 텍스트는 보안 위험을 초래할 수 있는 기본 스키마 또는 쿼리 텍스트에 무단으로 액세스하지 못하도록 하기 위해 제거됩니다.

쿼리 텍스트를 보는 데 권장되는 단계는 다음과 같습니다.

  1. Azure Portal의 Query Performance Insight 블레이드에서 상위 쿼리의 query_id를 식별합니다.
  2. MySQL Workbench나 mysql.exe 클라이언트 또는 기본 쿼리 도구에서 Azure Database for MySQL 서버에 로그인하여 다음 쿼리를 실행합니다.
    SELECT * FROM mysql.query_store where query_id = '<insert query id from Query performance insight blade in Azure portal';  // for queries in Query Store
    SELECT * FROM mysql.query_store_wait_stats where query_id = '<insert query id from Query performance insight blade in Azure portal';  // for wait statistics

Query Performance Insight waits statistics

다음 단계