MySQL- 성능 최적화 개요


그림 삽입 설명 여기

여러 가지 요인의 MySQL의 성능에 영향을

일반적으로 다음과 같은 점에서

느린 SQL (초점), 하드웨어 리소스 (CPU, 메모리, 디스크 I / O 등), LAN 트래픽 등의 호스트


  • 초고 QPS와 TPS

    QPS (쿼리 초당 초당 처리 쿼리하여) : 수요은 10ms를 처리하는 SQL을 가정, 1 초는 100에 다음 QPS를 처리 할 <= (100), 100ms의 그것을 다루는 경우? QPS <= 10, SQL 실행 효율이 팀을 QPS에 영향을주는 유추 할 수는 매우 중요합니다. 경험에 따르면,

    TPS (완전한 사용자 거래 요청 서버 내부 서버 처리, 세 동안 사용자에게 서버가 반환 정보를 포함 초당 트랜잭션 트랜잭션 / 초 수)

    더 높은 부하 응용 프로그램을 나타내는 높은 QPS와 TPS.

    TPS 및 QPS에 대한 MySQL 데이터베이스 및 계산 방법

    Questions = SHOW GLOBAL STATUS LIKE 'Questions';
    Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
    QPS=Questions/Uptime
    
    -----------------------
    
    Com_commit = SHOW GLOBAL STATUS LIKE 'Com_commit';
    Com_rollback = SHOW GLOBAL STATUS LIKE 'Com_rollback';
    Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
    TPS=(Com_commit + Com_rollback)/Uptime
    

  • 높은 동시성 및 높은 CPU 사용률

    높은 동시성 -> 데이터베이스 연결 풀의 기회 (MAX_CONNECTIONS 100 기본) 유의 한 증가를 사용, 더 말보다, 당신은 서브 클래스 500의 오류가 발생합니다

    높은 CPU 사용량 -> 응답 둔화, 심지어 가동 중단으로 이어질


  • 디스크 I / O

    디스크 I / O 성능이 갑자기 하락 ->를 사용하여 빠른 디스크 장치

    실행 시간> 예측 가능한 최대 기간은 조정 프로그램의 작업 - 다른 디스크 성능 예약 된 작업 등을 많이 소비


  • NIC 교통

    예를 들어, 우리는 종종 기가비트 이더넷, 기가비트 여기에 실제로 작은 B, 1 바이트는 = 8 비트라고 말한다. 비트 작은 B 바이트 큰 B를

    1000MB / 8 (우리는 잘 알고 대역폭이다) 1백메가바이트 거의 동일

    NIC는 다음 확실히 데이터베이스를 방문하지 점유, 어떻게 그것을 방지하기 위해 충전의 위험이 증가입니까?

    일반적으로,

    중복, 대역폭을 많이하지 않도록, 슬레이브 노드의 수를 줄이십시오 1.
    멀티 레벨 캐시의 2. 합리적인 사용을 DB에 캐시 무효화 요청의 많은 피하기 위해
    선택 *을 사용하여 3. 피하면 쿼리
    비즈니스 네트워크와 네트워크 서버 등 3. 분리


위험한 테이블에 제공

Shajiao 큰 테이블? 두 가지 차원에서 거친 정의는 참조 용으로 만 고려

  1. 이상 1000 만 개 기록
  2. 10G 이상 표 거대한 데이터 파일

위험

  • 쿼리에 미치는 영향

    예를 들어 : 슈퍼 거대한 데이터로부터 데이터 차별이 높은, 디스크 I / O의 많은으로 이어질 것되지 찾을 느린 쿼리 많은 수의 결과로, 데이터베이스를 중지 사망을 초래할 수 있으며, 특별한주의가 요구 해결합니다.

  • DDL의 영향

    인덱싱은 특히 한, 위험을 무릅 : MySQL의 5.5 이전 버전, 인덱스 잠금 테이블이 될 것입니다. 5.5 이후 버전의 잠금 테이블을 유발하지 않지만, 마스터에서 지연의 원인이되지만.

    수정 테이블 구조, 그것은 오랜 시간이 잠금 테이블을합니다 , 위험 : 1. 지연 2. 주요의 데이터의 정상적인 작동에 영향을 미칠

    어떻게 그것을 처리하기 위해?

    1. 하위 라이브러리 하위 테이블 (선택하는 방법에 테이블의 기본 키 포인트, 파티션 및 통계를 통해 하위 테이블 쿼리를 해결하는 방법)주의! ! !
    2. 기록 데이터 아카이빙 (타이밍 보관 포인트 어떻게 효율적으로 아카이브에)


위험 큰 거래는 제공

서비스 : ACID

자성의 자성 | 일관성 일관성 | 분리, 격리 | 영구적 인 내구성

게시 된 796 개 원래 기사 · 원 찬양 2003 · 조회수 4,120,000 +

추천

출처blog.csdn.net/yangshangwei/article/details/104103852