TPC-DS性能测试

MaxCompute适用于TB、PB和EB等各个数量级的数据查询场景,并在业界具有较大的性能优势,本文基于MaxCompute提供的公开数据集及测试工具,以大数据基准测试TPC-DS为例为您验证MaxCompute的性能。

准备工作

  1. 环境准备。

    • 在进行TPC-DS测试前,您需要先开通MaxCompute服务并创建项目。具体操作请参见创建项目

    • 基于包年包月规格,开通MCQA,具体操作请参见查询加速(MCQA)

  2. 测试工具准备。

    为方便用户测试,MaxCompute提供了TPC-DS性能自动化测试工具,可帮助您快速完成TPC-DS测试并自动生成测试结果。

    重要

    目前测试工具仅支持在Linux环境使用,且需要安装1.7及以上版本的JDK。

    单击TPC-DS性能测试工具下载工具包附件,并在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文件,需要修改的配置项及说明如下:

配置项

说明

取值

ODPS_CLT_CMD

MaxCompute客户端可执行文件的绝对路径。

本工具包内提供的客户端在工作目录下的odps_clt,请修改对应配置,可参见安装并配置MaxCompute客户端

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

PROJECT

测试使用的MaxCompute Project。

例如:tpcds_test

SF

测试TPC-DS的数据规模。

单位是GB,1表示1GB,1000表示1T,可根据测试需求进行修改。

默认1000

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超时时间。

执行测试

在mc_tpcds_benchmark目录下执行以下命令,启动TPC-DS测试:

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

执行成功后,在mc_tpcds_benchmark目录下自动生成pt.log日志文件,可执行以下命令查看任务详细日志:

tail -f pt.log

查看MaxCompute任务执行情况

您可在MaxCompute控制台的作业运维页面查看任务执行情况,详情请参见作业运维image.png

测试结果查看

任务执行成功后,在mc_tpcds_benchmark目录下自动生成测试执行结果文件console_test_result.csv,可查看本次测试执行结果,其中包含测试总耗时、每个Query执行时间及对应Logview等信息。