내 목표는 내 엔드 투 엔드 스택이 더 많은 TPS를 지원할 수 있도록 내 galera 클러스터에서 두 노드의 충분한 CPU 리소스를 활용하는 것입니다. 현재, 전체 스택은 36vcpu의 단일 mariadb 서버에 의해 제한되며 10000 TPS로 이동할 수 있습니다.galera 클러스터에서 놀랍게도 낮은 성능
Galera 클러스터에서 DB 노드 2 개를 사용하여 거의 20000 개의 TPS를 지원하고자합니다 (1은 약 1 만개의 TPS를 지원할 수 있으므로 CPU으로 제한됨). 이 시점에서 나는 분할 뇌와 다른 복제 또는 경계선 시나리오에 신경 쓰지 않는다. ha 프록시로드 밸런서가있는 galera의 노드 2 개를 테스트했지만 매우 나쁜 결과를 얻었습니다 (3500 TPS 만 해당). 갈레라가 할 수없는 것을 이루기 위해 노력하고 있습니까? 약간의 관점을 바랍니다.
하나의 노드에서 10000 TPS 제한을 초과하는 응용 프로그램에 대해 내 DB를 클러스터 할 수있는 다른 메커니즘은 무엇입니까?
MySQL 클러스터링에 대한 전문가는 아니지만, 복제가 아닌 속도를 목표로하고 있기 때문에 Galera와 같은 복제 중심 클러스터 대신 NDB와 같은 MySQL의 공유 Nothing 클러스터 아키텍처를 고려해야합니다. – JNevill
Production 시스템에서 Galera를 2 노드로 사용할 수 없습니다. 한 노드가 크래시되고 다시 동기화되면 두 번째 노드가 재 동기화에 사용되므로 클러스터가 다운됩니다 !! 그것도 부하를 보는 것이 중요합니다. 높은 읽기로드 Galera가 가장 좋습니다. 또한 네트워크에서 멀티 캐스트에 대해 생각하기 때문에 노드는 각 노드가 아닌 1 개의 주소로만 보내야합니다. my.cnf를 최적화하십시오. 마지막으로 HaProxy 대신 MaxScal을 사용하십시오. –