TDSQL for MySQL 선택 개요
TDSQL for MySQL은 샤드(sharding)로 구성됩니다. 샤드의 사양과 수는 인스턴스의 처리 능력을 결정합니다. 이론에 의하면:
TDSQL for MySQL 읽기 및 쓰기 동시 성능 = ∑ (특정 사양의 샤드 성능 * 샤드 개수)
TDSQL for MySQL 트랜잭션 성능 = ∑ (특정 사양의 샤드 트랜잭션 성능 * 70% * 샤드 수)
따라서 샤드 사양과 양이 높을수록 인스턴스의 처리 능력이 강해집니다. 샤드의 성능은 주로 CPU / 메모리의 영향을 받으며 QPS로 측정됩니다. 일반 성능 메트릭은 샤드 성능 설명 섹션에 자세히 설명되어 있습니다.
TDSQL for MySQL 샤드 사양 선택
TDSQL for MySQL 샤드의 사양은 성능, 용량 및 기타 요구 사항의 세 가지 요소에 의해 결정됩니다.
성능: 최소 6개월 동안의 성능 요구와 가능한 성장을 예측하여 분산형 인스턴스에 필요한 총 CPU / 메모리 크기를 정의할 수 있습니다.
용량: 최소 1년 동안의 디스크 용량 및 가능한 증가를 예측하여 분산형 인스턴스에 필요한 총 디스크 크기를 정의할 수 있습니다.
기타 요구 사항: 하나의 샤드에 최소 5000만 행의 데이터를 저장하고 브로드캐스트 및 비 샤딩 테이블, 노드 내 join과 같은 비즈니스 요구 사항을 고려하는 것이 좋습니다. 주의 사항:
샤드 수량을 비교적 적게 유지하면서 단일 샤드에 대해 높은 사양을 보장하는 것이 좋습니다.
상기 내용을 바탕으로 다음과 같은 비즈니스 요구 사항이 있을 수 있다고 추정됩니다. 권장 전략은 다음과 같습니다.
특별한 성능 요구 사항이 없는 TDSQL for MySQL의 기능 테스트: 각각 2GB의 메모리와 25GB의 디스크 용량이 있는 2개의 샤드.
총 데이터 크기는 작지만 빠르게 증가하는 비즈니스 초기 단계: 각각 16GB 메모리와 200GB 디스크 용량을 가진 2개의 샤드.
샤딩이 실제 비즈니스 조건을 기반으로 하는 안정적인 개발 단계: 4개의 샤드, 각각에 대한 사양은 현재 비즈니스 피크*성장률/4
TDSQL for MySQL 샤드 성능 테스트
데이터베이스 벤치마크 성능 테스트는 sysbench 0.5의 설명을 수정하는 것입니다: sysbench와 함께 제공되는 otlp 스크립트가 수정되었습니다. 특히 읽기/쓰기 비율이 1:1로 변경되었고 테스트 명령 매개변수 oltp_point_selects 및 oltp_index_updates에 의해 제어되었습니다. 이 문서에서 모든 테스트 사례는 4개의 select 작업과 4:1의 읽기/쓰기 비율을 가진 하나의 update 작업을 포함합니다.
여기서 TPS는 분산 트랜잭션이 아닌 단일 트랜잭션입니다.
운영 정책에 따라 현재 TDSQL for MySQL(또는 그 일부) 인스턴스는 유휴 리소스의 남용 정책을 채택하므로 모니터링 패널에서 CPU 사용률이 100%를 초과할 수 있습니다.