开发者指南-性能调优
性能调优总体调优思路GaussDB200的总体性能调优思路为性能瓶颈点分析、关键参数调整以及SQL调优。在调优过程中,通过系统资源、吞吐量、负载等因素来帮助定位和分析性能问题,使系统性能达到可接受的范围。确定性能调优范围系统调优指南SQL调优指南实际调优案例
资源监控-历史TopSQL
系统提供了query级别和算子级别的资源监控历史视图用例查询历史TopSQL。资源监控历史视图记录了查询作业运行结束时的资源使用情况(包括内存、下盘、CPU时间、IO等)和运行状态信息(包括报错、终止、异常等)以及性能告警信息。但对于由于FATAL、PANIC错误导致查询异常结束时,状态信息列只显示
资源监控-实时TopSQL
系统提供了query级别和算子级别的资源监控实时视图用来查询实时TopSQL。资源监控实时视图记录了查询作业运行时的资源使用情况(包括内存、下盘、CPU时间、IO等)以及性能告警信息。实时视图具体的对外接口如下表所示:表1资源监控实时视图视图级别节点范围查询视图Query级别当前CNgs_wlm_s
资源监控-内存资源监控
内存监控GaussDB200提供了监控当前CN实例内存使用状态的视图及监控整个集群内存使用状态的视图:以操作系统用户omm登录CN所在主机,执行source${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。使用如下命令连接数据库。gsql-dpostgre
资源负载管理-资源监控
资源监控GaussDB200为用户提供了多维度的资源监控视图。可以查看作业的实时资源记录和历史资源记录。内存资源监控实时TopSQL历史TopSQL
优先级控制-IO优先级
背景信息通过IO资源管理设置了使用上限,系统还支持对IO的优先级进行限制。在磁盘使用率达到90以上时,会触发IO优先级模式,优先级通过io_priority指定。io_priority提供三种优先级,分别是High、Medium及Low,分别对应限制iops为重消耗IO作业原始触发数值的80%、50
优先级控制-CPU优先级
背景信息通过负载管理(队列控制)设置了全局和局部并发控制之后,当执行的并发任务数超过该设置的并发数之后,新的任务会进入到等待队列中。队列按照先进先出的原则排队执行。资源负载管理开启模式下等待队列的机制如图1所示:图1负载管理等待队列的机制表1负载管理等待队列的调度机制并发受限制类型调度执行机制对于受
负载管理(队列控制)-动态负载管理
背景信息动态负载管理指数据库内部根据用户负载情况,自动对复杂查询进行队列控制,不再需要手动设置参数,做到系统参数免调优。前提条件动态负载管理功能不能在加速集群场景下使用,需要设置enable_acceleration_cluster_wlm的取值为off。gs_gucset-Zcoordinator
负载管理(队列控制)-静态负载管理
背景信息通过设置参数进行的并发管理称为静态负载管理。前提条件已熟悉ALTERRESOURCEPOOL语法的使用。动态负载功能已关闭,即enable_dynamic_workload的取值设置为off。操作步骤使用gsql连接数据库。通过修改资源池“resource_pool_a1”的MEM_PERC
资源负载管理-负载管理(队列控制)
为了防止并发过多时,系统负载过大时因资源竞争而导致的业务性能下降,需要通过并发管理来限制集群和资源池的并发量,保证重点业务的运行。系统支持的并发控制如表1所示。表1并发控制类型并发控制类型说明全局并发控制通过设置系统级别的GUC参数“max_active_statements”,可以对数据库的全局并
租户管理-用户资源实时查询
背景信息在多租户管理的框架下,用户可以实时查询所有用户资源(包括内存,cpu核数,存储空间和IO)使用情况。操作步骤查询所有用户的资源限额和资源使用情况。SELECT*FROMPG_TOTAL_USER_RESOURCE_INFO;得到的结果视图如下:username|used_memory|tot
租户管理-异常处理(查询规则)
背景信息GaussDB200支持对异常的作业执行终止或者降级操作。系统通过设置控制组参数来进行异常处理。异常阈值如表1中所示。表1异常阈值类型异常阈值类型说明取值范围(0表示取消设置)支持的异常操作blocktime作业的阻塞时间,单位秒。包括全局并发排队以及局部并发排队的总时间。0~UINT_MA
租户管理-存储资源管理
背景信息存储资源管理在多租户场景下用于限定不同用户可以使用的空间配额,防止用户使用存储空间过大导致业务执行受阻。GaussDB200通过在创建用户时指定存储空间的大小实现对存储资源的管理。存储空间管理支持对组用户和业务用户的存储空间管理,当业务用户对应的组用户存在空间限制时,则业务用户的空间也受到该
计算资源管理-IO资源管理
背景信息系统支持对IO资源的使用上限进行限制。IO资源上限限制类型如表1所示。表1IO资源上限限制类型IO资源上限限制方式说明资源池级别IO资源上限限制通过设置资源池的参数“io_limits”,可以对用户级别的IO资源上限进行限制。作业级别IO资源上限限制通过设置GUC参数“io_limits”,
计算资源管理-内存资源管理
背景信息内存是GaussDB200运行的一个关键资源,如果能够有效利用,可以提升业务查询性能。系统支持对内存资源的管理类型如表1所示。表1内存资源管理类型内存管理方式说明实例级别的内存管理通过设置系统级别的GUC参数“max_process_memory”,可以对数据库实例的最大可用物理内存进行管理
计算资源管理-CPU资源管理
背景信息在设置控制组章节已经通过Cgroup设置了资源配额,此设置限制了同级控制组都有作业时CPU最大可使用配额。此时下层控制组百分之百占用上层控制组的CPU核资源,未进行CPU核资源的隔离。系统还支持通过更新控制组信息指定可以使用的CPU核资源。支持对Gaussdb、Class控制组、Worklo
租户管理-用户层级管理
背景信息GaussDB200通过创建用户来使用数据库系统和执行业务。多租户引入两级用户机制,分别是组用户和业务用户。两级用户分别关联不同的资源池和存储空间,实现多租户下资源分组管理。表1各类用户的特点用户分类说明组用户(多租户场景)关联组资源池,不作为执行作业的用户使用。说明:组用户不建议关联作业,
资源负载管理-租户管理
租户管理用户层级管理计算资源管理存储资源管理异常处理(查询规则)用户资源实时查询
资源管理准备-创建资源池
背景信息GaussDB200支持通过创建资源池对主机资源进行划分。开启资源负载管理之后,仅使用默认资源池并不能满足业务对资源负载管理的诉求,必须根据需要创建新的资源池,对系统资源进行重分配,来满足实际业务对系统资源精细管理的需要。多租户场景通过两级资源池(组资源池和业务资源池)进行资源管理。各类型资
资源管理准备-设置控制组
背景信息GaussDB200资源负载管理的核心是资源池,而配置资源池首先要在环境中实现控制组Cgroups的设置。更多Cgroups的原理介绍,请查看相关操作系统的产品手册。GaussDB200的控制组请参考查看控制组的信息。Class控制组为数据库业务运行所在的顶层控制组,集群部署时会自动生成默认