All Products
Search
Document Center

MaxCompute:TPC-DS performance test

Last Updated:Mar 26, 2026

Run a TPC-DS benchmark against MaxCompute using public datasets and the automated test tool. TPC-DS is an industry-standard decision support benchmark covering 99 queries modeled after real business questions — catalog sales analysis, customer segmentation, and supply chain reporting — across store, catalog, and web sales channels. The results let you evaluate query performance at scale before committing to a production workload.

MaxCompute supports two query acceleration engines for this test:

  • MaxQA (MaxCompute Query Acceleration 2.0) — currently in public preview

  • MCQA (MaxCompute Query Acceleration 1.0) — for regions where MaxQA public preview is not yet available

Prerequisites

Before you begin, ensure that you have:

Set up the test tool

The mc_tpcds_benchmark tool automates the full TPC-DS run and generates a results file when it completes.

  1. Download mc_tpcds_benchmark.zip to your Linux machine.

  2. Decompress the package:

    unzip mc_tpcds_benchmark.zip

    The mc_tpcds_benchmark directory contains the following files:

    .
    |_t1c7039e3-2a1d-451b-bfda-d14c49016243-tpc-ds-tool.zip
    |_config
    |_init_tools.sh
    |_load_table.sh
    |_logs
    |_odps_clt
    |_patches
    |_pt.sh
    |_queries_1
    |_queries_1.quality
    |_queries_10
    |_queries_100
    |_queries_1000
    |_queries_10000
    |_queries_100000
    |_querygen.sh
    |_results
    |_run_stream.sh
    |_run_stream.sh.offline
    |_sqls
    |_start_session_only.sh
    |_start_session.sql
    |_start_session.sql_tmp
    |_tools_file
    |_tt.sh
    |_v2.10.1rc3

Choose a dataset

MaxCompute provides public TPC-DS datasets in four sizes. All datasets are stored in the public project BIGDATA_PUBLIC_DATASET. See Overview of public datasets for access instructions.

Dataset name Schema name Data size
TPC-DS 10-GB performance test dataset tpcds_10g 10 GB
TPC-DS 100-GB performance test dataset tpcds_100g 100 GB
TPC-DS 1-TB performance test dataset tpcds_1t 1 TB
TPC-DS 10-TB performance test dataset tpcds_10t 10 TB

Configure the test

Open the config file in the mc_tpcds_benchmark directory and update the following parameters.

Basic configuration

These parameters apply to both MaxQA and MCQA modes.

Parameter Description Example value
ODPS_CLT_CMD Absolute path to the odpscmd client executable. The client is included in the odps_clt subdirectory. See Connect to MaxCompute by using the local client (odpscmd). /xxxxx/mc_tpcds_benchmark/odps_clt/bin/odpscmd
PROJECT The MaxCompute project to use for the test. tpcds_test
SF Scale Factor — the dataset size in GB. Set this to match the dataset you chose: 10, 100, 1000 (1 TB), or 10000 (10 TB). 1000

Mode-specific configuration

The config file also contains settings that differ between MaxQA and MCQA modes.

Parameter Description MCQA value MaxQA value
MODE The query acceleration engine to use. MCQA MaxQA
MAXQA_QUOTA_NAME The alias of the MaxQA interactive Quota group. Find it on the quota management page of the MaxCompute console. N/A maxqa_test_quota
SQL_FLAGS Built-in SQL flags — do not modify. See descriptions below. See MCQA flags See MaxQA flags

MCQA SQL flags:

Flag Purpose
set odps.sql.session.result.cache.enable=false Disables the result cache so each query runs independently.
set odps.sql.allow.cartesian=true Enables Cartesian product support.
set odps.sql.session.query.timeout=600 Sets the Fuxi job timeout (seconds).

MaxQA SQL flags:

Flag Purpose
set odps.sql.mcqa2.result.cache.enable=false Disables the result cache so each query runs independently.
set odps.sql.allow.cartesian=true Enables Cartesian product support.

Run the test

From the mc_tpcds_benchmark directory, start the test in the background:

nohup sh pt.sh > pt.log 2>&1 &

The command writes a log to pt.log. To follow the progress in real time:

tail -f pt.log

Monitor job status

While the test is running, check job status in the MaxCompute console:

  1. Log in to the MaxCompute console.

  2. In the upper-left corner, switch to your target region.

  3. In the left navigation pane, go to Workspace > Jobs.

  4. On the Job Management page, find your test jobs and check their execution status.

  5. To view detailed execution logs, click Actions > LogView for any job.

For more information, see Manage jobs.

Job management page showing TPC-DS test jobs

View test results

After all queries complete, a results file is automatically saved to the mc_tpcds_benchmark directory:

console_test_result.csv

The file contains:

  • Total time consumed — the overall time for the test run

  • Execution time per query — how long each individual query took

  • LogView links — links to the detailed job logs for each query