우리는 Percona MySQL 5.7 데이터베이스에서 ptosc를 사용하고 있으며 프로세스가 끝날 때 모든 복제본에서 2-3분이라는 엄청난 복제 지연 시간을 경험하고 있습니다.
다음 명령을 사용하면 복제 지연이 발생할 때 데이터 복사가 일시 중지되지만 프로세스가 끝날 무렵, 아마도 테이블 이름이 바뀔 때 엄청난 복제 지연이 발생합니다.
우리가 사용하는 명령은 다음과 같습니다.
pt-online-schema-change -u '사용자 이름' -p '비밀번호' --최대 지연 5 --최대 부하 Threads_running=30 --임계 부하 Threads_running=200 --pause-file /tmp/pt-pause-file --alter-foreign-keys-method drop_swap --alter "ADD COLUMN 테스트 TINYINT(1) DEFAULT '0' NOT NULL" --재귀 1 D=db,t=테이블
우리가 문제를 발견했을 수도 있습니다. 외래 키에는
drop_swap
메서드를 사용합니다.이름 바꾸기 프로세스는 매우 빠르지만 테이블이 삭제될 때까지 기다려야 하므로 큰 테이블에서는 시간이 걸릴 수 있습니다. 따라서 전체 "전환" 프로세스에는 시간이 더 오래 걸립니다.
우리의 해결책은 FK를 멀리하고 마이그레이션할 때 가동 중지 시간을 고려하는 것이었습니다.