全部產品
Search
文件中心

E-MapReduce:測試說明

更新時間:Sep 11, 2024

本文為您介紹如何使用TPC-DS對OLAP查詢情境進行效能測試。

TPC-DS簡介

TPC-DS是全球最知名的資料管理系統評測基準標準化組織TPC(事務性管理委員會)制定的標準規範,並由TPC管理測試結果的發布。

本次測試遵循TPC-DS規範構建了24張表,基準測試共包含99個複雜查詢,主要的評價指標為各個查詢的回應時間,即從提交查詢到結果返回所需時間。

說明

本文的TPC-DS的實現基於TPC-DS的基準測試,並不能與發行的TPC-DS基準測試結果相比較,本文中的測試並不符合TPC-DS的基準測試的所有要求。

準備工作

您需要準備OLAP查詢情境所需的基礎環境和TPC-DS資料。

說明

為了減少可能對測試結果有影響的變數,建議每次使用新建立的執行個體進行測試,不要使用升降配的執行個體。

操作步驟

操作說明

  1. 建立ECS執行個體

登入阿里雲,建立一個ECS執行個體,用於資料產生、向StarRocks匯入資料和用戶端測試。建議規格具體如下:

  • 作業系統:建議使用CentOS或Alibaba Cloud Linux。

  • 資料盤:建議使用ESSD資料盤,具體資料容量根據需要測試的資料量大小決定。

  • 地區和VPC:建議確保ECS和StarRocks執行個體在相同地區,並使用相同的VPC網路進行串連。

  • 公網IP:需要分配公網IP地址。

更多關於建立ECS的操作,請參見執行個體建立方式介紹

  1. 建立StarRocks執行個體

本次測試BE計算資源配置選擇了8 CU(即8核32 GB)。您可以根據實際業務需求,選擇計算資源配置。

登入阿里雲,進入E-MapReduce控制台的EMR Serverless StarRocks頁面,單擊建立執行個體

更多關於建立StarRocks執行個體的操作,請參見建立執行個體

  1. 下載starrocks-benchmark測試載入器包並解壓

您需要登入步驟1中建立的ECS執行個體,在節點上執行如下命令下載測試載入器包。

sudo wget https://starrocks-oss.oss-cn-beijing.aliyuncs.com/public-access/starrocks-tpcds-benchmark-for-serverless.zip
sudo yum install -y unzip
unzip starrocks-tpcds-benchmark-for-serverless.zip

操作步驟

步驟一:配置測試載入器包

  1. 登入已建立的ECS執行個體,詳情請參見串連ECS執行個體

  2. 執行以下命令,進入測試載入器包目錄。

    cd tpcds-poc-1.0
  3. 執行vim conf/starrocks.conf命令,根據實際情況修改以下參數。

    # for mysql cmd
    mysql_host: fe-c-***-internal.starrocks.aliyuncs.com
    mysql_port: 9030
    mysql_user: admin
    mysql_password: ****
    database: tpcds
    
    # cluster ports
    http_port: 8030
    be_heartbeat_port: 9050
    broker_port: 8000
    
    # benchmark config
    scale_factor: 3
    dataset_generate_path: /mnt/disk1/starrocks-tpcds-benchmark/datasets

    參數詳細描述如下表所示。

    參數

    說明

    mysql_host

    StarRocks執行個體中FE的內網地址。

    您可以在StarRocks執行個體的執行個體詳情頁簽的FE詳情地區,查看內網地址

    重要

    不建議使用公網地址。

    mysql_port

    StarRocks執行個體中FE的服務連接埠,預設為9030。

    您可以在StarRocks執行個體的執行個體詳情頁簽的FE詳情地區,查看查詢連接埠

    mysql_user

    StarRocks執行個體的使用者。預設為admin。

    mysql_password

    StarRocks執行個體使用者的密碼。

    database

    StarRocks執行個體建立的資料庫名稱,使用預設值即可。

    http_port

    StarRocks執行個體中FE的HTTP連接埠,預設為8030。

    您可以在StarRocks執行個體的執行個體詳情頁簽的FE詳情地區,查看HTTP連接埠

    scale_factor

    資料集的比例因素,控制產生資料量的大小。預設值為3,單位為GB。

    重要

    建立執行個體時請關注云盤的容量,避免產生資料集大小超過雲端硬碟容量。

    dataset_generate_root_path

    存放產生測試資料集的路徑。預設值為/mnt/disk1/starrocks-benchmark/datasets

步驟二:執行測試

執行以下命令,進行自動化TPC-DS資料載入,此過程會建立資料庫、表、資料集並載入資料,同時也包括執行查詢操作。

cd bin
sh run_tpcds.sh

您還可以根據實際需求執行以下操作:

  • 單獨執行查詢操作。

    sh run_tpcds.sh query
  • 重建測試資料。

    sh run_tpcds.sh gen_data
  • 如果gen_data目錄已產生,並需要重新匯入測試資料,可執行以下命令進行重新整理操作。

    sh run_tpcds.sh reload

步驟三:查看測試結果

查詢命令執行完畢後將直接輸出測試結果。成功執行針對tpcds3資料庫的SQL查詢測試,得到99個查詢的執行時間結果如下所示。

查詢的資料庫名稱:tpcds3
SQL		Time(ms)
Query01		34
Query02		36
Query03		26
Query04		57
Query05		40
Query06		29
Query07		35
Query08		33
Query09		31
Query10		33
Query11		45
Query12		26
Query13		31
Query14		91
Query15		29
Query16		50
Query17		36
Query18		33
Query19		31
Query20		32
Query21		32
Query22		33
Query23		67
Query24		39
Query25		32
Query26		36
Query27		32
Query28		32
Query29		33
Query30		37
Query31		46
Query32		32
Query33		52
Query34		33
Query35		35
Query36		30
Query37		31
Query38		37
Query39		33
Query40		36
Query41		34
Query42		25
Query43		31
Query44		30
Query45		27
Query46		33
Query47		50
Query48		36
Query49		49
Query50		38
Query51		30
Query52		26
Query53		32
Query54		32
Query55		27
Query56		49
Query57		41
Query58		37
Query59		37
Query60		48
Query61		32
Query62		42
Query63		34
Query64		130
Query65		29
Query66		87
Query67		31
Query68		33
Query69		40
Query70		34
Query71		29
Query72		32
Query73		28
Query74		40
Query75		48
Query76		28
Query77		40
Query78		36
Query79		29
Query80		120
Query81		36
Query82		28
Query83		39
Query84		26
Query85		37
Query86		28
Query87		32
Query88		46
Query89		32
Query90		28
Query91		32
Query92		35
Query93		29
Query94		65
Query95		57
Query96		27
Query97		29
Query98		25
Query99		38
All time(ms):	3799