실시간 응용 프로그램 중 하나에 NDB 클러스터 (MYSQL 5.7)를 설정하려고합니다 (높은 볼륨의 읽기 및 쓰기 동시성).테이블의 행 수가 많으면 데이터를 가져 오는 데 NDB cluster7.5 (MySQL 5.7)가 더 많은 시간이 걸립니다.
내 설정 -
3 데이터 노드 1 관리 노드 1 MySQL의 노드
모든 노드는 아마존 EC2의 r3.4xlarge 타입입니다. OS - centos 7
나는 동일한 기본 키 데이터가 단일 노드에 있는지 확인하기 위해 하나의 테이블을 만들고 기본 키로 분할했습니다. 키
Table Schema -
CREATE TABLE ContactsAgentContacts(
uniqueid integer not null,
did varchar(32) not null,
nId varchar(50),
companyname varchar(50),
primary key (uniqueid,did)
)
ENGINE = NDBCLUSTER 파티션 (한);
이제 각 테이블에 1K 레코드가 포함 된 방식으로 2 백만 개의 레코드가 채워졌습니다.
쿼리 횟수 - SELECT DISTINCT ContactsAgentContacts.companyname AS 'fullname' from ContactsAgentContacts where did='xyz';
성능을 얻기 -
하나의 동시성 - 내가 진짜을 개발하기 위해 노력하고 하나의 1K 기록이
**with 1 read concurrency - 800 ms
with 25 read concurrency - 1.5 sec
with 50 read concurrency - 3 sec**
했다 페치 시간 시스템 어떤 값보다 300ms가 너무 많아서 이번엔 n을 늘리는 것입니다. 표의 행 수는 증가하고 있습니다. 내 솔루션을 최적화하는 방법을 알려주십시오. 기본 키 (한, 경우 uniqueid)에
My configiration .
config.ini
[tcp default]
SendBufferMemory=2M
ReceiveBufferMemory=2M
[ndb_mgmd default]
# Directory for MGM node log files
DataDir=/var/lib/mysql-cluster
[ndb_mgmd]
#Management Node db1
HostName=10.2.25.129
NodeId=1
[ndbd default]
NoOfReplicas=1
DataMemory=2000M
IndexMemory=300M
LockPagesInMainMemory=1
#Directory for Data Node
DataDir=/var/lib/mysql-cluster
NoOfFragmentLogFiles=300
MaxNoOfConcurrentOperations=100000
SchedulerSpinTimer=400
SchedulerExecutionTimer=100
RealTimeScheduler=1
TimeBetweenGlobalCheckpoints=1000
TimeBetweenEpochs=200
RedoBuffer=32M
[ndbd]
#Data Node db2
HostName=10.2.18.81
NodeId=2
#LockExecuteThreadToCPU=1
LockMaintThreadsToCPU=0
[ndbd]
#Data Node db3
HostName=10.2.20.15
NodeId=3
#LockExecuteThreadToCPU=1
LockMaintThreadsToCPU=0
[ndbd]
#Data Node db4
HostName=10.2.24.28
NodeId=4
#LockExecuteThreadToCPU=1
LockMaintThreadsToCPU=0
[mysqld]
#SQL Node db5
HostName=10.2.29.42
NodeId=5
query fetch patteren은 (did, uniqueid)의 조건부가 결합되었지만 여전히 메모리 constarints가이 경우 문제가 될 수 있지만 seprate 보조 인덱스에 추가 할 수는 없습니다. –
정렬 된 색인 추가는 메모리 공간 (DataMemory에서) 당 행당 약 10 바이트입니다. –
감사합니다. @mikael - 2 차 색인 속도가 매우 빠릅니다. –