tencent cloud

TencentDB for MySQL

소식 및 공지 사항
제품 동향
신규 사용자 가이드
제품 소개
제품 개요
제품 장점
응용 시나리오
데이터베이스 아키텍처
격리 정책
제품 기능 목록
데이터베이스 인스턴스
고가용성(멀티 가용존)
리전 및 가용존
자체개발 커널
TXSQL 커널 개요
기능적 특성
성능적 특성
보안적 특성
안정적 특성
구매 가이드
과금 개요
구매 방법
연장 안내
연체 안내
환불 안내
인스턴스 비용 조정 설명
백업 공간 과금 안내
시작하기
시작 개요
MySQL 인스턴스 생성
운영 가이드
사용 제한
운영 개요
인스턴스의 점검 관리
인스턴스 프로모션
인스턴스 확장
데이터베이스 프록시
데이터베이스 관리(DMC)
계정 관리
매개변수 설정
백업과 롤백
데이터 마이그레이션
네트워크 및 보안
모니터링 및 알람
로그 센터
태그
사례 튜토리얼
TencentDB for MySQL의 사용 규범
애플리케이션 구성 자동 재연결
MySQL 마스터 인스턴스 매개변수 수정의 영향
MyISAM에서 InnoDB로의 자동 변환 제한
TencentDB for MySQL을 위한 VPC 생성
TencentDB for MySQL를 통해 비즈니스 부하 능력 향상
2리전 3데이터센터 재해 복구 아키텍처 구축
읽기/쓰기 분리로 TencentDB for MySQL 성능 향상
DTS를 사용하여 InnoDB에서 RocksDB로 데이터 마이그레이션
웹 애플리케이션을 위한 LAMP 스택 구축
Drupal 웹사이트 구축
Python을 통해 MySQL API 사용
백서
성능 백서
보안 백서
장애 처리
연결 관련
성능 관련
인스턴스 데이터 동기화 딜레이
케이스 인센시티브 설정 실패
API문서
History
Introduction
API Category
Instance APIs
Making API Requests
Data Import APIs
Database Proxy APIs
Database Audit APIs
Security APIs
Task APIs
Backup APIs
Account APIs
Rollback APIs
Parameter APIs
Database APIs
Monitoring APIs
Log-related API
Data Types
Error Codes
FAQs
과금 관련
백업 관련
롤백 관련
로그인
매개변수 수정
업그레이드 관련
계정 권한
성능 메모리
유지보수 관련 FAQ
데이터 마이그레이션
기능 특징
콘솔 관련
로그 관련
API 2.0에서 3.0으로 전환 가이드
Service Agreement
Service Level Agreement
Terms of Service
범용 참고
표준 및 인증
고객센터
용어집
문서TencentDB for MySQL장애 처리성능 관련지나치게 높은 메모리 사용률

지나치게 높은 메모리 사용률

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-09-20 11:55:42

현상 설명

TencentDB for MySQL에서 메모리가 갑자기 증가한 후 계속 늘어나 릴리스되지 않는 상황이 발생했습니다. 구체적인 현상은 인스턴스 모니터링의 메모리 사용률 모니터링 그래프에서 다음과 같이 확인됩니다.

갑자기 증가하거나 장기간 완만하게 증가하는 과정에서 과도하게 높은 수준(>96%)에 도달해 일정 범위 내에서 소폭 변동하는 경우, 사용자 정의한 클라우드 모니터링 메모리 알람이 자주 트리거될 수 있습니다.

장애 리스크

SQL 명령이 비효율적이거나 데이터베이스 매개변수 설정이 적합하지 않은 경우 메모리 사용률이 높아집니다. TencentDB for MySQL 이중 노드 및 3중 노드 아키텍처 사용 중 갑자기 비즈니스 피크가 발생하여 CDB 메모리가 OOM(Out Of Memory)되어 사용할 수 없을 경우 마스터/슬레이브 전환이 트리거 될 수 있습니다. 마스터/슬레이브 전환 과정으로 인해 비즈니스를 일시적으로 사용하지 못하고, 인스턴스를 사용할 수 없게 되며, 사용할 수 없는 시간은 일반적으로 60초 이내입니다. 비즈니스 피크 시간에 마스터/슬레이브 전환이 진행되면 비즈니스의 안정성과 연속성에 심각한 영향을 미칠 수 있습니다.

해결 방법

MySQL 메모리는 global 레벨의 공유 메모리와 session 레벨의 전용 메모리로 구분됩니다.
공유 메모리는 인스턴스 생성 시 할당되는 메모리 용량으로, 모든 연결이 공유합니다.
전용 메모리는 MySQL 서버 연결 시 할당되는 개별 캐시입니다. 일부 특수 SQL 또는 필드 유형은 단일 스레드가 캐시를 여러 번 할당하므로, OOM 이상 경고가 나타날 경우 그 원인은 각 연결의 전용 메모리에 있습니다. 데이터베이스 연결 수 제한 및 저효율 SQL 최적화를 통해 과도한 메모리 이용률로 인한 리스크를 낮출 수 있습니다. MySQL의 메모리 이용률이 여전히 높다면 메모리 설정 업그레이드를 통해 데이터베이스의 전체 동시 접속량을 늘리고 안정성을 높일 수 있습니다. 메모리 매개변수에 대한 자세한 설명은 메모리 할당 문제를 참조하십시오.

처리 순서

1. 슬로우 SQL을 최적화하여 session 레벨의 전용 메모리 사용량을 줄입니다. DBbrian을 통해 슬로우 SQL 분석 실행 할 수 있습니다.
2. 유효하지 않는 장기간 연결을 줄이고 비즈니스에 영향을 주지 않는 상황에서 프로그램 측의 연결 풀 설정 혹은 동시 실행률을 낮춥니다. DBbrian을 통해 현 세션 정보 확인 할 수 있습니다.
3. 모니터링 메모리 사용 현황(옵션 항목, MySQL 5.7 이상 버전만 적용): performance_schema의 메모리 모니터링 기능을 활성화합니다. performance_schema 활성화 후 performance_schema 라이브러리에서 이름이 memory_summary로 시작하는 테이블을 조회하여 메모리 사용 현황을 확인합니다. 예시: 전역 차원의 메모리 사용률 분석표: memory_summary_global_by_event_name
4. 최적화 완료 후 조치: TencentDB for MySQL 설정 업그레이드.
설명:
업그레이드 중에도 정상적인 작업이 가능합니다. 단, 업그레이드 완료 후 전환 과정에서 몇 초의 끊김이 발생할 수 있으므로 재연결 메커니즘을 확보하시기 바랍니다.
메모리 또는 CPU 리소스 부족으로 인해 정상적인 서비스 운영에 영향을 미치지 않도록 현재 네트워크의 인스턴스에 적절한 리소스 알람 정책을 설정하시기 바랍니다. 리소스 부족에 대한 잠재적 리스크를 미리 알 수 있습니다. 자세한 내용은 알람 정책 을 참조하십시오.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백