正在生成
详细信息:
检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
数据生成 下载ssb工具包并编译。 git clone http://github.com/vadimtk/ssb-dbgen.git cd ssb-dbgen && make 生成数据。 文件生成路径最好符合安装和启动GDS中SSB所使用的路径,否则需要修改安装和启动GDS中GDS的启动路径。
查询测试 您可以通过命令生成方法生成TPC-DS测试集,也可以直接通过脚本生成方法生成,另我们已经给出前面20个的TPC-DS测试集供您参考。 命令生成方法 TPC-DS标准99个SQL查询语句可用如下方法生成: 准备工作。生成TPC-DS查询语句前需要修改query_templates目录下的文件:
测试数据 表1 TPC-H测试数据 序号 表名 行数 表大小 1 region 5 294KB 2 nation 25 298KB 3 supplier 10,000,000 1020MB 4 customer 150,000,000 8226MB 5 part 200,000,000
测试数据 表1 TPC-DS测试数据 序号 表名 行数 表大小 1 customer_address 6,000,000 126MB 2 customer_demographics 1,920,800 11MB 3 date_dim 73,049 11MB 4 warehouse
建表 连接DWS数据库后执行以下命令创建目标表。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
导入数据 创建GDS外表 连接DWS数据库后执行以下SQL语句。 以下每个外表的“gsfs://192.168.0.90:500x/xxx | gsfs://192.168.0.90:500x/xxx”中的IP地址和端口,请替换成安装和启动GDS中的对应的GDS的监听IP和端口。
建表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
8xlarge 32U 256G SSD云盘 6400GB 596.90s 8.1.3 3 测试结果 如下为scale=1000的TPC-H的性能测试结果,查询执行时间以秒(s)为单位。 表2 TPC-H 1000X测试结果 编号 TPC-H查询 测试结果(s) 1 Q1 22.15 2
8xlarge 32U 256G SSD云盘 6400GB 1545.93s 8.1.3 3 测试结果 如下为scale=1000的TPC-DS的性能测试结果,查询执行时间以秒(s)为单位。 表2 TPC-DS 1000X测试结果 编号 TPC-DS查询 测试结果(s) 1 Q1 1.46
性能总览 在9.1.0版本,我们实现了很多性能优化特性,提升整体开箱的SQL查询性能。以TPC-H、TPC-DS 1TB作为性能测试对比的基准,重点对比最新9.1.0版本与8.3.0版本的性能提升。集群规模为6节点,其中各节点的规格为16U 64G,累计96U 384G。从以下测试结果可以看到:
概述 目的 GaussDB(DWS)是云端托管的PB级高并发实时数据仓库,专注于服务OLAP领域,提供按量付费和包年包月两种付费方式。 本次性能测试基于华为云基础环境,分别在同等硬件配置和同等数据规模下,基于TPC-H、TPC-DS标准测试集,对DWS 9.1.0版本和8.3.0版本
概述 本性能测试基于TPC-H和TPC-DS标准测试集进行测试。 TPC-H TPC-H由国际事务处理性能委员会(Transaction Processing Performance Council)制定发布,用于评测数据库的分析查询能力。TPC-H查询包含8张数据表和22条复杂
案例:使排序下推 在做场景性能测试时,发现某场景大部分时间是CN端在做window agg,占到总执行时间95%以上,系统资源不能充分利用。研究发现该场景的特点是:将两列分别求sum作为一个子查询,外层对两列的和再求和后做trunc,然后排序。可以尝试将语句改写为子查询,使排序下推。
分析作业是否被阻塞 数据库系统运行时,在某些业务场景下查询语句会被阻塞,导致语句运行时间过长,可以强制结束有问题的会话。 操作步骤 查看阻塞的查询语句及阻塞查询的表、模式信息。 1 2 3 4 5 6 7 8 9 10 11 SELECT w.query as waiting_query
案例:增加JOIN列非空条件 若Join列上的NULL值较多,可以加上is not null过滤条件,以实现数据的提前过滤,提高Join效率。 优化前 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
安装和启动GDS 安装和启动GDS 登录GaussDB(DWS)管理控制台。 在左侧导航栏中,单击“连接客户端”。 在 “gsql 命令行客户端”的下拉列表中,选择对应版本的GaussDB(DWS)客户端。 请根据集群版本和安装客户端的操作系统,选择对应版本。 客户端CPU架构要
为什么GaussDB(DWS)使用一段时间后执行SQL很慢? 数据库在使用一段时间后,随着业务的增加使得表数据增加,或者对表数据经常进行增、删、改之后,引发数据膨胀和统计信息不准造成性能下降。 建议对于频繁增、删、改的表,定期执行vacuum full和analyze操作。操作步骤如下:
使用EXPLAIN命令查看SQL执行计划,根据执行计划判断是否需要进行SQL调优。 分析查询是否被阻塞,导致语句运行时间过长,可以强制结束有问题的会话。 审视和修改表定义。选择合适的分布列,避免数据倾斜。 分析SQL语句是否使用了不下推的函数,建议更换为支持下推的语法或函数。 对表定期执行VACUUM
创建和管理GaussDB(DWS)索引 索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。所以是否要为表增加索引,索引建立在哪些字段上,是创建索引前必须要考虑的问题。需要分析应用程序的业务处理、数据使用、经常被用作查询的条件或者被要求排序的字段来确定是否建立索引。 索引类型 btree:B-t
创建和管理索引 索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。所以是否要为表增加索引,索引建立在哪些字段上,是创建索引前必须要考虑的问题。需要分析应用程序的业务处理、数据使用、经常被用作查询的条件或者被要求排序的字段来确定是否建立索引。 索引类型 btree:B-t