MaxCompute适用于TB、PB和EB等各个数量级的数据查询场景,并在业界具有较大的性能优势,本文基于MaxCompute提供的公开数据集及测试工具,以大数据基准测试TPC-DS为例为您验证MaxCompute的性能。
准备工作
环境准备。
在进行TPC-DS测试前,您需要先开通MaxCompute服务并创建项目。具体操作请参见创建项目。
基于包年包月规格,开通MCQA,具体操作请参见查询加速(MCQA)。
测试工具准备。
为方便用户测试,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
测试数据集说明。
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参数,无需修改。 |
|
执行测试
在mc_tpcds_benchmark目录下执行以下命令,启动TPC-DS测试:
nohup sh pt.sh > pt.log 2>&1 &
执行成功后,在mc_tpcds_benchmark目录下自动生成pt.log日志文件,可执行以下命令查看任务详细日志:
tail -f pt.log
查看MaxCompute任务执行情况
您可在MaxCompute控制台的作业运维页面查看任务执行情况,详情请参见作业运维(新版)。
测试结果查看
任务执行成功后,在mc_tpcds_benchmark目录下自动生成测试执行结果文件console_test_result.csv,可查看本次测试执行结果,其中包含测试总耗时、每个Query执行时间及对应Logview等信息。
测试结果参考
以下为MaxCompute 64CU、128CU(包年包月规格)资源下,TPC-DS 1TB数据集性能测试结果参考:
测试项 | 测试规格 | TPC-DS测试结果(单位:秒) |
MaxCompute | 64CU | 2694.92 |
128CU | 1347.62 |
1CU=4GB 内存+1CPU Core
具体Query测试结果参考下表:
执行Query | MaxCompute:64CU | MaxCompute:128CU |
耗时(单位:秒) | 耗时(单位:秒) | |
query01 | 6.762 | 5.443 |
query02 | 14.148 | 6.897 |
query03 | 11.566 | 3.976 |
query04 | 144.66 | 69.903 |
query05 | 21.408 | 10.47 |
query06 | 13.52 | 6.612 |
query07 | 21.245 | 11.78 |
query08 | 12.265 | 7.116 |
query09 | 36.593 | 16.632 |
query10 | 8.122 | 5.32 |
query11 | 87.64 | 36.659 |
query12 | 4.832 | 3.15 |
query13 | 36.385 | 21.059 |
query14_1 | 51.514 | 23.185 |
query14_2 | 51.514 | 23.185 |
query15 | 10.798 | 5.082 |
query16 | 38.785 | 18.592 |
query17 | 62.474 | 26.586 |
query18 | 21.512 | 15.546 |
query19 | 18.07 | 8.265 |
query20 | 7.528 | 6.05 |
query21 | 4.209 | 2.487 |
query22 | 11.714 | 9.449 |
query23_1 | 108.57 | 48.22 |
query23_2 | 114.723 | 52.581 |
query24_1 | 37.552 | 19.499 |
query24_2 | 37.552 | 19.499 |
query25 | 65.682 | 27.925 |
query26 | 16.169 | 8.208 |
query27 | 21.118 | 10.624 |
query28 | 51.973 | 21.805 |
query29 | 52.938 | 23.139 |
query30 | 5.913 | 5.186 |
query31 | 22.735 | 12.598 |
query32 | 6.319 | 4.86 |
query33 | 24.736 | 12.623 |
query34 | 13.912 | 7.348 |
query35 | 22.332 | 15.09 |
query36 | 9.554 | 5.067 |
query37 | 7.521 | 4.516 |
query38 | 23.075 | 12.383 |
query39_1 | 6.392 | 5.416 |
query39_2 | 5.874 | 5.103 |
query40 | 11.921 | 7.784 |
query41 | 2.251 | 2.325 |
query42 | 9.763 | 4.153 |
query43 | 7.354 | 3.959 |
query44 | 13.956 | 5.597 |
query45 | 16.837 | 11.118 |
query46 | 18.565 | 9.506 |
query47 | 24.091 | 11.06 |
query48 | 34.251 | 16.782 |
query49 | 18.269 | 9.803 |
query50 | 38.274 | 15.834 |
query51 | 15.488 | 8.011 |
query52 | 9.671 | 4.767 |
query53 | 11.719 | 9.567 |
query54 | 22.255 | 12.879 |
query55 | 9.625 | 6.552 |
query56 | 28.238 | 13.62 |
query57 | 14.05 | 7.098 |
query58 | 15.003 | 7.153 |
query59 | 17.664 | 10.237 |
query60 | 22.724 | 11.404 |
query61 | 25.064 | 15.224 |
query62 | 6.247 | 3.723 |
query63 | 11.569 | 6.753 |
query64 | 65.078 | 30.954 |
query65 | 24.433 | 13.206 |
query66 | 14.68 | 6.369 |
query67 | 177.557 | 87.298 |
query68 | 21.597 | 14.711 |
query69 | 9.36 | 4.694 |
query70 | 12.77 | 6.85 |
query71 | 24.038 | 9.816 |
query72 | 40.065 | 20.605 |
query73 | 12.876 | 5.305 |
query74 | 63.063 | 24.245 |
query75 | 62.983 | 27.108 |
query76 | 18.532 | 11.337 |
query77 | 10.406 | 6.047 |
query78 | 60.976 | 25.741 |
query79 | 23.916 | 14.605 |
query80 | 32.804 | 14.048 |
query81 | 7.194 | 7.519 |
query82 | 14.972 | 6.258 |
query83 | 4.644 | 3.897 |
query84 | 4.722 | 3.57 |
query85 | 11.669 | 7.434 |
query86 | 4.219 | 3.083 |
query87 | 25.945 | 11.291 |
query88 | 18.668 | 8.806 |
query89 | 16.146 | 6.265 |
query90 | 4.522 | 3.099 |
query91 | 4.093 | 3.663 |
query92 | 4.766 | 2.895 |
query93 | 38.735 | 16.587 |
query94 | 22.634 | 13.693 |
query95 | 29.991 | 17.616 |
query96 | 10.929 | 8.17 |
query97 | 23.508 | 10.563 |
query98 | 6.518 | 4.003 |
query99 | 9.157 | 6.229 |
总计 | 2694.919 | 1347.623 |