찾다

 >  Q&A  >  본문

mysql 성능 모드 이벤트 "wait/synch/cond/sql/MYSQL_BIN_LOG::COND_done"은 언제 발생합니까?

Aurora Mysql 5.7.mysql_aurora.2.07.2를 사용하고 있는데 대용량 워크로드를 작성하는 로드 테스트에서 병목 현상이 발생했습니다. 성능 개선 도우미를 활성화할 때 wait/synch/cond/sql/MYSQL_BIN_LOG::COND_done 이벤트를 기다리는 많은 세션이 있음을 발견했습니다.

AWS 문서를 살펴본 후 이것이 내 코드베이스의 경우처럼 많은 수의 커밋으로 인해 발생했다고 생각했습니다. 그러나 모든 wait/synch/*/sql/MYSQL_BIN_LOG에 대한 설명은 본질적으로 일반 이벤트이지만, Mysql 또는 Aurora 설명서에서 특정 COND_DONE 이벤트를 트리거하는 정확한 상황을 찾을 수 없습니다.

P粉105971514P粉105971514247일 전570

모든 응답(2)나는 대답할 것이다

  • P粉693126115

    P粉6931261152024-03-28 14:24:52

    맥스의 답변이 맞습니다. 내 사용 사례에서는 복제에 binlog를 사용하지 않지만 데이터 캡처를 변경하고 프로덕션에서는 이를 끌 수 없습니다.

    Aurora MySQL을 2.10으로 업그레이드하면 binlog I/O 캐시 도입으로 인해 이 문제가 해결되었습니다. https://aws.amazon.com/blogs/database/introducing-binlog-i-o-cache-in-amazon-aurora-mysql-to-improve-binlog-performance/

    여기에서 이 문제를 디버깅하고 해결하는 전체 과정을 자세히 설명했습니다. https://blog.hotstar. com/de-bottlenecking-aurora-mysql-for-1,900만 명의 동시 사용자-ee98d6247cfe

    회신하다
    0
  • P粉244730625

    P粉2447306252024-03-28 14:19:15

    문서 내용은 다음과 같습니다. 이것은 비교적 새로운 섹션이며 대기 이벤트에 대한 조정에 관한 모든 것입니다.

    https://docs.aws.amazon .com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.Waitevents.html

    "동기화/cond/sql/MYSQL_BIN_LOG::COND_done - 바이너리 로깅이 켜져 있습니다. 높은 커밋 처리량, 많은 수의 트랜잭션 커밋 또는 바이너리 로그를 읽는 복제본이 있을 수 있습니다. 여러 줄의 명령문을 사용하거나 명령문을 하나의 트랜잭션에 묶는 것을 고려하십시오. Aurora에서는 바이너리 로그 복제 대신 글로벌 데이터베이스를 사용하거나 aurora_binlog_* 파라미터를 사용하십시오. ”

    회신하다
    0
  • 취소회신하다