全部產品
Search
文件中心

MaxCompute:TPC-DS效能測試

更新時間:Apr 01, 2025

MaxCompute適用於TB、PB和EB等各個數量級的資料查詢情境,並在業界具有較大的效能優勢,本文基於MaxCompute提供的公開資料集及測試載入器,以巨量資料基準測試TPC-DS為例為您驗證MaxCompute的效能。當前MaxCompute提供兩種不同效能測試方式,方式一是基於全新MaxQA查詢加速引擎的TPC-DS測試,方式二是基於MCQA引擎的TPC-DS測試。

準備工作

  1. 環境準備。

    • 在進行TPC-DS測試前,您需要先開通MaxCompute服務並建立專案。具體操作請參見建立專案

    • 方式一:開通MaxQA(MaxCompute查詢加速2.0)。目前在公測階段(請點擊公測連結參加公測,各地區開啟公測的時間計劃請參考公測計劃)。

    • 方式二:開通MCQA(MaxCompute查詢加速1.0),面向未開啟MaxQA公測的其他地區。

  2. 測試載入器準備。

    為方便使用者測試,MaxCompute提供了TPC-DS效能自動化測試載入器,可協助您快速完成TPC-DS測試並自動產生測試結果。

    重要

    目前測試載入器僅支援在Linux環境使用,且需要安裝1.7及以上版本的JDK。

    單擊mc_tpcds_benchmark下載工具包附件,並在Linux伺服器上執行以下命令進行解壓。

    unzip mc_tpcds_benchmark.zip

    解壓後的檔案目錄結構如下:

    .
    |_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
  3. 測試資料集說明。

    MaxCompute提供公開資料集,您無需自行準備測試資料,所有資料均已儲存於MaxCompute公開專案BIGDATA_PUBLIC_DATASET中,詳情請參見公開資料集概述

    TPC-DS測試資料集分為10GB、100GB、1TB及10TB四種規格,您可根據測試需求自行選擇,詳情如下:

    類別

    簡介

    資料集名稱

    Schema名稱

    TPC-DS

    TPC-DS是一個面向決策支援的基準,它對決策支援系統的幾個普遍適用的方面進行建模,包括查詢和資料維護等,使巨量資料系統等新技術能夠執行基準測試。

    • TPC-DS 10GB效能測試集

    • TPC-DS 100GB效能測試集

    • TPC-DS 1TB效能測試集

    • TPC-DS 10TB效能測試集

    • tpcds_10g

    • tpcds_100g

    • tpcds_1t

    • tpcds_10t

測試過程

修改測試載入器設定檔

進入解壓後的測試載入器的mc_tpcds_benchmark目錄,修改config檔案。由於測試載入器同時支援 MaxQA 和 MCQA 兩種模式,二者在基礎配置以外的配置上要做的修改稍有差異。

基礎配置

配置項

說明

取值

ODPS_CLT_CMD

MaxCompute用戶端可執行檔的絕對路徑。

本工具包內提供的用戶端在工作目錄下的odps_clt,請修改對應配置,可參見使用本地用戶端(odpscmd)串連

例如:/xxxxx/mc_tpcds_benchmark/odps_clt/bin/odpscmd

PROJECT

測試使用的MaxCompute Project。

例如:tpcds_test

SF

測試TPC-DS的資料規模。

單位是GB,1表示1GB,1000表示1T,可根據測試需求進行修改。

預設1000

差異配置-MCQA vs MaxQA模式

配置項

說明

MCQA取值

MaxQA取值

ODPS_CLT_CMD

MaxCompute用戶端可執行檔的絕對路徑。

本工具包內提供的用戶端在工作目錄下的odps_clt,請修改對應配置,可參見使用本地用戶端(odpscmd)串連

例如:/xxxxx/mc_tpcds_benchmark/odps_clt/bin/odpscmd

例如:/xxxxx/mc_tpcds_benchmark/odps_clt/bin/odpscmd

PROJECT

測試使用的MaxCompute Project。

例如:tpcds_test

例如:tpcds_test

SF

測試TPC-DS的資料規模。

單位是GB,1表示1GB,1000表示1T,可根據測試需求進行修改。

預設1000,目前 MaxCompute 公用資料集中提供了 10G、100G、1T、10T 四種規模的資料。因此,SF可以設定為 10、100、1000 或 10000

預設1000,目前 MaxCompute 公用資料集中提供了 10G、100G、1T、10T 四種規模的資料。因此,SF可以設定為 10、100、1000 或 10000。

MODE

設定本次 benchmark 啟動並執行模式

MCQA

MaxQA

MAXQA_QUOTA_NAME

測試使用的 MaxQA 互動式 Quota 組的名字,從 MaxCompute 控制台的配額管理頁面可以查到,特別注意需要填寫的是 Quota 的別名(即使用者自己取的名字)

N/A

例如:maxqa_test_quota

SQL_FLAGS

MaxCompute內建相關Flag參數,無需修改。

  • set odps.sql.session.result.cache.enable=false:關閉MCQA模式result cache,確保每個Query均獨立執行。

  • set odps.sql.allow.cartesian=true:使SQL支援笛卡爾積計算。

  • set odps.sql.session.query.timeout=600:MCQA模式下Fuxi job逾時時間。

  • set odps.sql.mcqa2.result.cache.enable=false:關閉MaxQA模式result cache,確保每個Query均獨立執行。

  • set odps.sql.allow.cartesian=true:使SQL支援笛卡爾積計算。

執行測試

在mc_tpcds_benchmark目錄下執行以下命令,啟動TPC-DS測試:

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

執行成功後,在mc_tpcds_benchmark目錄下自動產生pt.log記錄檔,可執行以下命令查看任務詳細日誌:

tail -f pt.log

查看MaxCompute任務執行情況

您可以登入MaxCompute控制台,左上方切換地區,在左側導覽列選擇工作區 > 作業營運。在作業營運頁面查詢任務的執行情況。您還可以單擊目標作業操作列的LogView查看作業的詳細情況。更多詳情請參見作業營運

作業營運1

測試結果查看

任務執行成功後,在mc_tpcds_benchmark目錄下自動產生測試執行結果檔案console_test_result.csv,可查看本次測試執行結果,其中包含測試總耗時、每個Query執行時間及對應Logview等資訊。