Skip to main content

Sysbench benchmark report of EloqSQL

Test environment (GCP)

Hardware configuration

This test assesses the scalability of EloqSQL using three different cluster configurations:

  1. T-Shirt S: Single txservice node with low CPU, 16 vCores.
  2. T-Shirt M: Single txservice node with high CPU, 48 vCores.
  3. T-Shirt L: Three txservice nodes with high CPU, 48 vCores each.

T-Shirt S to T-Shirt M investigates scale-up capabilities, while T-Shirt M to T-Shirt L evaluates scale-out potential. Traditional databases struggle to increase write IOPS when scaling up due to disk bottlenecks. EloqSQL circumvents this issue by enabling separate scaling of the log service, achieving high write IOPS while maintaining lower TCO.

Configuration details are provided below.

T-shirt size: S

Service typeEC2 typeNode countDisk count
txservicen2-standard-1611
logservicen2-standard-813
cassandran2-standard-1611
sysbenchn2-standard-3211

T-shirt size: M

Service typeEC2 typeNode countDisk count
txservicen2-standard-4811
logservicen2-standard-813
cassandran2-standard-1611
sysbenchn2-standard-3211

T-shirt size: L

Service typeEC2 typeNode countDisk count
txservicen2-standard-4831
logservicen2-standard-1616
cassandran2-standard-1611
sysbenchn2-standard-3211

Software version

Service typeSoftware version
EloqSQL0.3.0
Sysbench1.0.20_2
OSUbuntu20.04

Parameter configuration

EloqSQL parameter configuration

T-shirt size: S

max_connections=5000
mariadb_thread_pool_size=6
eloq_core_num=6
eloq_node_memory_limit=32000

T-shirt size: M

max_connections=5000
mariadb_thread_pool_size=16
eloq_core_num=16
eloq_node_memory_limit=96000

T-shirt size: L

max_connections=5000
mariadb_thread_pool_size=16
eloq_core_num=16
eloq_node_memory_limit=96000

Prepare test data

Please install haproxy on sysbench node.

Run the following command to prepare the test data. Port 3390 is listened by haproxy.

sysbench /usr/share/sysbench/oltp_common.lua --mysql_storage_engine=eloq --tables=10 --table_size=1000000 --mysql-user=sysbench_test --mysql-password=sysbench123 --mysql-host=127.0.0.1 --mysql-port=3390 --mysql-db=sbtest --threads=100 --report-interval=10 --auto_inc=off prepare

Run the test

Run the following command to perform the test:

test_name's value includes: oltp_point_select/oltp_write_only/oltp_update_non_index/oltp_read_only/oltp_read_write thread_num's value includes: 100/200/500/1000/2000/3000

sysbench /usr/share/sysbench/$test_name.lua --mysql_storage_engine=eloq --tables=10 --table_size=1000000 --mysql-user=sysbench_test --mysql-password=sysbench123 --mysql-host=127.0.0.1 --mysql-port=3390 --mysql-db=sbtest --time=60 --threads=$thread_num --report-interval=10 --mysql-ignore-errors=all --rand-type=special --auto_inc=off --range_selects=true run

EloqSQL demonstrates excellent scalability in both read and write scenarios. In read-only workloads, it exhibits linear scalability, allowing for efficient handling of high read volumes. For write-intensive workloads, EloqSQL offers impressive single-node write performance and the ability to scale horizontally, ensuring data availability and performance even under heavy write loads.

OLTP_POINT_SELECT Performance

T-shirt size: S

Thread NumTPSQPS95th percentile
100145709.23145709.230.97
200147126.59147126.592.11
500120378.40120378.405.18
1000113480.04113480.0410.27
2000111825.66111825.6619.65
3000111853.52111853.5229.19

T-shirt size: M

Thread NumTPSQPS95th percentile
100378984.20378984.200.36
200381346.88381346.880.75
500376213.56376213.562.11
1000339065.83339065.833.96
2000306995.35306995.358.13
3000293260.17293260.1711.87

T-shirt size: L

Thread NumTPSQPS95th percentile
100300504.05300504.050.50
200512275.19512275.190.58
500750484.17750484.171.18
1000859885.48859885.482.26
2000854481.67854481.674.65
3000812597.52812597.526.09

OLTP_WRITE_ONLY Performance

T-shirt size: S

Thread NumTPSQPS95th percentile
10018969.98114024.786.79
20020285.62122059.3114.21
50019608.02118383.2036.89
100018738.20113850.7777.19
200018228.53111994.08158.63
300019035.88118349.57227.40

T-shirt size: M

Thread NumTPSQPS95th percentile
10022495.50135235.115.47
20038246.14230340.296.32
50055957.52338667.6711.65
100055699.45339019.1323.52
200050350.94309962.8363.32
300049213.04306280.23101.13

T-shirt size: L

Thread NumTPSQPS95th percentile
10021873.79131499.625.47
20038271.08230439.256.21
50060839.96368035.8911.87
100071618.89436397.4721.89
200076147.14470420.9643.39
300078195.09489690.6162.19

OLTP_READ_WRITE Performance

T-shirt size: S

Thread NumTPSQPS95th percentile
1003839.9276893.9531.94
2004020.8980552.9558.92
5003999.6980425.53150.29
10003854.1777794.61308.84
20003572.6072579.76601.29
30003393.2269706.56926.33

T-shirt size: M

Thread NumTPSQPS95th percentile
1008199.31164273.1017.01
2009759.38195694.0625.74
5008960.47179847.43376.49
10009413.23189506.90816.63
20008619.23174610.38419.45
30007879.51159079.634280.32

T-shirt size: L

Thread NumTPSQPS95th percentile
1007410.98148413.6516.12
20011409.70228829.6423.52
50014427.15289716.3845.79
100016198.52326014.8590.78
200014696.28296302.22240.02
300015133.48305691.68287.38