【技术实现步骤摘要】
本专利技术属于数据库,尤其涉及一种对数据库所有进程进行资源隔离的方法。
技术介绍
1、在私有云的环境下,如果同时在物理机上创建多个数据库服务,比如postgresql,可能会存在资源分配不均衡的情况。例如某一个postgresql服务进行大量的业务操作,占用大量的cpu和内存,此时,可能会影响另外的postgresql服务。目前的常规操作是利用cgroup来做资源限制,但是postgresql数据库有比较多的进程,如何能够精准地把属于同一个postgresql服务的所有进程都限制在同一个控制组中?目前的常规做法是在高可用组件agent中定时地探测postgresql服务的postmaster进程,如果postmaster进程的进程标识符pid发生变化说明postgresql数据库已经停止,然后又重新启动了,就将新的postmaster进程pid加入到控制组中,cgroup会自动地将不存在的进程pid从控制组中删除。cgroup还有一个机制,它会自动地将一个已加入到控制组中的进程之后fork的儿子进程也加入到同一个控制组中,但是该进程加入
...【技术保护点】
1.一种对数据库所有进程进行资源隔离的方法,其特征在于,包括:
2.根据权利要求1所述的对数据库所有进程进行资源隔离的方法,其特征在于,所述创建cgroup控制组并为所述cgroup控制组配置参数的过程包括:
3.根据权利要求1所述的对数据库所有进程进行资源隔离的方法,其特征在于,通过修改源代码在postgres程序启动之前,获取postmaster进程的pid的过程包括:
4.根据权利要求3所述的对数据库所有进程进行资源隔离的方法,其特征在于,所述在父进程pg_ctl fork出子进程postmaster后,启动postgres程
...【技术特征摘要】
1.一种对数据库所有进程进行资源隔离的方法,其特征在于,包括:
2.根据权利要求1所述的对数据库所有进程进行资源隔离的方法,其特征在于,所述创建cgroup控制组并为所述cgroup控制组配置参数的过程包括:
3.根据权利要求1所述的对数据库所有进程进行资源隔离的方法,其特征在于,通过修改源代码在postgres程序启动之前,获取postmaster进程的pid的过程包括:
4.根据权利要求3所述的对数据库所有进程进行资源隔离的方法,其特征在于,所述在父进程pg_ctl fork出子进程postmaster后,启动postgres程序之前,获取postgres程序的进程pid的过程包括:
5.根据权利要求3所述的对数据库所有进程进行资源隔离的方法,其特征在于,所述父进程pg_ctl fork出子进程postmaster的过程包括:
6.根据权利要求1所述的对数据...
【专利技术属性】
技术研发人员:吴秋国,唐钰杰,杨焕填,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。