检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
printStackTrace(); } } } 示例2 客户端内存占用过多解决 此示例主要使用setFetchSize来调整客户端内存使用,它的原理是通过数据库游标来分批获取服务器端数据,但它会加大网络交互,可能会损失部分性能。 由于游标事务内有效,故需要先关闭自动提交。
您可以通过集群的各项监控指标(CPU使用率、内存使用率、磁盘使用率、磁盘I/O、网络I/O等),掌握集群的性能和运行状况。当您发现监控指标存在异常时,可以通过查看集群监控指标排查出现异常的原因。具体查看方法可参考“在监控面板(DMS)查看GaussDB(DWS)集群监控”章节。
DS。 操作步骤 在使用GDS导入/导出数据前,请先参考教程:使用GDS从远端服务器导入数据中的步骤:“准备ECS作为GDS服务器”、“下载GDS工具包”。 以root用户登录待安装GDS的数据服务器,创建存放GDS工具包的目录。 mkdir -p /opt/bin/dws 将GDS工具包上传至上一步所创建的目录中。
根据节点规格在表格中查找对应的集群架构。规格说明如下所示: 表1 规格说明 节点规格 vCPU核数 内存大小(GB) 架构 规格类型 dws2.olap.4xlarge.m6 16 128 X86 ECS/存算分离EVS dws2.olap.8xlarge.m6 32 256 X86 ECS/存算分离EVS
表数据膨胀导致SQL查询慢,用户前台页面数据加载不出 集群报错内存溢出 带自定义函数的语句不下推 列存表更新失败或多次更新后出现表膨胀 列存表多次插入后出现表膨胀 往GaussDB(DWS)写数据慢,客户端数据会有积压 分析查询效率异常降低的问题 未收集统计信息导致查询性能差 执行计划
在数据倾斜情况下,查询时出现部分DN的I/O短板,从而影响整体查询性能。合理的选择分布列,并对已经创建的表,进行分布列的调整,对表查询的性能至关重要。 采用Hash分表策略之后需对表的数据进行数据倾斜性检查,以确保数据在各个DN上是均匀分布的。一般来说,不同DN的数据量相差5%以
PERFORMANCE查看告警SQL语句实际执行信息,详情请参见SQL执行计划详解。根据执行信息,如果估算内存使用(operator memory)和峰值内存(Peak Memory)均较大,比如大于max_process_memory的20%,则需要对该查询进行优化,详情请参见调优流程。 检查查
集群的内网IP。 为确保ECS与GaussDB(DWS)网络互通,GaussDB(DWS)数据仓库需要与ECS在同一个区域,同一个虚拟私有云和子网下。 表1 DWS规格 参数项 参数取值 区域 华北-北京4 可用区 可用区1 产品类型 标准数仓 节点规格 8xlarge | 32
创建弹性云服务器ECS和数据仓库GaussDB(DWS) 创建弹性云服务器ECS 创建数据仓库GaussDB(DWS) 父主题: 测试方法
查看重分布详情 在“重分布详情”页面可以查看到当前集群的重分布模式、重分布进度、数据表重分布详情等监控信息,可以对重分布进行暂停和恢复,重分布暂停状态可设置重分布优先级,修改重分布并发数等操作。 查看重分布详情功能8.1.1.200及以上集群版本支持,其中数据表重分布进度详情仅8
text 内存上下文名称。 level smallint 当前上下文在整体内存上下文中的层级。 parent text 父内存上下文名称。 totalsize bigint 当前内存上下文的内存总数,单位为Byte。 freesize bigint 当前内存上下文中已释放的内存总数,单位为Byte。
text 内存上下文名称。 level smallint 当前上下文在整体内存上下文中的层级。 parent text 父内存上下文名称。 totalsize bigint 当前内存上下文的内存总数,单位Byte。 freesize bigint 当前内存上下文中已释放的内存总数,单位Byte。
FULL操作,这种场景下需要查找出哪些表执行过UPDATE; 判断一张表是否是维度表,是否可以从Hash表变更为复制表,可以查看这张表是否执行过UPDATE或DELETE,如果执行过UPDATE或DELETE操作,则不能修改为复制表。 处理方法 通过以下命令查找哪些表执行过UPDATE及DELETE操作:
选择“监控 > 节点监控 > 概览”可查看当前集群各节点内存使用率的具体情况,如果想要查看某个节点内存的历史监控信息,可单击最右的监控按钮,查看最近1/3/12/24小时的内存使用率指标。 如果集群内存利用率偏低(例如低于50%),则可判断是大量查询的估算内存偏大导致告警,需要对相关表执行analyze操作。
在左侧导航栏选择“监控>节点监控”,切换至“磁盘”模块查看数据盘I/O使用率、磁盘I/O速率等信息。 如果磁盘I/O速率高,数据盘使用率持续上升,说明有业务在写入数据或存在复杂查询导致大量下盘,用户可结合自身业务情况进行判断。 单击左侧导航栏的“实时查询”按钮进入实时查询页面,查看当前进行的实时查询。 如果存在执行时
“工具 > SQL探针”,查看SQL探针执行情况。 在左侧导航栏选择“监控 > 性能监控”,查看CPU使用率、磁盘使用率、内存使用率等监控指标,判断是否存在业务负载高或指标异常情况。 在左侧导航栏选择“监控 > 实时查询”,查看是否存在长时间等待的查询或会话,导致集群业务无法运行
会导致资源池监控视图中的估算内存超过资源池的上限。 语句的算子分为重内存算子和非重内存算子,对于语句的内存管控是重内存算子,非重内存算子的内存开销较小;由于非重内存算子的内存开销、线程初始化的开销、表达式的开销等这些内存不做管控,会导致资源池的used_mem会在一定程度上超过mem_limit值。
能、存储空间和查询性能的影响。 在进行调优表实践之前,需要先了解表结构设计相关的内容。因为进行数据库设计时,表设计上的一些关键项将严重影响后续整库的查询性能。表设计对数据存储也有影响:好的表设计能够减少I/O操作及最小化内存使用,进而提升查询性能。 本小节介绍如何设计GaussD
mory 的值,以分配更多内存。 可用系统资源决定了内存分配量。 表2 JVM内存分配的控制参数 参数 说明 推荐取值 Xms 指定初始内存分配量,单位为MB。 该参数最小值为256 MB,最大值取决于可用的系统资源。 默认值:256 Xmx 指定内存分配量的上限,单位为MB。 该参数最小值为1024
DN最小内存使用率。 max_mem_util integer DN最大内存使用率。 min_cpu_util integer DN最小CPU使用率。 max_cpu_util integer DN最大CPU使用率。 min_io_util integer DN最小IO使用率。 max_io_util