성능 스키마를 사용하여 AWS RDS MySQL 5.7+에서 장기 실행 ALTERS를 모니터링하는 방법
ALTER
를 실행할 때마다 몇 시간, 심지어 며칠이 걸리는 MySQL RDS 데이터베이스가 있기 때문에 이 페이지를 방문했을 것입니다. 불행히도 MySQL은 이를 모니터링하는 쉬운 방법을 제공하지 않으며 RDS 모니터링이나 AWS의 RDS 성능 개선 도우미도 제공하지 않습니다.다행스럽게도 MySQL 5.7부터 진행 정보에 대한 지원이 있었고 이는 스테이지 이벤트를 사용하여 성능 스키마로 구현되었습니다. 자세한 설명(및 MySQL 8에서 아래 작업을 수행하는 더 좋은 방법)을 보려면 이 우수한 문서article를 읽어 보시기 바랍니다. 이 기사에서는 MySQL 5.7에 중점을 둘 것입니다.
그렇다면 RDS에서는 어떻게 할까요?
performance_schema
매개변수를 1로 설정합니다(⚠매개변수를 적용하려면 인스턴스를 재부팅해야 함).일단 매개변수가 적용되었습니다. 다음 쿼리 실행
-- Enable events_stages_current to monitor threads
UPDATE performance_schema.setup_consumers
SET ENABLED = 'YES'
WHERE NAME = 'events_stages_current';
-- Check results of below to see that ENABLED
-- and EnabledWithHierarchy are both "YES"
SELECT
NAME,
ENABLED,
sys.ps_is_consumer_enabled(NAME) AS EnabledWithHierarchy
FROM performance_schema.setup_consumers
WHERE NAME = 'events_stages_current';
위의 작업이 수행되면 잘 진행됩니다. 이제 변경을 시작하고 이 쿼리를 실행하여 진행 상황을 확인할 수 있습니다.
SELECT
stmt.THREAD_ID,
stmt.SQL_TEXT,
stage.EVENT_NAME AS State,
stage.WORK_COMPLETED,
stage.WORK_ESTIMATED,
ROUND(100*stage.WORK_COMPLETED/stage.WORK_ESTIMATED, 2) AS CompletedPct
FROM performance_schema.events_statements_current stmt
INNER JOIN performance_schema.events_stages_current stage
ON stage.THREAD_ID = stmt.THREAD_ID
AND stage.NESTING_EVENT_ID = stmt.EVENT_ID
-- ALTERNATIVELY
----------------
-- SELECT
-- thd_id,
-- conn_id,
-- db,
-- command,
-- state,
-- current_statement,
-- statement_latency,
-- progress,
-- current_memory,
-- program_name
-- FROM sys.session
-- WHERE progress IS NOT NULL;
WORK_COMPLETED
는 변경된 행 수이고 WORK_ESTIMATED
는 변경해야 할 행 수이며 CompletedPct
는 완료율입니다.) 업데이트된 값을 확인해야 할 때마다 이 쿼리를 실행합니다.그게 다입니다. 이제 RDS 데이터베이스에서 장기 실행 쿼리를 모니터링할 수 있기를 바랍니다!
안녕하세요 Emmanuel입니다! 저는 소프트웨어, AWS 및 DevOps에 대해 글을 씁니다.
이 기사가 마음에 들었고 더 보고 싶다면 저를 추가하거나 저를 팔로우하세요.
Reference
이 문제에 관하여(성능 스키마를 사용하여 AWS RDS MySQL 5.7+에서 장기 실행 ALTERS를 모니터링하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/emmanuelnk/how-to-monitor-long-running-alters-in-aws-rds-mysql-57-using-the-performance-schema-4m4o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)