업데이트 시 데이터베이스 복제 속도가 매우 느림
약 일주일 전에 데이터베이스 복제를 설정했는데 동기화 상태를 유지하는 데 문제가 있습니다.
MariaDB 10.1.35/MySQL 5.5.5를 사용하는 마스터 마스터 복제입니다.데이터베이스 하나만 통화에 사용되고 있습니다.다른 데이터베이스는 백업으로만 사용됩니다.나는 이것을 노예라고 부를 것입니다.그리고 우리가 문제 삼고 있는 건 노예입니다.복제는 문 기반입니다.
처음 24시간은 괜찮았습니다.다음날, 노예는 거의 24시간까지 점점 더 뒤쳐졌습니다.24시간 후에 확인했을 때, 노예는 다시 정상 궤도에 올라갔고, 주인에게 불과 몇 초 뒤졌습니다.
이제 다시, 데이터가 점점 더 많이 지연되기 시작했습니다(현재 5시간이 넘는 데이터).
아직 동기화 중이므로 복제 자체가 작동합니다.그러나 일부 쿼리는 슬레이브에서 너무 오래 걸려 모든 것이 지연되고 있습니다.
하나의 UPDATE 쿼리를 제외하고는 모든 쿼리가 상당히 빠르게 실행되고 있습니다.이것은 5초, 10초, 때로는 20초 또는 30초 동안 프로세스 목록에 머무르는 것입니다.쿼리는 마스터에서 1초 이내에 처리되며 슬레이브에서 수동으로 이 쿼리를 실행하면 1초도 걸리지 않습니다.그래서 우리는 그것이 질의 자체와는 관련이 없다고 생각합니다.두 데이터베이스/테이블의 구조는 정확히 동일합니다.테이블의 스토리지 엔진은 InnoDB입니다.
현 시점에서는 무엇이 이러한 지연을 초래할 수 있는지 전혀 알 수 없습니다.삽입이 즉시 처리되고 있습니다.
슬레이브에서 쿼리를 실행할 때 프로세스 목록에 한 가지 차이가 있습니다. 명령어는 '연결'에 머물러 있는 반면 명령어는 마스터에서 '실행'이라고 표시됩니다.이게 정상적인 행동입니까?
제가 더 많은 정보를 제공해야 한다면 알려주시기 바랍니다.슬레이브는 한 번에 하나의 쿼리만 처리하므로 마스터에 대한 쿼리가 많을 경우 뒤로 밀릴 수 있음은 분명합니다. 하지만 수동으로 실행할 때는 1초 미만이 걸리지만 해당 쿼리가 최대 30초가 걸릴 필요는 없습니다.
감사해요.
추신. 이미 테이블을 최적화(OPTIMIZE)했지만 아쉽게도 차이가 없었습니다.
언급URL : https://stackoverflow.com/questions/52169387/database-replication-is-very-slow-on-updates
'programing' 카테고리의 다른 글
| Woocommerce 제품 변동 드롭다운에 변동 재고 수량 및 상태 추가 (0) | 2023.11.01 |
|---|---|
| PHP에서 하이버네이트와 비슷한 것이 있습니까? (0) | 2023.11.01 |
| jQuery에 함수를 추가하는 방법은? (0) | 2023.11.01 |
| 비교 및 스왑 작동 방식 (0) | 2023.11.01 |
| jQuery 또는 자바스크립트로 클릭 버튼을 시뮬레이션하는 동작을 사용하는 방법? (0) | 2023.11.01 |