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 cores 128 GB
Each server has a built-in 300 GB system disk and two attached 400 GB cloud disks as the clog disk and data disk respectively. The disk performance level is PL1.Sysbench ecs.c7.4xlarge 1 16 cores 32 GB OceanBase Database Proxy (ODP) ecs.c7.16xlarge 1 64 cores 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 - OceanBase Database Enterprise Edition V4.2.2.0
- OceanBase Database Community Edition V4.2.2.0
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
systenant is a built-in system tenant used for managing the cluster. Do not use thesystenant to run the benchmark. Set the value of theprimary_zonetoRANDOMfor the tenant, which indicates that the leader of the new table partitions is randomly assigned to one of the three OBServer nodes.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 |