MySQL 데이터 삭제 및 삽입 이 느 린 문제 해결

2371 단어 MySQL매우 느리다
회사 개발 자 들 이 테스트 환경 에서 insert 문 구 를 실행 할 때 10 여 초가 걸 려 야 성공 할 수 있다.테스트 환경 데이터 베이스 성능,데이터 양,잠 금 등 정 보 를 보면 모두 이상 을 발견 합 니 다.마지막 으로 로그 기록 을 수정 하여 이 문 제 를 해결 합 니 다.
1.수정 방법
/etc/my.cnf 파일 을 수정 하여 innodbflush_log_at_trx_commt=1 은 0 으로 바 뀌 었 지만 데이터베이스 Crash 이후 1 초 동안 데이터베이스 데이터 가 저장 되 지 않 아 손실 될 위험 을 감수 해 야 합 니 다.MySQL 문서 에서 이 인자 에 대한 설명 은 다음 과 같 습 니 다.
If the value of innodb_flush_log_at_trx_commit is 0, the log buffer is written out to the log file once per second and the flush to disk operation is performed on the log file, but nothing is done at a transaction commit. When the value is 1 (the default), the log buffer is written out to the log file at each transaction commit and the flush to disk operation is performed on the log file. When the value is 2, the log buffer is written out to the file at each commit, but the flush to disk operation is not performed on it. However, the flushing on the log file takes place once per second also when the value is 2. Note that the once-per-second flushing is not 100% guaranteed to happen every second, due to process scheduling issues.
2.매개 변수 설명
0:log buffer 는 1 초 에 한 번 씩 log file 에 기록 하고 log file 의 flush(디스크 에 브러시)작업 을 동시에 진행 합 니 다.이 모드 에 서 는 트 랜 잭 션 을 제출 할 때 디스크 에 기록 하 는 동작 을 주동 적 으로 실행 하지 않 습 니 다
  • 1:업무 가 제출 될 때마다 MySQL 은 log buffer 의 데 이 터 를 log file 에 기록 하고 flush(디스크 에 브러시)에 기록 합 니 다.이 모드 는 시스템 기본 값 입 니 다
  • 2:업무 가 제출 될 때마다 MySQL 은 log buffer 의 데 이 터 를 log file 에 기록 하지만 flush(디스크 에 브러시)작업 은 동시에 진행 되 지 않 습 니 다.이 모드 에서 MySQL 은 1 초 에 한 번 씩 flush(디스크 로 닦 기)동작 을 수행 합 니 다.
  • 3.주의사항
    0 으로 설정 되 었 을 때 이 모드 는 속도 가 가장 빠 르 지만 안전 하지 않 습 니 다.my sqld 프로 세 스 의 붕 괴 는 지난 1 초 동안 모든 트 랜 잭 션 데 이 터 를 잃 어 버 릴 수 있 습 니 다.
    1 로 설정 되 었 을 때 이 모드 는 가장 안전 하지만 가장 느 린 방식 입 니 다.my sqld 서비스 가 붕괴 되 거나 서버 호스트 crash 의 경우,binary log 는 가장 많은 문구 나 사 무 를 잃 어 버 릴 수 있 습 니 다.
    2 로 설정 되 었 을 때 이 모델 은 속도 가 빠 르 고 0 보다 안전 하 며 운영 체제 가 붕괴 되 거나 시스템 이 끊 긴 상황 에서 만 지난 1 초 동안 모든 사무 데 이 터 를 잃 어 버 릴 수 있 습 니 다.
    innodb_flush_log_at_trx_commt 와 syncbinlog 두 매개 변 수 는 MySQL 디스크 기록 정책 과 데이터 안전성 을 제어 하 는 관건 적 인 매개 변수 입 니 다.두 매개 변 수 를 모두 1 로 설정 할 때 기록 성능 이 가장 떨 어 집 니 다.추천 방법 은 innodb 입 니 다.flush_log_at_trx_commit=2,sync_binlog=500 또는 1000.
    MySQL 삭제 와 데이터 삽입 이 느 린 문제 해결 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 MySQL 삭제 와 데이터 삽입 이 느 린 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기