tencent cloud

文档反馈

测试方案介绍

最后更新时间:2024-07-31 09:19:34
    本文为您介绍如何使用 Star Schema 数据集对腾讯云数据仓库 TCHouse-D 进行性能测试,给出数据导入及性能测试的参考方案。

    关于 SSB 性能测试

    SSB(Star Schema Benchmark)是一个轻量级的数仓场景下的性能测试集。SSB 基于TPC-H 提供了一个简化版的星型模型数据集,主要用于测试在星型模型下,多表关联查询的性能表现。另外,业界内通常也会将 SSB 打平为宽表模型(以下简称:SSB FLAT),来测试查询引擎的性能。

    测试方案介绍

    测试环境准备

    硬件环境

    在本文给出的参考方案中,所测试的集群包含 FE 1台、BE 3台 , FE/BE 节点进程均为单独部署,具体规格如下所示。需要特别说明的是,实际测试中不会消耗如此多的硬件资源。
    节点类型
    节点规格
    FE 1台 标准型
    CPU:4 cores
    内存:16 GB
    磁盘:增强型 SSD 云硬盘200 GB
    BE 3台 标准型
    CPU:16 cores
    内存:64 GB
    磁盘:增强型 SSD 云硬盘1000 GB

    软件版本

    腾讯云数据仓库 TChouse-D 1.2.7

    测试脚本准备

    工具包地址下载 SSB 工具包并编译

    测试 SSB 数据集

    生成数据集

    sh bin/gen-ssb-data.sh -s 100 -c 100
    
    277M /data/ssb-tools/bin/ssb-data//customer.tbl
    228K /data/ssb-tools/bin/ssb-data//date.tbl
    5.9G /data/ssb-tools/bin/ssb-data//lineorder.tbl.1
    7.7G /data/ssb-tools/bin/ssb-data//lineorder.tbl.10
    7.6G /data/ssb-tools/bin/ssb-data//lineorder.tbl.2
    7.2G /data/ssb-tools/bin/ssb-data//lineorder.tbl.3
    6.0G /data/ssb-tools/bin/ssb-data//lineorder.tbl.4
    6.0G /data/ssb-tools/bin/ssb-data//lineorder.tbl.5
    6.0G /data/ssb-tools/bin/ssb-data//lineorder.tbl.6
    6.0G /data/ssb-tools/bin/ssb-data//lineorder.tbl.7
    7.4G /data/ssb-tools/bin/ssb-data//lineorder.tbl.8
    7.5G /data/ssb-tools/bin/ssb-data//lineorder.tbl.9
    116M /data/ssb-tools/bin/ssb-data//part.tbl
    17M /data/ssb-tools/bin/ssb-data//supplier.tbl
    在 -s 100 参数下,生成的数据集大小为:
    SSB 表名
    行数
    备注
    LINEORDER
    600,037,902
    商品订单明细表
    CUSTOMER
    3,000,000
    客户信息表
    PART
    1,400,000
    零件信息表
    SUPPLIER
    200,000
    供应商信息表
    DATE
    2,556
    日期表

    建表

    修改 doris-cluster.conf 配置文件 vim conf/doris-cluster.conf。
    修改配置:FE_HOST、PASSWORD、DB。
    # cat doris-cluster.conf
    
    # Any of FE host
    export FE_HOST='127.0.0.1'
    # http_port in fe.conf
    export FE_HTTP_PORT=8030
    # query_port in fe.conf
    export FE_QUERY_PORT=9030
    # Doris username
    export USER='root'
    # Doris password
    export PASSWORD=''
    # The database where SSB tables located
    export DB='ssb_100g'
    # The scale of testing data
    export SCALE='100g' # only support '100g' or '1t'
    建表:
    sh bin/create-ssb-tables.sh

    导入数据

    sh bin/load-ssb-data.sh

    检查导入数据

    selectcount(*)from part;
    selectcount(*)from customer;
    selectcount(*)from supplier;
    selectcount(*)fromdate;
    selectcount(*)from lineorder;
    selectcount(*)from lineorder_flat;
    数据量应和生成数据的行数一致。

    查询

    查询 SSB 表
    # sh bin/run-ssb-queries.sh
    q1.1: 46
    q1.2: 29
    q1.3: 26
    q2.1: 340
    q2.2: 273
    q2.3: 257
    q3.1: 542
    q3.2: 237
    q3.3: 297
    q3.4: 57
    q4.1: 732
    q4.2: 372
    q4.3: 483
    total time: 3691 ms
    查询 FLAT 表
    # sh bin/run-ssb-flat-queries.sh
    q1.1: 26
    q1.2: 10
    q1.3: 35
    q2.1: 85
    q2.2: 83
    q2.3: 60
    q3.1: 157
    q3.2: 78
    q3.3: 75
    q3.4: 13
    q4.1: 131
    q4.2: 49
    q4.3: 33
    total time: 835 ms
    由此,即完成了 SSB 数据生成、建表、导入和查询。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持