문제

나는 MySQL 인스턴스에서 실행 AWS,주위에 5000 삽입니다.어떤 아이디어 성능에 미치는 영향 될 것입니다면 내가 사용하는 바이너리 로그(행)및 바이너리 로그 중?

확인 링크

에서 이해하고,빈 로그인 도시에서 가장 완벽한 장소에 설문 조사 MySQL 바이너리 로그 정기적으로 위해서는'실시간 데이터 연결이 가능하다.에 바이너리 로그 중에서 실행 및 라이브러리.

이점은,나는 MySQL 을 사용하고 싶을 사용하는 유성 데이터를 얻을 실시간으로 내 클라이언트입니다.그러므로 나는 아이디어를 사용하여 이 도시에서 가장 완벽한 장소에 바이너리 로그.

MySQL db 야기 가득한 집중적으로 매우(5000 삽입 per second),알고 싶어하는 지점에서 바이너리 로그/바이너리 로그 여행 가져옵 성능에 심각한 문제입니다.

Grts,톰

도움이 되었습니까?

해결책

내가 개발한 소프트웨어와 유사한 기능을 사용할 수 있는 기능 MySQL 복제 스트림(바이너리 로그,바이너리 로그)이벤트를 캡처하에 실시간에 가까운에서 응답을 삽입 업데이트//삭제 데이터베이스에서.

여기에 일부 관찰을 했에 대한 성과입니다.다행히도,잠재적인 뜨거운 관광 명소는 크게 서로 독립적입니다.

나는 가정,었기 때문에 익숙하지 않은 노드 패키지 당신을 인용하고 있지만 지금 주어진 자신의 코드 간단한 검토,그들은 실제로는"찌끼는"바이너리 로그를 통해 투표지만,실제로 모방 slave/복제 서버에 연결하는 마스터하도록 요청하는 복제 stream.

첫 번째는 잠재적 병목 현상은 주인의 쓰기 능력을 양의 바이너리 로그 데 필요한 데이터를(I/O 처리량 기본 cobstraint).는 경우에 당신의 주인은 이미 로그인 ROW 형식으로,이 문제는 이미 해결된다.그렇지 않은 경우,치 바이너리 로그 형식을 참조하십시오.나 아보세요 ROW 형식으로,어쨌든기 때문에,그것은 매우 유용 데이터 복구에 대한 쿼리할 때 나쁜 응용 프로그램 또는 무언가를하는 데이터는다고 말합니다.가능(사용하여 제 3 공구)을 캡처하는 무슨 일이 있었는지 그것을 반대--기본 구성에서 삭제가 발생합니다(예를 들어)삭제된 데이터로 작성된 바이너리 로그입니다.

다음 포인트는 자원의 소비는 슬레이브의 연결에 의해 이러한 도구 마스터,마스터 밀어 데이터입니다.일반적인 오해는 노예"조사"습니다.실제로,노예를 시작하는 연결,하지만 마스터 밀어 데이터입니다.이것은 실제로 로드 마스터는 아주 작은 성능에 미치는 영향을 때 번호는 노예의 연결은 작은(말,5,몇몇).이 부하 제거할 수 있습은 마스터로부터 전적으로 연결하여"바이너리 로그 중"지 않을 마스터하지만,기존의 슬레이브의 응용 프로그램의 인터페이스 log_slave_updates 구성됩니다.

전송 데이터의 마스터에서 의사의 노예 먹을 수 있는 상당한 네트워크 대역폭,그래서 당신의 외부 유틸리티를 지원해야 한 MySQL 서버/클라이언트의 압축 프로토콜을 줄이기 위해 대역폭이 있습니다.이것을 가능하게하는 기능을 달성할 수 있는 압축비율 10:1 에 따라 페이로드를 사용합니다.

최종통점은 외부는 유틸리티 자체.MySQL 바이너리 로그 형식은 매우 단단히 포장된 바이너리 형식으로(따라서"바이너리 로그")해야 하는 구문 분석하고 해독.효율성과는 외부 유틸리티를 풀고 조작이 데이터 스트림을 결정하는 방법이 실시간에 가까운 이벤트를 감지할 수 있는 방출될 때문에,비효율적인 코드는 원인이 될 것이하기로 결정했 이벤트 스트림을 지연한 뒤에,하지만 이 요소가 있지 않을 것이 어떤 성능에 미치는 영향을 마스터 서버 자체입니다.

에서 짧은,당신의 마스터 처리할 수 있는 작업의 생성하는 행 형식 binlogs 대량의 트래픽을 기대의 잠재적인 문제는 여전히 잠재적인 문제이지만,그들은 아무 의미 있는 성과에 미치는 영향 마스터 서버 자체입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 dba.stackexchange
scroll top