GaussDB(DWS)负载管理核心技术解密四: 工作负载计划解密

网友投稿 539 2022-05-28

工作负载计划的需求来源于客户,客户有多种业务,期望每个时间段的主导业务能分配更多的资源,以支撑业务更好的运行。客户明确希望我们能够提供一种提前配置好各个时间段各个队列的资源配比,到点自动切换各队列资源配比或根据实际情况手动切换的功能,并能够导入导出这种配置以便测试环境测好的配置可以应用到生产环境或者其他集群环境。

工作负载计划是多个工作负载队列的自由组合,通过配置负载队列来配置资源池保证系统资源的可控。配置资源池之后能强制用户 发送的请求所消耗的CPU,内存不能超过限制,限制了资源使用量,隔离了失控查询对系统的影响,我们资源管理在一个多用户 高并发的环境控制不同的工作负载对内存CPU 磁盘空间作业个数,使得系统能得到可预测性的控制和保证,减少资源抢占引起的超时等待,防止资源耗尽,资源使用更合理。

内存方面:集群有一个CN会作为中心协调节点(CCN),用于收集和调度作业执行。查询语句到不同的CN之后,由优化器估算作业大小,由CCN进行控制作业释放下发,以及何时唤醒需要运行的作业。设置工作负载队列内存大小,来限制所消耗内存可以保证用户使用不超过负载管理的限制;另外由于linux系统会保护一些系统进程而将其他进程kill 释放资源,这是操作系统的OOM机制,我们负载管理可以自动控制作业使用的内存,保证数据库避免OOM,保护数据库集群可以正常运行;

GaussDB(DWS)负载管理核心技术解密四: 工作负载计划解密

CPU方面:管控在一个机器上运行多个可能消耗大量资源的程序我们不希望出现某个程序占据了所有的资源导致程序无法正常运行,或者造成系统假死无法维护。在这里我们使用了原生的Cgroup的机制。负载管理提供了一种可以按照权重比率弹性分配CPU时间资源的手段:CPU繁忙的时候保证每个资源池的作业能拿到相对设置CPU大小比例的CPU,CPU空闲时保证CPU的利用率到100%,并且保证CPU的资源隔离;

磁盘管控方面:通过限制用户的使用空间大小来保证集群用户作业的可执行性,执行作业超过空间设置,会取消作业,并且程序会定期对用户空间进行修正,保证页面拿到的用户监控使用磁盘空间大小的准确;

工作负载计划基于工作负载队列对数据仓库作业进行管控,可以让有更好的客户体验,可以灵活定制业务的资源如何去管控 ,实现系统负载的均衡,避免业务争取资源,实现所有作业的和谐共处,达到资源利用最优;

EI企业智能 Gauss AP 数据仓库服务 GaussDB(DWS)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Android之手机文件夹目录详解
下一篇:张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(11)番外:TF卡扩容
相关文章