openGauss学习笔记-136 openGauss 数据库运维-例行维护-检查数据库性能

news2024/11/15 10:00:16

文章目录

    • openGauss学习笔记-136 openGauss 数据库运维-例行维护-检查数据库性能
      • 136.1 检查办法
      • 136.2 异常处理

openGauss学习笔记-136 openGauss 数据库运维-例行维护-检查数据库性能

136.1 检查办法

通过openGauss提供的性能统计工具gs_checkperf可以对硬件性能进行检查。

前提条件

  • openGauss运行状态正常。
  • 运行在数据库之上的业务运行正常。

操作步骤

  1. 以操作系统用户omm登录数据库主节点。

  2. 执行如下命令对openGauss数据库进行性能检查。

    gs_checkperf
    

具体的性能统计项目请参见《工具与命令参考》中“服务端工具 > gs_checkperf > 性能检查项”。

示例

以简要格式在屏幕上显示性能统计结果。

gs_checkperf -i pmk -U omm
Cluster statistics information:
    Host CPU busy time ratio                     :    1.43       %
    MPPDB CPU time % in busy time                :    1.88       %
    Shared Buffer Hit ratio                      :    99.96      %
    In-memory sort ratio                         :    100.00     %
    Physical Reads                               :    4
    Physical Writes                              :    25
    DB size                                      :    70         MB
    Total Physical writes                        :    25
    Active SQL count                             :    2
    Session count                                :    3

136.2 异常处理

使用gs_checkperf工具检查openGauss性能状态后,如果发现检查结果发现异常,可以根据以下内容进行修复。

表 2 检查openGauss级别性能状态

异常状态处理方法
主机CPU占有率高1、更换和增加高性能的CPU。2、使用top命令查看系统哪些进程的CPU占有率高,然后使用kill命令关闭没有使用的进程。top
openGauss CPU占有率高1、更换和增加高性能的CPU。2、使用top命令查看数据库哪些进程的CPU占有率高,然后使用kill命令关闭没有使用的进程。top3、使用gs_expand工具扩容,增加新的主机均衡CPU占有率。
共享内存命中率低1、扩大内存。2、使用如下命令查看操作系统配置文件/etc/sysctl.conf,调大共享内存kernel.shmmax值。vim /etc/sysctl.conf
内存中排序比率低扩大内存。
I/O、磁盘使用率高1、更换高性能的磁盘。2、调整数据布局,尽量将I/O请求较合理的分配到所有物理磁盘中。3、全库进行VACUUM FULL操作。vacuum full;4、进行磁盘整理,参考上面执行全库vacuum full或针对性做单表vacuum/vacuum full操作。5、降低并发数。
事务统计查询pg_stat_activity系统表,将不必要的连接断开。(登录数据库后查询:openGauss=# \d+ pg_stat_activity;)

表 3 检查节点级别性能状态

异常状态处理方法
CPU占有率高1、更换和增加高性能的CPU。2、使用top命令查看系统哪些进程的CPU占有率高,然后使用kill命令关闭没有使用的进程。top
内存使用率过高情况扩大或清理内存。
I/O使用率过高情况1、更换高性能的磁盘。2、进行磁盘清理。3、尽可能用内存的读写代替直接磁盘I/O,使频繁访问的文件或数据放入内存中进行操作处理。

表 4 会话/进程级别性能状态

异常状态处理方法
CPU、内存、I/O使用率过高情况查看哪个进程占用CPU/内存高或I/O使用率高,若是无用的进程,则kill掉,否则排查具体原因。例如SQL执行占用内存大,查看是否SQL语句需要优化。

表 5 SSD性能状态

异常状态处理方法
SSD读写性能故障使用以下命令查看SSD是否有故障,排查具体故障原因。gs_checkperf -i SSD -U omm

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1273166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单词拆分 II

题目链接 单词拆分 II 题目描述 注意点 s 和 wordDict[i] 仅有小写英文字母组成wordDict 中所有字符串都 不同词典中的同一个单词可能在分段中被重复使用多次以任意顺序 返回所有这些可能的句子 解答思路 使用深度优先遍历回溯解决本题,每一层从idx开始遍历s&a…

OSG编程指南<十六>:OSG渲染到纹理RTT及三维纹理体渲染技术简介

1、渲染到纹理(RTT) 1.1 RTT介绍 RTT(Render to Texture)即渲染到纹理。在普通的图形渲染流程中,最终结果是渲染到帧缓存中,然后才会显示到屏幕上。而RTT则是将场景渲染到一张纹理上,并且在之后…

知识蒸馏代码实现(以MNIST手写数字体为例,自定义MLP网络做为教师和学生网络)

dataloader_tools.py import torchvision from torchvision import transforms from torch.utils.data import DataLoaderdef load_data():# 载入MNIST训练集train_dataset torchvision.datasets.MNIST(root "../datasets/",trainTrue,transformtransforms.ToTens…

Unity 注释的方法

1、单行注释:使用双斜线(//)开始注释,后面跟注释内容。通常注释一个属性或者方法,如: //速度 public float Speed;//打印输出 private void DoSomething() {Debug.Log("运行了我"); } …

老师旁听公开课到底听什么

经常参加公开课是老师提升自己教学水平的一种方式。那么,在旁听公开课时,老师应该听什么呢? 听课堂氛围 一堂好的公开课,应该能够让学生积极参与,课堂气氛活跃,而不是老师一个人唱独角戏。如果老师能够引导…

第16关 革新云计算:如何利用弹性容器与托管K8S实现极速服务POD扩缩容

------> 课程视频同步分享在今日头条和B站 天下武功,唯快不破! 大家好,我是博哥爱运维。这节课给大家讲下云平台的弹性容器实例怎么结合其托管K8S,使用混合服务架构,带来极致扩缩容快感。 下面是全球主流云平台弹…

Windows系列:windows2003-建立域

windows2003-建立域 Active Directory建立DNS建立域查看日志xp 加入域 Active Directory 活动目录是一个包括文件、打印机、应用程序、服务器、域、用户账户等对象的数据库。 常见概念:对象、属性、容器 域组件(Domain Component,DC&#x…

java操作windows系统功能案例(二)

1、打印指定文件 可以使用Java提供的Runtime类和Process类来打印指定文件。以下是一个示例代码: import java.io.File; import java.io.IOException;public class PrintFile {public static void main(String[] args) {if (args.length ! 1) {System.out.println(…

C# Onnx 百度飞桨开源PP-YOLOE-Plus目标检测

目录 效果 模型信息 项目 代码 下载 C# Onnx 百度飞桨开源PP-YOLOE-Plus目标检测 效果 模型信息 Inputs ------------------------- name:image tensor:Float[1, 3, 640, 640] name:scale_factor tensor:Float[1, 2] ----…

HuggingFace学习笔记--Model的使用

1--Model介绍 Transformer的 model 一般可以分为:编码器类型(自编码)、解码器类型(自回归)和编码器解码器类型(序列到序列); Model Head(任务头)是在base模型…

Windows11如何让桌面图标的箭头消失(去掉快捷键箭头)

在Windows 11中,桌面图标的箭头是快捷方式图标的一个标志,用来表示该图标是一个指向文件、文件夹或程序的快捷方式。如果要隐藏这些箭头,你需要修改Windows注册表或使用第三方软件。 在此之前,我需要提醒你,修改注册表…

【unity实战】如何更加规范的创建各种Rogue-Lite(肉鸽)风格的物品和BUFF效果(附项目源码)

文章目录 前言定义基类实现不同的BUFF效果一、回血BUFF1. 简单的回血效果实现2. BUFF层数控制回血量 二、攻击附带火焰伤害三、治疗领域1. 简单的治疗领域实现2. 添加技能冷却时间 通过拾取物品获取对应的BUFF参考源码完结 前言 当创建各种Rogue-Lite(肉鸽&#xf…

VS2022使用Vim按键

VS2022使用Vim按键 在插件管理里面搜索VsVim 点击安装,重启VS 工具->选项->VsVim 配置按键由谁处理,建议Ctrl C之类常用的使用VS处理,其它使用Vim处理

shell编程系列(7)-使用wc进行文本统计

文章目录 前言wc命令的使用wc命令的参数说明:统计字数统计行数打印文本行号 结语 前言 统计功能也是我们在shell编程中经常碰到的一个需求,wc命令可以适用于任何需要统计的数据,不只是统计文本,配合ls命令我们可以统计文件的个数…

electron调用dll问题总汇

通过一天的调试安装,electron调用dll成功,先列出当前的环境:node版本: 18.12.0,32位的(因为dll为32位的) VS2019 python node-gyp 1、首先要查看报错原因,通常在某一行会有提示,常…

在Linux上安装KVM虚拟机

一、搭建KVM环境 KVM(Kernel-based Virtual Machine)是一个基于内核的系统虚拟化模块,从Linux内核版本2.6.20开始,各大Linux发行版就已经将其集成于发行版中。KVM与Xen等虚拟化相比,需要硬件支持的完全虚拟化。KVM由内…

vue3 router-view 使用keep-alive报错parentcomponent.ctx.deactivate is not a function

问题 如下图,在component组件上添加v-if判断,会报错: parentcomponent.ctx.deactivate is not a function 解决方法 去除v-if,将key直接添加上。由于有的公用页面,需要刷新,不希望缓存,所以需要添加key…

2023/11/30JAVAweb学习

数组json形式 想切换实现类,只需要只在你需要的类上添加 Component 如果在同一层,可以更改扫描范围,但是不推荐这种方法 注入时存在多个同类型bean解决方式

C 中的结构 - 存储、指针、函数和自引用结构

0. 结构体的内存分配 当声明某种类型的结构变量时,结构成员被分配连续(相邻)的内存位置。 struct student{char name[20];int roll;char gender;int marks[5];} stu1; 此处,内存将分配给name[20]、roll、gender和marks[5]。st1这…

Redis学习文档

目录 一、概念1、特征2、关系型数据库和非关系型数据库的区别3、键的结构4、Redis的Java客户端5、缓存更新策略5.1、概念5.2、代码 6、缓存穿透6.1、含义6.2、解决办法6.3、缓存空值代码举例6.4、布隆过滤器代码举例 7、缓存击穿7.1、概念7.2、解决办法7.3、互斥锁代码举例7.4、…