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

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

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

해결 방법

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

MySQL DB 인스턴스에서 실행 중인 모든 스레드를 보려면 MySQL PROCESS 서버 관리 권한이 있어야 합니다. 관리자 권한이 없으면 SHOW PROCESSLIST에 현재 사용 중인 MySQL 계정과 관련된 스레드만 표시됩니다. 또한 MySQL PROCESS 서버 관리자 권한이 있어야 SHOW ENGINE을 사용하고 InnoDB 스토리지 엔진 상태에 대한 정보를 볼 수 있습니다.

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초)으로 이러한 출력을 수집하는 것입니다. 복수의 출력을 검토하면 엔진 상태를 더 폭넓게 파악할 수 있고, 그러면 성능 문제를 해결하는 데 도움이 됩니다.


이 문서가 도움이 되었나요?


Besoin d'aide pour une question technique ou de facturation ?