MaxCompute適用於TB、PB和EB等各個數量級的資料查詢情境,並在業界具有較大的效能優勢,本文基於MaxCompute提供的公開資料集及測試載入器,以巨量資料基準測試TPC-DS為例為您驗證MaxCompute的效能。當前MaxCompute提供兩種不同效能測試方式,方式一是基於全新MaxQA查詢加速引擎的TPC-DS測試,方式二是基於MCQA引擎的TPC-DS測試。
準備工作
環境準備。
在進行TPC-DS測試前,您需要先開通MaxCompute服務並建立專案。具體操作請參見建立專案。
方式一:開通MaxQA(MaxCompute查詢加速2.0)。目前在公測階段(請點擊公測連結參加公測,各地區開啟公測的時間計劃請參考公測計劃)。
請參考查詢加速MaxQA概述,開通訂用帳戶規格,並建立互動式 Quota組。
方式二:開通MCQA(MaxCompute查詢加速1.0),面向未開啟MaxQA公測的其他地區。
請參考查詢加速(MCQA),開通訂用帳戶規格。
測試載入器準備。
為方便使用者測試,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測試資料集說明。
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參數,無需修改。 |
|
|
執行測試
在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查看作業的詳細情況。更多詳情請參見作業營運。

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