Test environment (Alibaba Cloud ECS)
Hardware configurations
Service type ECS type Number of instances Number of CPU cores Memory OceanBase Database ecs.g7.8xlarge 3 32 128 GB
Each server has a system disk of 300 GB. Additionally, two cloud disks (400 GB) are mounted, one serving as the clog disk, and the other as the data disk. The performance level is PL1.Sysbench ecs.c7.4xlarge 1 16 32 GB ODP ecs.c7.16xlarge 1 64 128 GB Tenant specifications
CREATE RESOURCE UNIT sysbench_unit max_cpu 26, memory_size '100g' CREATE RESOURCE POOL sysbench_pool unit = 'sysbench_unit', unit_num = 1, zone_list=('zone1','zone2','zone3'); CREATE TENANT sysbench_tenant resource_pool_list=('sysbench_pool'), zone_list('zone1', 'zone2', 'zone3'), primary_zone=RANDOM, locality='F@zone1,F@zone2,F@zone3' set variables ob_compatibility_mode='mysql', ob_tcp_invited_nodes='%';Software versions
Service type Software version OceanBase Database - Enterprise Edition: V4.2.2.0
- Community Edition: V4.2.2.0_CE
ODP V4.2.1 Sysbench 1.0.20 OS CentOS Linux release 7.9.2009 (Core)
Test plan
Use OceanBase Deployer (OBD) to deploy an OceanBase cluster. Deploy ODP on a separate server.
Deploy the cluster in the 1-1-1 architecture, where the cluster has three zones and each zone has one OBServer node. After successful deployment, create the tenant and user required for running the Sysbench benchmark. The sys tenant is a built-in system tenant used for managing the cluster. Do not use the sys tenant to run the benchmark. Set
primary_zonetoRANDOMfor the tenant, which indicates that the leader of the new table partitions is randomly assigned to one of the three servers.Launch the Sysbench client, and run the
point_select,read_write,read_only, andwrite_onlytests.Set the
--timeparameter to60sfor each round of test. The number of threads can be32,64,128,256,512, or1024.
Test specifications
--mysql-db=test
--table_size=1000000
--tables=30
--threads=32/64/128/256/512/1024
--report-interval=10
--time=60
--db-ps-mode=disable
--rand-type=uniform
Results
Point Select performance
| Threads | V4.2.2 QPS | V4.2.2 95% Latency (ms) |
|---|---|---|
| 32 | 150002.69 | 0.24 |
| 64 | 279256.71 | 0.27 |
| 128 | 489197.56 | 0.30 |
| 256 | 791088.58 | 0.46 |
| 512 | 1041150.67 | 0.83 |
| 1024 | 1053486.24 | 2.18 |
Read Only performance
| Threads | V4.2.2 QPS | V4.2.2 95% Latency (ms) |
|---|---|---|
| 32 | 131753.27 | 4.18 |
| 64 | 241825.11 | 4.65 |
| 128 | 414202.92 | 5.57 |
| 256 | 638432.40 | 7.30 |
| 512 | 798094.11 | 15.00 |
| 1024 | 798567.76 | 34.95 |
Write Only performance
| Threads | V4.2.2 QPS | V4.2.2 95% Latency (ms) |
|---|---|---|
| 32 | 46505.45 | 6.09 |
| 64 | 88264.25 | 5.99 |
| 128 | 153548.94 | 6.43 |
| 256 | 227430.99 | 8.74 |
| 512 | 292273.10 | 14.46 |
| 1024 | 324863.22 | 35.59 |
Read/Write performance
| Threads | V4.2.2 QPS | V4.2.2 95% Latency (ms) |
|---|---|---|
| 32 | 83309.88 | 9.56 |
| 64 | 151101.81 | 10.27 |
| 128 | 268784.90 | 11.65 |
| 256 | 394488.45 | 15.00 |
| 512 | 523029.07 | 31.37 |
| 1024 | 598383.5 | 50.11 |