Amazon RDS MySQL DB 인스턴스에 대한 서버 활동을 보려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 12월 13일

Amazon Relational Database Service(Amazon RDS) DB 인스턴스에서 MySQL을 실행 중인 서버 활동을 보려면 어떻게 해야 합니까?

해결 방법

서버 활동은 InnoDB 스토리지 엔진의 상태를 보거나, 실행 중인 쿼리를 식별하거나, DB 인스턴스의 교착 상태를 확인하여 성능 문제의 원인을 파악하는 데 도움이 됩니다.

MySQL DB 인스턴스에서 실행 중인 모든 스레드를 보려면 MySQL PROCESS 서버 관리 권한이 있어야 합니다. 서버 관리 권한이 없는 경우 SHOW PROCESSLIST를 실행하면 사용 중인 MySQL 계정에 연결된 스레드만 표시됩니다. SHOW ENGINE을 사용하여 InnoDB 스토리지 엔진에 대한 정보를 보려면 MySQL PROCESS 서버 관리 권한도 있어야 합니다.

DB 인스턴스에 대한 서버 활동을 보려면 다음 단계를 따르십시오.

1.    MySQL DB 인스턴스에 대해 일반 쿼리 로그와 느린 쿼리 로그를 활성화합니다.

2.    MySQL 데이터베이스 엔진을 실행하는 DB 인스턴스에 연결합니다.

3.    다음 명령을 실행합니다.

SHOW FULL PROCESSLIST\G
SHOW ENGINE INNODB STATUS\G

참고: 각 문에서 처음 100자를 초과하는 문을 표시하려면 FULL 키워드를 사용합니다.

4.    대기 중인 트랜잭션과 대기 중인 트랜잭션을 차단하는 트랜잭션을 보려면 다음 명령을 실행합니다.

SELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread, r.trx_query waiting_query, b.trx_id blocking_trx_id, b.trx_mysql_thread_id blocking_thread, b.trx_query blocking_query FROM information_schema.innodb_lock_waits w INNER JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id INNER JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id;

참고: 짧은 연속 간격(예: 60초)으로 이러한 출력을 수집하는 것이 모범 사례입니다. 여러 출력을 검토하면 엔진 상태를 보다 포괄적으로 파악할 수 있으므로 성능 문제를 해결하는 데 도움이 됩니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?