Performance
The performance data in this document is based on the default configuration. If you are facing high network latency or high throughput write scenarios, you can refer to [the operation manual] (manual.md) for optimization.
Test Datasetβ
- Dataset: TPC-H 1T
Test Cluster Configurationβ
Configuration Item | Upstream Configuration | Downstream Configuration |
---|---|---|
FE | 2 cores 16 GB | 2 cores 16 GB |
BE | 3 nodes, 16 cores 64 GB, 3*500 GB per node | 3 nodes, 16 cores 64 GB, 3*500 GB per node |
Incremental Synchronization Performance Testβ
Test Stepsβ
- Create the library table information for TPC-H 1T in the upstream cluster.
- Create a synchronization task for the TPC-H 1T database.
- Wait for the TPC-H 1T data import to complete and record the completion time
a
.- Time Record:
2024-12-05 20:09:48
- Time Record:
- Wait for the downstream data synchronization to complete and record the completion time
b
.- Time Record:
2024-12-05 20:10:21.678
- Log Information:
INFO handle upsert binlog, sub sync state: IngestBinlog, prevCommitSeq: 3271, commitSeq: 3282 job=per_ccr line=ccr/job.
- Time Record:
Test Conclusionβ
Incremental synchronization time difference: b - a = 33 seconds
Full Synchronization Performance Testβ
Test Stepsβ
- Create the library table information for TPC-H 1T in the upstream cluster and complete the data import, recording the completion time
a
.- Time Record:
2024-12-05 17:56:56
- Time Record:
- Create a synchronization task for the TPC-H 1T database.
- Wait for the downstream data synchronization to complete and record the completion time
b
.- Time Record:
2024-12-05 18:02:57
- Time Record:
Test Conclusionβ
Full synchronization time difference: b - a = 6 minutes 1 second
Flink Synchronization Performance Testβ
Test Stepsβ
- Use Flink to import 100,000,000 records of data in the upstream.
- Create a synchronization task for the library table.
- Observe the difference between the downstream synchronization completion time and the upstream import completion time at each stage (e.g., 1,000,000 records, 2,000,000 records, etc.).
- The last import completion time in the upstream is
2024-12-06 12:53:00
.- Log Information:
2024-12-06 12:53:00,455 INFO org.apache.flink.runtime.executiongraph.ExecutionGraph [] - Source: Custom Source (1/1) (17be78de01ee5175d801c08c1b443771) switched from RUNNING to FINISHED.
- Log Information:
- The downstream synchronization completion time is
2024-12-06 12:53:01.433
.- Log Information:
2024-12-06 12:53:01.433 TRACE update job progress done, state: DBIncrementalSync, subState: Done, commitSeq: 12246911, prevCommitSeq: 12246911 job=flink_per_ccr line=ccr/job_progress.go:389
- Log Information:
Test Conclusionβ
The lag time at each stage is maintained within 5 seconds
.
Summaryβ
- Incremental Synchronization: Time difference of approximately 33 seconds.
- Full Synchronization: Completion time of approximately 6 minutes 1 second.
- Flink Synchronization: Each stage's synchronization delay is within 5 seconds.