- 인쇄
- PDF
리소스 사용량 및 성능 문제
- 인쇄
- PDF
Cloud DB for MySQL을 이용하면서 다음과 같은 문제를 겪을 수 있습니다. 문제별 원인과 해결 방법을 확인하고 적절하게 조치해 주십시오.
MySQL Server 재시작 후 데이터 스토리지 크기 감소
MySQL Server를 재시작한 후 데이터 스토리지 크기가 줄었습니다.
원인
MySQL Server는 트랜잭션을 길게 사용하는 경우, 임시 저장 공간인 Temporary Tablespace 스토리지의 크기가 증가하면서 MySQL Server의 크기가 줄어든 것으로 표시될 수 있습니다. 이는 정상적인 현상으로, MySQL Server가 재시작되면 해당 임시 저장 공간이 반납됩니다.
해결 방법
Temporary Tablespace 스토리지의 크기가 증가했던 경우가 아니었는지 점검해 주십시오.
스토리지 크기를 모니터링하는 이벤트를 등록하여 스토리지가 일정 크기 이상 증가하는지 감시할 수 있습니다. 이벤트를 등록하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Management & Governance > Cloud Insight > Configuration > Event Rule 메뉴를 클릭해 주십시오.
- [Event Rules 생성] 버튼을 클릭해 주십시오
- Cloud DB for MySQL을 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 감시 대상 설정 화면이 나타나면 보유 리소스 전체 > 감시 대상을 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 감시 항목 설정 화면이 나타나면 전체 보기 > disk_mysql_used 메트릭을 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 액션 설정 화면이 나타나면 통보 대상자를 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 룰 이름을 입력한 후 [생성] 버튼을 클릭해 주십시오.
메모리 사용량 증가
메모리 사용량이 계속 증가합니다.
원인
Cloud DB for MySQL 서비스는 성능을 높이기 위해 사용자 데이터가 증가하면 90% 내외까지 메모리가 증가하도록 설정되어 있습니다. 이는 메모리에서 최대한 데이터를 처리하여 응답 속도를 빠르게 하기 위함이며, 실제 메모리 크기의 약 90%까지 사용량이 증가하는 것은 정상적인 현상입니다.
해결 방법
원인에서 설명한 바와 같이 메모리 사용량이 증가하는 것은 정상적인 현상입니다. 다만, 메모리 사용량을 낮추고 싶다면 버퍼 풀 크기를 조정합니다.
버퍼 풀 크기를 조정하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Database > Cloud DB for MySQL 메뉴를 차례대로 클릭해 주십시오.
- DB Server 메뉴에서 메모리 사용량을 조정할 DB를 선택한 후 [DB 관리] 버튼 > DB Config 관리를 클릭해 주십시오.
- Config Name 항목에서 Innodb_buffer_pool_size를 선택한 후 Config Value의 값을 수정한 후 [추가] 버튼을 클릭해 주십시오.
- [저장] 버튼을 클릭해 주십시오.
단, 트래픽이 많은 상황에서 Innodb_buffer_pool_size의 값을 과도하게 줄이면 메모리 부족으로 작업이 처리되지 않을 수 있으므로 주의해 주십시오.
DB 성능 문제 및 응답 지연
DB 성능에 문제가 있습니다.
DB 응답에 지연이 발생합니다.
원인
상황에 따라 여러 가지 원인이 있을 수 있습니다. 해결 방법을 확인해 주십시오.
해결 방법
지표 변화를 점검해야 합니다. 지표 변화를 확인하려면 네이버 클라우드 플랫폼 콘솔에서 Services > Database > Cloud DB for MySQL > Monitoring를 차례대로 클릭한 후 [DB Dashboard] 탭을 클릭해 주십시오.
모니터링 지표 항목과 지표 변화에 따라 점검해야 하는 항목은 같습니다.
Connections
running은 10개 내외가 안정적인 응답이 가능한 수치입니다. 수치가 너무 높다면 Query 튜닝이나 서비스 로직을 개선해야 합니다. 현재 수행 중인 Query를 확인하려면 DB Server > 상세보기 > [PROCESS LIST] 탭을 클릭해 주십시오.
Database activity
DB 요청량이 급증했는지 확인해 주십시오. DB 요청량이 급증했다면 서비스 이벤트가 있는지 점검해 주십시오.
Slow Query
Slow Query 발생 건수가 증가했다면 Monitoring > DB Logs 탭에서 Slow Query를 점검해 주십시오.
Row Accesss
Query 수행 중 테이블 row를 읽은 건수(초 단위)입니다. 수치가 높다면(수백만 이상) 인덱스가 효율적으로 사용하지 못하는 경우입니다. Query를 점검해 주십시오.
CPU 사용량이 높음
CPU 사용량이 높습니다.
원인
서비스 쿼리에 의해 CPU 사용량이 높게 나타날 수 있습니다.
해결 방법
네이버 클라우드 플랫폼 콘솔에서 Services > Database > Cloud DB for MySQL > Monitoring를 차례대로 클릭한 후 [DB Dashboard] 탭에서 다음을 점검해 주십시오.
쿼리 요청량 점검
- Database Activity에서 평상시보다 쿼리가 증가하였는지 확인해 주십시오.
- 쿼리가 증가했다면 서비스 트래픽 변화를 점검해 주십시오.
Slow 쿼리 점검
- Slow Query에서 해당 시간에 발생한 Slow 쿼리가 없는지 확인해 주십시오. 쿼리가 증가했다면 요청량 증가, 쿼리 플랜, 데이터 변화를 점검해 주십시오.
- 문제가 발생한 시간의 Slow 쿼리를 확인하려면 네이버 클라우드 플랫폼 콘솔에서 Services > Database > Cloud DB for MySQL > Monitoring > [DB Logs] 탭을 클릭해 주십시오.
Running 세션 점검
- Connections에서 running 값이 증가했는지 확인해 주십시오. running 값이 증가했다면 요청량 증가, DB Lock을 유발하는 쿼리인지 점검해 주십시오.
- 문제가 발생한 시간의 Running 쿼리를 확인하려면 네이버 클라우드 플랫폼 콘솔에서 Services > Database > Cloud DB for MySQL > Monitoring > [Query Timeline] 탭을 클릭해 주십시오.
Row Accesses 점검
- Row Accesses 수치가 증가하였는지 확인해 주십시오.
- 수치가 증가했다면 요청량 증가, 쿼리 플랜, 데이터 변화를 점검해 주십시오.
이 가이드에서 필요한 정보를 찾지 못했거나 추가로 필요한 정보가 있으신 경우, 언제든지 아래의 피드백 아이콘을 클릭하여 의견을 보내 주십시오. 전달해 주신 의견을 참고하여 더 유용한 정보를 제공하겠습니다.