一种调整云数据库参数的方法及装置与流程

专利2023-03-28  119



1.本发明涉及但不限于数据库技术领域,尤其涉及一种调整云数据库参数的方法及装置。


背景技术:

2.随着大数据,人工智能,物联网,云计算等新一代信息技术的发展,加速了中小企业数据、互联网技术服务上云的趋势。由此,云数据库服务的发展如火如荼,云厂商采用虚拟化、分布式、容器化等技术手段实现数据库系统云化。然而,云数据库参数配置是否合理直接影响数据库能否为客户提供正常服务,关系到应用是否正常运行。
3.现有的数据库参数优化方法,或采用基于机器学习的算法调优,或由经验丰富的数据库管理员(database administrator,dba)手动调参。其中,基于机器学习的算法调优存在过度依赖于经压测的参数数据集和机器学习算法模型的问题。而人工调优往往需要经验十分丰富的数据库管理员。同时,云厂商提供的云数据库服务存在大规模、配置差异化的显著特征,对于dba无疑也是耗时费力、重复冗余的工作,且因dba经验和技术参差不齐,配置参数的质量也存在巨大差异。
4.综上,目前亟需一种自动优化云数据库参数方法,用以帮助云厂商企业降低运维成本、提升云数据库的性能。


技术实现要素:

5.本发明提供一种调整云数据库参数的方法及装置,用以解决数据库服务仅依赖dba经验手动优化数据库配置参数存在自动化程度低、效率低、质量低的问题。
6.第一方面,本技术提供一种调整云数据库参数的方法,包括:
7.获取云数据库优化的输入参数,所述输入参数包括中央处理器cpu逻辑核数、总内存值、磁盘类型和所述云数据库应用类型中的至少一个;根据所述输入参数和预设规则调整所述云数据库管理系统配置参数。采用上述方法能够自动调整云数据库管理系统配置参数,能够帮助云厂商显著降低运维成本、增强云数据库的并发性能,高效优化云数据库管理系统配置参数。
8.在一种可能的设计中,在获取所述云数据库优化的输入参数之前,还包括:
9.下载操作系统层参数调整工具服务端和操作系统层参数调整工具客户端;
10.向所述操作系统层参数调整工具服务端输入配置文件,所述配置文件包括cpu调控器和电源参数、内核运行参数、虚拟参数和启动装载参数中的至少一种;调用所述操作系统层参数调整工具客户端应用所述配置文件。
11.采用上述设计可以实现云数据库服务进入性能模式、减少操作系统交换操作,减少将数据缓存写到磁盘(例如,后台写进程)和负责执行检查点操作的负载(例如,检查点进程)、禁用透明大页面。
12.在一种可能的设计中,所述云数据库管理系统配置参数包括如下至少一种:
13.最大连接进程数;云数据库实例层面的可用内存值;文件系统缓存值;排序操作使用的最大内存值;用于维护任务的内存值;执行检查点操作后保留未来循环使用的wal文件个数;两次执行检查点操作间wal日志可增长的最大值;指定检查点完成的目标;wal日志缓冲值;随机页面扫描代价;被执行的并发磁盘输入输出操作的数量;可启动工作进程数目;最大可用于并行进程数目;每个并行进程最大可用于并行的进程数目;每个维护进程最大可用于并行的进程数目。
14.在一种可能的设计中,所述云数据库应用类型为万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用中的任意一种。
15.第二方面,本技术提供一种调整云数据库参数的装置,包括:
16.获取单元,用于获取云数据库优化的输入参数,所述输入参数包括中央处理器cpu逻辑核数、总内存值、磁盘类型和所述云数据库应用类型中的至少一个;
17.处理单元,用于根据所述输入参数和预设规则调整所述云数据库管理系统配置参数。
18.在一种可能的设计中,处理单元,还用于在获取所述云数据库优化的输入参数之前,下载所述操作系统层参数调整工具服务端和操作系统层参数调整工具客户端;向所述操作系统层参数调整工具服务端输入配置文件,所述配置文件包括cpu调控器和电源参数、内核运行参数、虚拟参数和启动装载参数中的至少一种;调用所述操作系统层参数调整工具客户端应用所述配置文件。
19.在一种可能的设计中,所述云数据库管理系统配置参数包括如下至少一种:
20.最大连接进程数;云数据库实例层面的可用内存值;文件系统缓存值;排序操作使用的最大内存值;用于维护任务的内存值;执行检查点操作后保留未来循环使用的wal文件个数;两次执行检查点操作间wal日志可增长的最大值;指定检查点完成的目标;wal日志缓冲值;随机页面扫描代价;被执行的并发磁盘输入输出操作的数量;可启动工作进程数目;最大可用于并行进程数目;每个并行进程最大可用于并行的进程数目;每个维护进程最大可用于并行的进程数目。
21.在一种可能的设计中,所述云数据库应用类型为万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用中的任意一种。
22.第二方面中的装置所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
23.第三方面,本技术还提供一种装置。该装置可以执行上述方法设计。该装置可以是能够执行上述方法对应的功能的芯片或电路,或者是包括该芯片或电路的设备。
24.在一种可能的实现方式中,该装置包括:存储器,用于存储计算机可执行程序代码;以及处理器,处理器与存储器耦合。其中存储器所存储的程序代码包括指令,当处理器执行所述指令时,使该装置或者安装有该装置的设备执行上述任意一种可能的设计中的方法。
25.其中,该装置还可以包括通信接口,该通信接口可以是收发器,或者,如果该装置为芯片或电路,则通信接口可以是该芯片的输入/输出接口,例如输入/输出管脚等。
26.在一种可能的设计中,该装置包括相应的功能单元,分别用于实现以上方法中的步骤。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个
或多个与上述功能相对应的单元。
27.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在装置上运行时,执行上述任意一种可能的设计中的方法。
28.另外,第三方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
29.图1为本发明实施例提供的一种调整云数据库参数的方法的概述流程图;
30.图2为本发明实施例调整云数据库参数的具体流程示意图;
31.图3本发明实施例还提供一种装置;
32.图4本发明实施例还提供另一种装置。
具体实施方式
33.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅是本发明的部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
34.本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
35.本技术提供一种调整云数据库参数的方法,该方法能够帮助云厂商企业降低运维成本、显著增强云数据库的性能和并发的能力,自动且高效率地优化云数据库的参数。
36.图1示例性的示出了本发明实施例提供的一种调整云数据库参数的方法的流程。
37.如图1所示,该流程具体包括:
38.步骤100:获取云数据库优化的输入参数,输入参数包括中央处理器(central processing unit,cpu)逻辑核数、总内存值、磁盘类型和云数据库应用类型中的至少一个。
39.示例性地,在获取云数据库优化的输入参数时,查询获取预配置系统文件,调用shell命令从操作系统读取输入参数。
40.其中,磁盘类型包括固态硬盘(solid-state drive,ssd),机械硬盘(hard disk drive,hdd)。
41.总内存值可以是指随机存取存储器(random-access memory,ram)。
42.应用类型包括万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用等。此外,应用类型又可称为云数据库应用场景类型,应用类型除上述类型之外,还可能包括其他类型,本技术对此不作限定。
43.此外,在步骤100之前,还可以在操作系统层次对操作系统参数进行调整。
44.示例性地,下载操作系统层参数调整工具服务端(例如,centos/ubuntu等经典操作系统的调优工具服务端tuned)和操作系统层参数调整工具客户端(例如,centos/ubuntu
等经典操作系统的调优工具客户端tuned-adm);
45.启动操作系统层参数调整工具服务端后,向操作系统层参数调整工具服务端输入配置文件,所述配置文件包括cpu调控器和电源参数、内核运行(sysctl)参数、虚拟参数和启动装载(bootloader)参数中的至少一种;
46.例如,启动装载参数包括:cmdline=transparent_hugepage=never,调整后的启动装载参数存储至配置文件,以使得操作系统关闭透明大页。
47.例如,cpu调控器和电源参数包括:govemor=performance、energy_perf_bias=performance、min_perf_pct=100,调整后的cpu调控器和电源参数存储至配置文件,可实现cpu尽可能使用最高的时钟频率,使cpu不为了节省能源而牺牲性能,尽量让cpu跑在超出标称频率的最高频率。
48.例如,sysctl参数包括:vm.swappiness=10、vm.dirty_expire_centisecs=500、vm.dirty_writeback_centisecs=250、vm.dirty_ratio=10、vm.dirty_background_ratio=3、vm.overcommit_memory=0、net.ipv4.tcp_timestamps=0,调整后的sysctl参数存储至配置文件,能够实现定义系统使用交换空间的频率,控制索引节点实际回写的等待时间,控制周期回写进程的唤醒时间,设置脏页开始回写时的百分比,设置脏页开始后台回写时的百分比,指定内核对内存分配的策略,记录数据包的发送时间。
49.例如,vm参数包括:transparent_hugepages=never,调整后的vm参数存储至配置文件,以使得操作系统关闭透明大页。
50.进一步地,调用所述操作系统层参数调整工具客户端应用所述配置文件。采用上述设计可以实现云数据库服务进入非省电模式、减少操作系统交换减少将数据缓存写到磁盘(例如,后台写进程)和负责处理检查点的负载(例如,检查点进程)、禁用透明大页面。
51.步骤110:根据输入参数和预设规则调整云数据库管理系统配置参数。
52.在本技术实例中,根据不同的输入参数和相应的预设规则可调整不同的云数据库管理系统配置参数。在根据不同的输入参数和相应的预设规则调整不同的云数据库管理系统配置参数之前可以先查询获取云数据库优化的参数生成配置文件,例如,连接云数据库查询获取pg_settings元数据系统表中所有关于云数据库的参数名称,根据获取的参数名称,生成配置文件pg_settings-ver-bit。其中,配置文件包括的参数可以包括但不限于表1包括的参数。
53.示例性地,根据cpu逻辑核数和预设规则能够调整云数据库管理系统配置参数具体可以包括:
54.根据cpu逻辑核数和最大连接进程数(max_connections)对应的预设规则调整最大连接进程数,其中,最大连接进程数对应的预设规则为:最大连接进程数为预设数值与cpu逻辑核数的预设倍数两者之间的较大值,例如,预设数值可以为100,预设倍数可以为4,可以理解的是,预设数值为100,预设倍数为4,仅为举例,还可以为其他数值,本技术对此不做限定。若cpu逻辑核数为16,根据上述预设规则,100和64(16
×
4)中的较大值为100,则最大连接进程数调整为100。
55.根据cpu逻辑核数和可允许启动工作进程数目(max_worker_process)对应的预设规则调整可允许启动工作进程数目,其中,可允许启动工作进程数目对应的预设规则为:在cpu逻辑核数大于等于预设阈值时,可允许启动工作进程数目等于cpu逻辑核数。
56.例如,cpu逻辑核数大于等于8,则可允许启动工作进程数目为8,可以理解的是,预设阈值为8,仅为举例,还可以为其他数值,本技术对此不做限定。
57.根据cpu逻辑核数和最大可用于并行进程数目(max_parallel_workers)对应的预设规则调整最大可用于并行进程数目,其中,最大可用于并行进程数目对应的预设规则为在cpu逻辑核数大于等于预设阈值时,最大可用于并行进程数目等于cpu逻辑核数。
58.例如,cpu逻辑核数大于等于8,则最大可用于并行进程数目为cpu逻辑核数,可以理解的是,预设阈值为8,仅为举例,还可以为其他数值,本技术对此不做限定。
59.根据cpu逻辑核数和每个并行进程最大可用于并行的进程数目(max_parallel_workers_per_gather)对应的预设规则调整每个并行进程最大可用于并行的进程数目,其中,每个并行进程最大可用于并行的进程数目对应的预设规则为在cpu逻辑核数大于等于预设阈值时,每个并行进程最大可用于并行的进程数目等于cpu逻辑核数的预设比例。
60.例如,cpu逻辑核数大于等于8,则每个并行进程最大可用于并行的进程数目为cpu逻辑核数的1/2,可以理解的是,预设阈值为8,预设比例为1/2,仅为举例,还可以为其他数值,本技术对此不做限定。
61.根据cpu逻辑核数和每个维护进程最大可用于并行的进程数目(max_parallel_maintenance_workers)对应的预设规则调整每个维护进程最大可用于并行的进程数目,其中,每个维护进程最大可用于并行的进程数目对应的预设规则为在cpu逻辑核数大于等于预设阈值时,每个维护进程最大可用于并行的进程数目等于cpu逻辑核数的预设比例。
62.例如,cpu逻辑核数大于等于8,则每个维护进程最大可用于并行的进程数目为cpu逻辑核数的1/2,可以理解的是,预设阈值为8,预设比例为1/2,仅为举例,还可以为其他数值,本技术对此不做限定。
63.示例性地,以磁盘类型包括ssd和hdd为例,根据磁盘类型和预设规则能够调整云数据库管理系统配置参数可以包括但不限于如下参数:
64.根据磁盘类型和随机页面扫描代价(random_page_cost)对应的预设规则调整随机页面扫描代价,其中,随机页面扫描代价对应的预设规则为对应不同的磁盘类型,随机页面扫描代价为不同的预设数值。
65.例如,当磁盘类型为固态硬盘时随机页面扫描代价为1.1,当磁盘类型为机械硬盘时随机页面扫描代价取4,可以理解的是,当磁盘类型为固态硬盘时预设数值为1.1,当磁盘类型为机械硬盘时预设数值为4,仅为举例,还可以为其他数值,本技术对此不做限定;
66.根据磁盘类型和被执行的并发磁盘输入输出操作的数量(effective_io_concurrency)对应的预设规则调整被执行的并发磁盘输入输出操作的数量,其中被执行的并发磁盘输入输出操作的数量对应的预设规则为对应不同的磁盘类型,被执行的并发磁盘输入输出操作的数量为不同的预设数值。
67.例如,当磁盘类型为固态硬盘时被执行的并发磁盘输入输出操作的数量为200,当磁盘类型为机械硬盘时被执行的并发磁盘输入输出操作的数量为2,可以理解的是,当磁盘类型为固态硬盘时预设数值为200,当磁盘类型为机械硬盘时预设数值为2,仅为举例,还可以为其他数值,本技术对此不做限定。
68.示例性地,以总内存值,应用类型包括万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用为例,根据总内存值、应用类型和预设规则能够调整云数据库管
理系统配置参数包括:
69.根据总内存值、应用类型和云数据库实例层面的可用内存值(shared_buffers)对应的预设规则调整云数据库实例层面的可用内存值,其中,云数据库实例层面的可用内存值对应的预设规则为,对应不同的应用类型,云数据库实例层面的可用内存值为总内存值的预设比例。
70.例如,当云数据库应用类型为万维网前端系统时云数据库实例层面的可用内存值为总内存值的1/4,当应用类型为在线事务处理场景时,云数据库实例层面的可用内存值为总内存值的1/4、当应用类型为数据仓库时,云数据库实例层面的可用内存值为总内存值的1/4、当应用类型为混合场景时,云数据库实例层面的可用内存值为总内存值的1/4、当应用类型为桌面应用时,云数据库实例层面的可用内存值为总内存值的1/16,可以理解的是,上述预设比例仅为举例,还可以为其他数值,本技术对此不做限定。
71.根据总内存值、应用类型和可供操作系统和文件系统缓存值(effective_cache_size)对应的预设规则调整可供操作系统和文件系统缓存值,其中,文件系统缓存值对应的预设规则为,对应不同的应用类型,文件系统缓存值为总内存值的预设比例。
72.与上述shared_buffers的调整方式类似,此处不再赘述。
73.根据总内存值、应用类型、最大连接进程数和排序操作使用的最大内存值(work_mem)对应的预设规则调整排序操作使用的最大内存值,其中,排序操作使用的最大内存值对应的预设规则为,对应不同的应用类型,排序操作使用的最大内存值为总内存值与最大连接进程数的比值大小的预设比例。
74.例如,设最大连接进程数为c,总内存值为m,按照云数据库应用类型为万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用的顺序,相应的,排序操作使用的最大内存值分别为m/c,m/c,m/2c,m/2c,m/6c,可以理解的是,上述预设比例仅为举例,还可以为其他比例,本技术对此不做限定。
75.可以理解的是,上述排序操作还可以替换为其他一个或多个操作。
76.根据总内存值、应用类型和用于维护任务的内存值(maintence_work_mem)对应的预设规则调整用于维护任务的内存值,其中,用于维护任务的内存值对应的预设规则为:对应不同的应用类型,用于维护任务的内存值为总内存值的预设比例。如果对应的总内存值的预设比例所得的值大于预设阈值,则用于维护任务的内存值为预设数值。
77.例如,按照云数据库应用类型为万维网前端系统、在线事务处理、数据仓库、混合场景、桌面应用的顺序,相应的,用于维护任务的内存值为总内存值的1/16,1/16,1/8,1/16,1/16,如果所得最大内存数超过2gb,则最大内存数取2gb,可以理解的是,上述所列举的具体取值,仅为举例,还可以为其他数值,本技术对此不做限定。
78.根据应用类型和检查点后保留未来循环使用的预写日志(write-ahead logging,wal)文件(min_wal_size)对应的预设规则调整执行检查点操作后保留未来循环使用的wal文件个数,其中,执行检查点操作后保留未来循环使用的wal文件个数对应的预设规则为,对应不同的应用类型,执行检查点操作后保留未来循环使用的wal文件个数为预设数值。
79.例如,按照云数据库应用类型为万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用的顺序,相应的,执行检查点操作后保留未来循环使用的wal文件个数依次为1gb,2gb,4gb,100mb,1gb,可以理解的是,上述所列举的具体取值,仅为举例,还可以
为其他数值,本技术对此不做限定。
80.根据应用类型和两次执行检查点操作间wal日志可增长的最大值(max_wal_size),对应的预设规则调整两次执行检查点操作间wal日志可增长的最大值,其中,两次执行检查点间操作wal日志可增长的最大值对应的预设规则为:对应不同的应用类型,两次执行检查点操作间wal日志可增长的最大值为预设数值。
81.例如,按照云数据库应用类型为万维网前端系统、在线事务处理、数据仓库、混合场景、桌面应用的顺序,相应的,两次执行检查点操作间wal日志可增长的最大值依次为4gb,8gb,16gb,2gb,4gb,可以理解的是,上述所列举的具体取值,仅为举例,还可以为其他数值,本技术对此不做限定。
82.根据应用类型和指定检查点完成的目标(checkpoint_completion_target)对应的预设规则调整指定检查点完成的目标,其中,指定检查点完成的目标对应的预设规则为,对应不同的应用类型,指定检查点完成的目标为预设数值。
83.例如,按照云数据库应用类型为万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用的顺序,相应的,指定检查点完成的目标依次为0.7,0.9,0.9,0.9,0.5,可以理解的是,上述所列举的具体取值,仅为举例,还可以为其他数值,本技术对此不做限定。
84.根据云数据库实例层面的可用内存值和wal日志缓冲值(wal_buffers)对应的预设规则调整wal日志缓冲值,其中wal日志缓冲值对应的预设规则为,wal日志缓冲值为云数据库实例层面的可用内存值的预设比例,如果该云数据库实例层面的可用内存值的预设比例大于预设阈值,则取另一预设数值。
85.例如,wal日志缓冲值为云数据库实例层面的可用内存值的3/100,如果云数据库实例层面的可用内存值的3/100大于14mb,则存放wal数据的内存空间为16mb,可以理解的是,上述所列举的具体取值,仅为举例,还可以为其他数值,本技术对此不做限定。
86.此外,根据现有经验,还可以调整云数据库服务使用的ip地址(listen_addresses),处理1个元组的cpu成本(cpu_tuple_cost),最大线程数(autovacuum_max_workers)等影响性能的重要参数取值。
87.表1为云数据库管理系统所调整的配置参数的参数名和对应的预设规则,在表1中,序号1到15的参数可以根据经验值确定相应的取值或取值范围,具体取值举例如表1所示,可以理解的是,下表1中所应的参数的具体取值,仅为举例,还可以为其他数值,本技术对此不做限定。在表1中,序号16到30的参数的取值根据输入参数和对应的预设规则确定,各个参数对应的预设规则在上文已有详细介绍,在此不再赘述。
88.应用类型包括万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用,示例性的,按照云数据库应用类型为万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用的顺序为第一顺序。
89.表1
90.[0091][0092]
采用上述方法,针对云数据库管理系统配置参数可以根据应用类型、cpu逻辑核数、总内存值、存储类型进行自动调优,能够帮助云厂商企业降低运维成本、显著增强云数据库性能和并发的能力,实现高效且自动调整云数据库参数。
[0093]
可以理解的是,对云数据操作系统层参数调整和管理系统配置参数调整都是建立在具体的云数据库环境信息的基础上的,云数据库的环境信息可以包括但不限于以下内容:数据库的版本,cpu的逻辑核数,总内存值,磁盘的类型和大小等,例如,如表2所示,数据库的版本为postgresql-12.3,cpu的逻辑核数为16,总内存值为11gb,磁盘的类型为ssd,磁盘大小为512gb。
[0094]
表2
[0095]
数据库版本postgresql-12.3cpu逻辑核数16总内存值11gb
磁盘大小512gb磁盘类型ssd
[0096]
结合上述表2和步骤110,可以确定表1中序号16到30的参数的取值。示例性地,可以将上述参数名和相应的参数取值用字典形式进行存储,保存到配置文件中。
[0097]
图2示出了本发明实施例提供的调整云数据库参数的具体流程。
[0098]
如图2所示,该流程具体包括:
[0099]
步骤200:调整云数据库的操作系统层参数。
[0100]
示例性地,下载操作系统层参数调整工具服务端和操作系统层参数调整工具客户端,向操作系统层参数调整工具服务端输入配置文件,该配置文件包括cpu调控器和电源参数、内核运行参数、虚拟参数和启动装载参数中的至少一种,进一步,通过调用操作系统层参数调整工具客户端应用上述配置文件。
[0101]
步骤210:调整云数据库管理系统配置参数。
[0102]
具体可以参考上述步骤110的相关内容。
[0103]
步骤220:将调整后的操作系统层参数和管理系统配置参数存储至配置文件。
[0104]
本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本发明各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0105]
本发明实施例还提供一种装置300,参见图3所示,包括:处理模块310和收发模块320。
[0106]
收发模块320可以包括接收单元和发送单元。处理模块310用于对装置300的动作进行控制管理。收发模块320用于支持装置300与其他装置的通信。可选地,装置300还可以包括存储单元,所述存储单元用于存储装置300的程序代码和数据。
[0107]
可选地,所述装置300中各个模块可以是通过软件来实现。
[0108]
可选地,处理模块310可以是处理器或控制器,例如可以是通用中央处理器(central processing unit,cpu),通用处理器,数字信号处理(digital signal processing,dsp),专用集成电路(application specific integrated circuits,asic),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。收发模块320可以是通信接口、收发器或收发电路等,其中,该通信接口是统称,在具体实现中,该通信接口可以包括多个接口,存储单元可以是存储器。
[0109]
处理模块310调用收发模块320执行:
[0110]
获取云数据库优化的输入参数,所述输入参数包括cpu逻辑核数、总内存值、磁盘类型和所述云数据库应用类型中的至少一个;根据所述输入参数和预设规则调整所述云数据库管理系统配置参数。
[0111]
本发明实施例还提供另一种装置400,参见图4所示,包括:
[0112]
通信接口401,存储器402以及处理器403;
[0113]
其中,所述通信装置400通过所述通信接口401与其它设备进行通信,比如收发消息;存储器402,用于存储程序指令;处理器403,用于调用所述存储器402中存储的程序指令,按照获得的程序执行的方法。
[0114]
处理器403调用通信接口401和存储器402存储的程序指令执行:获取云数据库优化的输入参数,所述输入参数包括cpu逻辑核数、总内存值、磁盘类型和所述云数据库应用类型中的至少一个;根据所述输入参数和预设规则调整所述云数据库管理系统配置参数。
[0115]
本发明实施例中不限定上述通信接口401、存储器402以及处理器403之间的具体连接介质,比如总线,总线可以分为地址总线、数据总线、控制总线等。
[0116]
在本发明实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0117]
在本发明实施例中,存储器可以是非易失性存储器,比如机械硬盘(harddisk drive,hdd)或固态硬盘(solid-state drive,ssd)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram)。存储器还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0118]
本发明实施例还提供一种计算机可读存储介质,包括程序代码,当程序代码在计算机上运行时,程序代码用于使计算机执行上述本发明实施例上述提供的方法的步骤。
[0119]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0120]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0121]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0122]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0123]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0124]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.一种调整云数据库参数的方法,其特征在于,包括:获取云数据库优化的输入参数,所述输入参数包括中央处理器cpu逻辑核数、总内存值、磁盘类型和所述云数据库应用类型中的至少一个;根据所述输入参数和预设规则调整所述云数据库管理系统配置参数。2.如权利要求1所述的方法,其特征在于,在获取所述云数据库优化的输入参数之前,还包括:下载操作系统层参数调整工具服务端和操作系统层参数调整工具客户端;向所述操作系统层参数调整工具服务端输入配置文件,所述配置文件包括cpu调控器和电源参数、内核运行参数、虚拟参数和启动装载参数中的至少一种;调用所述操作系统层参数调整工具客户端应用所述配置文件。3.如权利要求1或2所述的方法,其特征在于,所述云数据库管理系统配置参数包括如下至少一种:最大连接进程数;云数据库实例层面的可用内存值;文件系统缓存值;排序操作使用的最大内存值;用于维护任务的内存值;执行检查点操作后保留未来循环使用的wal文件个数;两次执行检查点操作间wal日志可增长的最大值;指定检查点完成的目标;wal日志缓冲值;随机页面扫描代价;被执行的并发磁盘输入输出操作的数量;可启动工作进程数目;最大可用于并行进程数目;每个并行进程最大可用于并行的进程数目;每个维护进程最大可用于并行的进程数目。4.如权利要求1或2所述的方法,其特征在于,所述云数据库应用类型为万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用中的任意一种。5.一种调整云数据库参数的装置,其特征在于,包括:获取单元,用于获取云数据库优化的输入参数,所述输入参数包括cpu逻辑核数、总内存值、磁盘类型和所述云数据库应用类型中的至少一个;处理单元,用于根据所述输入参数和预设规则调整所述云数据库管理系统配置参数。6.如权利要求5所述的装置,其特征在于,所述处理单元,还用于在获取所述云数据库优化的输入参数之前,下载所述操作系统层参数调整工具服务端和操作系统层参数调整工具客户端;向所述操作系统层参数调整工具服务端输入配置文件,所述配置文件包括cpu调控器和电源参数、内核运行参数、虚拟参数和启动装载参数中的至少一种;调用所述操作系统层参数调整工具客户端应用所述配置文件。7.如权利要求5或6所述的装置,其特征在于,所述云数据库管理系统配置参数包括如下至少一种:最大连接进程数;云数据库实例层面的可用内存值;文件系统缓存值;排序操作使用的最大内存值;用于维护任务的内存值;执行检查点操作后保留未来循环使用的wal文件个数;两次执行检查点操作间wal日志可增长的最大值;指定检查点完成的目标;wal日志缓冲值;随机页面扫描代价;被执行的并发磁盘输入输出操作的数量;可启动工作进程数目;最大可用于并行进程数目;每个并行进程最大可用于并行的进程数目;每个维护进程最大可用于并行的进程数目。8.如权利要求5或6所述的装置,其特征在于,所述云数据库应用类型为万维网前端系统、在线事务处理场景、数据仓库、混合场景、桌面应用中的任意一种。
9.一种调整云数据库参数的装置,其特征在于,该装置包括处理器,所述处理器通过逻辑电路或执行代码指令用于实现如权利要求1至4中任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1至4中任一项所述的方法。

技术总结
本发明提供一种调整云数据库参数的方法及装置,该方法包括获取云数据库优化的输入参数,参数包括CPU逻辑核数、总内存值、磁盘类型和云数据库应用类型中的至少一个;根据输入参数和预设规则调整云数据库管理系统配置参数。采用上述方法能够帮助云厂商显著降低运维成本、增强云数据库的并发性能,高效优化云数据库管理系统配置参数。库管理系统配置参数。库管理系统配置参数。


技术研发人员:唐钰杰 苏飞 蒋伟 周国剑 曾令江 袁艺文
受保护的技术使用者:天翼云科技有限公司
技术研发日:2022.07.21
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-2074.html

最新回复(0)