Custom scripts are used to execute the TPC-H dataset on services in sequence.

Test optimization

Service configurations are optimized in advance to ensure that you can complete the performance test without issues.

  • AnalyticDB for MySQL

    Default configurations of AnalyticDB for MySQL are used.

  • Presto

    The following execution parameters are optimized:

    task.concurrency=128
    exchange.max-reponse-size=16MB
    query.max-memory-per-node=2GB
    task.max-partial-aggregation-memory=32MB
    exchange.max-buffer-size=128MB
    query.max-total-memory-per-node=4GB
    sink.max-buffer-size=64MB
  • Apache Spark

    The following execution parameters are optimized:

    spark-sql --num-executors 12 
    --executor-cores 3 
    --executor-memory 16G

Test method

Note
  • The dataset is executed twice to perform pretests on each service.
  • After pretests, each service is tested three times consecutively. The final result is the average of the test results.

Compile the test script.

while [ $n -lt 23 ]
do
 echo "query ${n} starting"
 time mysql -f tpch <tpch_${n}.sql
 echo "query $n ended!"
 n=`expr ${n} + 1`
done