diff --git a/starrocks/benchmark.sh b/starrocks/benchmark.sh index ab156416f..a1fed23e6 100755 --- a/starrocks/benchmark.sh +++ b/starrocks/benchmark.sh @@ -2,10 +2,13 @@ # This benchmark should run on Amazon Linux +VERSION=2.4.0-rc03 +DOWNLOAD_URL=https://download.starrocks.com/en-US/download/request-download/54/StarRocks-2.4.0-rc03.tar.gz # Install -wget https://download.starrocks.com/en-US/download/request-download/40/StarRocks-2.3.0-rc03.tar.gz -tar zxvf StarRocks-2.3.0-rc03.tar.gz -cd StarRocks-2.3.0-rc03/ +wget $DOWNLOAD_URL +tar zxvf StarRocks-${VERSION}.tar.gz + +cd StarRocks-${VERSION}/ # Install dependencies sudo yum install -y java-1.8.0-openjdk-devel.x86_64 mysql @@ -24,28 +27,25 @@ fe/bin/start_fe.sh --daemon # Start Backend echo "storage_root_path = ${STARROCKS_HOME}/storage" >> be/conf/be.conf - -# This if you want to obtain the "tuned" result: -#echo "disable_storage_page_cache = false" >> be/conf/be.conf -#echo "storage_page_cache_limit = 4G" >> be/conf/be.conf -#echo "mem_limit=90%" >> be/conf/be.conf - be/bin/start_be.sh --daemon # Setup cluster +# wait some seconds util fe can serve +sleep 30 mysql -h 127.0.0.1 -P9030 -uroot -e "ALTER SYSTEM ADD BACKEND '${IPADDR}:9050' " -mysql -h 127.0.0.1 -P9030 -uroot -e "CREATE DATABASE hits" -mysql -h 127.0.0.1 -P9030 -uroot hits < create.sql -# This if you want to obtain the "tuned" result: -#mysql -h 127.0.0.1 -P9030 -uroot -e "SET GLOBAL enable_column_expr_predicate=true" - -# Load data +# Prepare Data +cd ../ wget --continue 'https://datasets.clickhouse.com/hits_compatible/hits.tsv.gz' gzip -d hits.tsv.gz # Split file into chunks split -a 1 -d -l 10000000 hits.tsv hits_split +# Create Table +mysql -h 127.0.0.1 -P9030 -uroot -e "CREATE DATABASE hits" +mysql -h 127.0.0.1 -P9030 -uroot hits < create.sql + +# Load Data START=$(date +%s) for i in `seq -w 0 9`; do echo "start loading hits_split${i} ..." @@ -61,10 +61,14 @@ LOADTIME=$(echo "$END - $START" | bc) echo "Load data costs $LOADTIME seconds" # This if you want to obtain the "tuned" result. Analyze table: -#time mysql -h 127.0.0.1 -P9030 -uroot hits -e "ANALYZE TABLE hits" - -# Dataset contains 23676271984 bytes and 99997497 rows -du -bcs storage/ +# time mysql -h 127.0.0.1 -P9030 -uroot hits -e "ANALYZE TABLE hits with sync mode" +# mysql -h 127.0.0.1 -P9030 -uroot hits -e "SET GLOBAL enable_tablet_internal_parallel=false" + +# Dataset contains about 40GB of data when the import is just completed. +# This is because the trashed data generated during the compaction process. +# After about tens of minutes, when the gc is completed, the system includes about 16.5GB of data. +du -bcs StarRocks-${VERSION}/storage/ +# Dataset contains 99997497 rows mysql -h 127.0.0.1 -P9030 -uroot hits -e "SELECT count(*) FROM hits" # Run queries diff --git a/starrocks/results/c6a.4xlarge.json b/starrocks/results/c6a.4xlarge.json index 3495d2aa5..a4fc22302 100644 --- a/starrocks/results/c6a.4xlarge.json +++ b/starrocks/results/c6a.4xlarge.json @@ -1,55 +1,55 @@ { "system": "StarRocks (tuned)", - "date": "2022-07-15", + "date": "2022-09-25", "machine": "c6a.4xlarge, 500gb gp2", "cluster_size": 1, "comment": "", "tags": ["C++", "column-oriented", "MySQL compatible", "ClickHouse derivative"], - "load_time": 604, - "data_size": 17737228888, + "load_time": 737, + "data_size": 17731811260, "result": [ -[0.05,0.06,0.04], -[0.05,0.02,0.02], -[0.11,0.11,0.10], -[1.49,0.12,0.12], -[0.65,0.62,0.62], -[1.50,0.93,0.93], -[0.16,0.11,0.11], -[0.05,0.02,0.02], -[1.08,0.58,0.59], -[0.67,0.69,0.68], -[0.14,0.09,0.11], -[0.11,0.09,0.10], -[0.83,0.88,0.84], -[1.21,1.54,1.54], -[1.07,1.00,1.01], -[0.64,0.55,0.55], -[2.34,2.40,2.35], -[0.40,0.42,0.37], -[4.75,4.46,4.38], -[0.01,0.00,0.01], -[11.17,0.98,0.93], -[11.40,1.00,0.87], -[23.38,1.96,1.94], -[35.19,2.33,2.20], -[2.08,0.14,0.16], -[0.14,0.14,0.13], -[0.15,0.16,0.15], -[10.86,1.55,1.51], -[9.22,5.75,5.57], -[1.17,1.15,1.11], -[2.07,0.54,0.52], -[2.38,0.84,0.82], -[5.98,5.64,5.91], -[14.35,6.93,6.28], -[12.88,6.17,6.61], -[1.73,1.66,1.70], -[0.14,0.13,0.12], -[0.04,0.03,0.03], -[0.03,0.01,0.01], -[0.18,0.16,0.16], -[0.04,0.02,0.01], -[0.02,0.02,0.02], -[0.03,0.01,0.02] + [0.02,0.03,0.02], + [0.04,0.02,0.02], + [0.09,0.06,0.06], + [2.00,0.08,0.08], + [0.51,0.49,0.47], + [1.32,0.96,0.90], + [0.09,0.07,0.09], + [0.06,0.01,0.02], + [0.76,0.92,0.79], + [0.94,0.86,0.94], + [0.16,0.15,0.12], + [0.15,0.13,0.12], + [0.68,0.66,0.66], + [1.48,1.38,1.36], + [0.89,0.88,0.96], + [0.63,0.56,0.56], + [3.03,2.61,2.21], + [0.46,0.41,0.50], + [5.34,4.57,4.58], + [0.01,0.00,0.01], + [12.05,1.22,1.04], + [13.14,1.05,1.02], + [26.14,2.00,2.04], + [37.50,2.50,3.04], + [2.47,0.16,0.15], + [0.13,0.12,0.14], + [0.15,0.15,0.14], + [11.77,1.45,1.41], + [10.44,6.16,8.27], + [1.54,1.40,1.37], + [2.84,0.51,0.47], + [2.96,0.74,0.72], + [4.89,5.57,5.30], + [11.71,4.86,4.79], + [11.30,5.11,4.62], + [2.69,2.56,2.59], + [0.06,0.04,0.05], + [0.04,0.03,0.02], + [0.02,0.02,0.02], + [0.15,0.14,0.14], + [0.05,0.02,0.02], + [0.03,0.02,0.01], + [0.02,0.01,0.01] ] } diff --git a/starrocks/results/c6a.4xlarge.untuned.json b/starrocks/results/c6a.4xlarge.untuned.json index 1392eae20..5048449ce 100644 --- a/starrocks/results/c6a.4xlarge.untuned.json +++ b/starrocks/results/c6a.4xlarge.untuned.json @@ -1,55 +1,55 @@ { "system": "StarRocks", - "date": "2022-07-15", + "date": "2022-09-25", "machine": "c6a.4xlarge, 500gb gp2", "cluster_size": 1, "comment": "", "tags": ["C++", "column-oriented", "MySQL compatible", "ClickHouse derivative"], - "load_time": 656, - "data_size": 17737228888, + "load_time": 737, + "data_size": 17731811260, "result": [ -[0.06,0.06,0.06], -[0.05,0.03,0.02], -[0.12,0.09,0.09], -[1.04,0.11,0.11], -[1.66,0.64,0.63], -[1.07,0.99,1.02], -[0.14,0.13,0.14], -[0.07,0.02,0.03], -[1.87,0.67,0.67], -[2.03,0.82,0.82], -[1.10,0.16,0.19], -[1.63,0.17,0.18], -[1.36,0.90,0.91], -[3.00,1.64,1.68], -[1.15,1.07,1.11], -[1.15,0.62,0.65], -[2.99,2.49,2.55], -[2.45,0.53,0.52], -[4.91,4.51,4.51], -[0.04,0.01,0.01], -[10.82,0.74,0.71], -[12.40,0.64,0.64], -[24.99,1.29,1.32], -[null,8.15,8.37], -[2.24,0.22,0.21], -[1.02,0.18,0.17], -[2.73,0.22,0.23], -[11.26,1.08,1.06], -[9.10,6.01,5.96], -[1.30,1.23,1.18], -[2.58,0.64,0.64], -[5.71,0.96,1.00], -[7.33,6.54,6.63], -[14.22,6.64,6.14], -[14.47,6.46,6.73], -[1.91,1.91,1.94], -[0.17,0.13,0.15], -[0.06,0.03,0.03], -[0.04,0.02,0.02], -[0.19,0.17,0.18], -[0.05,0.02,0.02], -[0.04,0.02,0.02], -[0.04,0.02,0.01] + [0.03,0.03,0.03], + [0.04,0.02,0.01], + [0.09,0.06,0.07], + [1.64,0.09,0.08], + [0.49,0.48,0.47], + [1.59,0.90,0.92], + [0.09,0.08,0.08], + [0.05,0.02,0.02], + [0.78,0.75,0.77], + [0.92,0.86,0.92], + [0.17,0.15,0.12], + [0.15,0.13,0.13], + [0.68,0.66,0.69], + [1.56,1.63,1.48], + [0.96,0.92,0.91], + [0.56,0.57,0.54], + [2.85,2.24,2.26], + [0.49,0.48,0.47], + [4.37,4.39,4.41], + [0.01,0.00,0.00], + [10.86,1.12,1.05], + [12.92,0.97,0.94], + [25.64,3.23,2.14], + [42.72,2.67,2.65], + [3.08,0.28,0.23], + [0.18,0.17,0.16], + [0.19,0.16,0.17], + [11.73,1.46,1.45], + [10.48,6.21,8.73], + [1.55,1.49,1.38], + [3.21,0.50,0.50], + [2.72,0.74,0.71], + [4.88,5.71,5.13], + [15.75,7.05,6.82], + [14.24,6.82,7.25], + [2.76,3.52,2.49], + [0.06,0.04,0.05], + [0.04,0.03,0.03], + [0.02,0.02,0.02], + [0.16,0.14,0.14], + [0.05,0.02,0.02], + [0.03,0.02,0.01], + [0.01,0.01,0.01] ] } diff --git a/starrocks/results/c6a.metal.json b/starrocks/results/c6a.metal.json new file mode 100644 index 000000000..ae6af0296 --- /dev/null +++ b/starrocks/results/c6a.metal.json @@ -0,0 +1,55 @@ +{ + "system": "StarRocks (tuned)", + "date": "2022-09-25", + "machine": "c6a.metal, 500gb gp2", + "cluster_size": 1, + "comment": "", + "tags": ["C++", "column-oriented", "MySQL compatible", "ClickHouse derivative"], + "load_time": 490, + "data_size": 17746587454, + "result": [ + [0.10,0.03,0.03], + [0.06,0.02,0.02], + [0.06,0.04,0.04], + [1.17,0.08,0.05], + [0.08,0.07,0.10], + [1.14,0.31,0.21], + [0.06,0.05,0.03], + [0.04,0.02,0.03], + [0.22,0.20,0.20], + [0.22,0.23,0.23], + [0.10,0.08,0.09], + [0.11,0.10,0.11], + [0.16,0.17,0.15], + [0.26,0.27,0.26], + [0.19,0.21,0.19], + [0.09,0.08,0.08], + [0.29,0.27,0.27], + [0.09,0.10,0.10], + [0.64,0.53,0.55], + [0.01,0.00,0.01], + [10.79,0.24,0.25], + [0.16,0.14,0.14], + [9.59,0.28,0.29], + [23.02,0.32,0.31], + [0.04,0.04,0.05], + [0.04,0.05,0.05], + [0.04,0.04,0.05], + [0.29,0.30,0.30], + [8.48,0.82,0.75], + [0.30,0.28,0.26], + [0.19,0.15,0.15], + [2.11,0.20,0.22], + [1.37,1.14,1.13], + [0.93,0.95,0.91], + [0.94,0.88,0.92], + [0.32,0.32,0.33], + [0.03,0.03,0.03], + [0.02,0.02,0.02], + [0.02,0.03,0.03], + [0.16,0.17,0.16], + [0.08,0.10,0.11], + [0.09,0.10,0.10], + [0.09,0.10,0.09] +] +} diff --git a/starrocks/results/c6a.metal.untuned.json b/starrocks/results/c6a.metal.untuned.json new file mode 100644 index 000000000..426f47b56 --- /dev/null +++ b/starrocks/results/c6a.metal.untuned.json @@ -0,0 +1,55 @@ +{ + "system": "StarRocks", + "date": "2022-09-25", + "machine": "c6a.metal, 500gb gp2", + "cluster_size": 1, + "comment": "", + "tags": ["C++", "column-oriented", "MySQL compatible", "ClickHouse derivative"], + "load_time": 484, + "data_size": 17746587454, + "result": [ + [0.12,0.04,0.04], + [0.04,0.03,0.03], + [0.42,0.06,0.05], + [2.15,0.05,0.05], + [0.26,0.25,0.25], + [1.44,0.32,0.29], + [0.06,0.05,0.05], + [0.06,0.04,0.03], + [0.35,0.34,0.31], + [0.36,0.40,0.35], + [0.14,0.15,0.13], + [0.18,0.16,0.16], + [0.16,0.16,0.16], + [0.33,0.33,0.32], + [0.28,0.27,0.26], + [0.27,0.28,0.26], + [0.47,0.45,0.47], + [0.35,0.36,0.35], + [0.80,0.73,0.71], + [0.01,0.01,0.01], + [11.06,0.24,0.22], + [0.13,0.12,0.14], + [10.29,0.30,0.31], + [44.91,0.26,0.27], + [0.27,0.05,0.05], + [0.23,0.05,0.05], + [0.13,0.05,0.05], + [1.34,7.10,0.47], + [2.08,1.27,1.57], + [0.52,0.38,0.44], + [0.87,0.24,0.24], + [0.99,0.34,0.31], + [1.45,1.48,1.30], + [2.28,1.08,1.06], + [1.00,1.16,0.98], + [0.50,0.44,0.47], + [0.05,0.04,0.04], + [0.04,0.04,0.04], + [0.04,0.03,0.03], + [0.19,0.20,0.19], + [0.12,0.10,0.11], + [0.12,0.11,0.11], + [0.07,0.08,0.06] +] +}