2017-05-14 7 views
1

슬레이브 디버깅이 마스터보다 뒤쳐져있는 동안 글로벌 변수 이 발견되었습니다. innodb_file_format은 슬레이브와 마스터 시스템에서 다릅니다. 마스터는 바라쿠다으로 설정되고 슬레이브는 영양으로 설정됩니다.. 슬레이브 지연에 영향을 줍니까?mysql 전역 변수 'innodb_file_format'값이 마스터와 슬레이브에서 다릅니다

+0

물어볼 필요가있는 것까지 지금까지 무엇을 했습니까? –

+0

그래서 느린 쿼리를 통해 22 분의 시간 간격으로 약 14 개의 느린 쿼리를 발견했습니다. 그러나 노예는 5000 초 뒤쳐졌다. 그런 다음 전역 변수 값의 차이점을 살펴 보았습니다. 2 개의 주 변수의 값이 일치하지 않음 ** innodb_flush_log_at_trx_commit ** 및 ** innodb_file_format **. ** innodb_flush_log_at_trx_commit **는 마스터에서는 2로 설정되고 슬레이브에서는 1로 설정됩니다. 노예의 지체에 분명히 공헌 한 것입니다. 또한 ** innodb_file_format **에 대해 알고 싶습니다. 노예 지연의 경우에도이 사실을 시사 할 수 있습니까? –

답변

0

5000 초는 83 분입니다. 그것은 22 분 이상이므로, 다른 일이 계속되고 있습니다.

file_format 아마은 차이점을 설명하지 않습니다. binlog_format은 무엇입니까? (아마도 그 중 하나는 중요하지 않으며 단지 게임에 참여하기를 원합니다.)

가장 느린 쿼리를 해당 테이블에 대해 SHOW CREATE TABLE과 함께 보도록하겠습니다. 우리는 아마도 그들 중 일부의 속도를 높이는 방법을 제안 할 수 있습니다. 수도

innofb_flush_log_at_trx_commit는 큰 영향 IO 성능을 가지고있다. HDD 나 SSD가 있습니까? 22 분 동안 몇 건의 거래가 있었습니까? =2은 빠르지 만 안전하지 않습니다. 일반적으로 슬레이브에게는 좋습니다. =1은 더 느리지 만 안전합니다. 일반적으로 마스터에게는 좋습니다. 나는 당신이 그 (것)들을 거꾸로 사기를 제안한다.

보통 슬레이브 지연은 트랜잭션이 마스터에서 (다른 연결에서) 병렬로 실행 됨으로 인해 발생합니다. 그럴까요? 슬레이브는 단일 스레드입니다. 어떤 MySQL 버전입니까? 최신 버전에만 병렬 처리 옵션이 있습니다.