pt-online-schema-change - 테이블 이름을 바꿀 때 엄청난 복제 지연이 발생합니다.
P粉331849987
2023-09-01 11:39:37
<p>우리는 Percona MySQL 5.7 데이터베이스에서 ptosc를 사용하고 있으며 프로세스가 끝날 때 모든 복제본에서 2-3분이라는 엄청난 복제 지연 시간을 경험하고 있습니다. </p>
<p>다음 명령을 사용하면 복제 지연이 발생할 때 데이터 복사가 일시 중지되지만 프로세스가 끝날 무렵, 아마도 테이블 이름이 바뀔 때 엄청난 복제 지연이 발생합니다. </p>
<p>우리가 사용하는 명령은 다음과 같습니다. </p>
<pre class="brush:php;toolbar:false;">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=테이블</pre></p>
우리가 문제를 발견했을 수도 있습니다. 외래 키에는
drop_swap
메서드를 사용합니다.이름 바꾸기 프로세스는 매우 빠르지만 테이블이 삭제될 때까지 기다려야 하므로 큰 테이블에서는 시간이 걸릴 수 있습니다. 따라서 전체 "전환" 프로세스에는 시간이 더 오래 걸립니다.
우리의 해결책은 FK를 멀리하고 마이그레이션할 때 가동 중지 시간을 고려하는 것이었습니다.