zoukankan      html  css  js  c++  java
  • (转)PG运维常用知识点小结

    原文:https://www.modb.pro/db/47528?xzs=

    数据库运维是个挺麻烦的事情,涉及的知识面十分广。刚刚开始学习某个数据库的时候容易一头雾水,不知道该从何入手。特别是看过一两本入门的书籍之后,感觉自己好像懂点了,可是实际一上手就发现好像自己啥也没学懂。实际上不仅仅是新人,老DBA学习一个新数据库的时候也会遇到类似的情况。这时候,就需要稍微梳理一下知识点了。这个梳理不是以某本书为基础,而是以运维这个数据库为核心,梳理运维工作中的一些关键维度,从这些关键维度入手细化,找出你需要掌握的主要知识。这些天老白在学习PG的过程中,也画了一张图,这张图随着老白对PG的学习,也在不断地扩展。今天我把这张图贴出来,和大家分享。

    第一个重点掌握的部分是OS相关的配置与参数,包括IPC配置、虚拟内存配置、文件系统配置和网络配置。

    第二个重点掌握的部分是数据库参数,分为共享缓冲配置、本地(BACKEND)缓冲配置,WAL配置,CHECKPOINTER/BGWRITER相关的配置、会话类配置、日志类配置等。

    这两类配置类的知识我们需要了解每个和PG性能与稳定运行有关的配置参数的含义。实际上如果要安装与使用PG数据库,LINUX操作系统上的参数不做任何调整,PG参数不做任何调整,也能让PG数据库比较稳定的运行起来。这实际上对运维PG数据库的DBA来说不是一件好事,因为有很多坑会遗留下来,只有当系统负载较高的时候,才会暴雷。事实上,PG数据库的缺省配置参数,很多都不适合负载较高的生产环境使用,我们都需要根据实际情况来配置这些参数。

    IO分析是运维PG数据库最为重要的工作之一,一个配置好的PG数据库,如果运行环境的IO性能保持在一个不错的标准内,比如OS的IO延时都低于10ms,那么PG运行的稳定性是可以保证的。一旦IO出现了较为严重的问题,比如IO吞吐量超出了存储的正常范围,IO延时严重超标,那么PG的性能与稳定性都会明显下降。

    会话分析主要用在分析系统出现了某种问题或者发现应用系统出现问题可能引起PG数据库性能问题的隐患。通过会话分析发现哪些客户端的会话对系统资源产生了较大的消耗,哪些客户端的会话连接数出现了异常等等。

    锁分析是另外一个PG运维中十分重要的工作,锁冲突引起数据库故障的概率极高。由于应用系统的BUG或者应用系统锁冲突十分严重,可能导致应用性能下降,甚至部分业务被锁死。

    对于一些高负载的系统,负载与并发方面可能引起PG数据库不稳定或者性能出现严重的问题,这时候等待事件分析就能发挥很好的作用了。通过对活跃会话的等待事件进行分类,可以较快的定位系统中存在的主要矛盾,以便于后续定位与溯源。

    SQL分析也是PG DBA必须掌握的一个技巧,如何找到各类TOP SQL,并在各类PG并发与性能方面的问题出现的时候找到正确分类的TOP SQL是进行SQL分析的第一步。你不仅要帮助用户和开发商找到相关的TOP SQL,还需要帮助客户分析SQL存在问题的原因,到底是缺少索引还是表分析数据过期,还是数据太长时间没有归档或者是表碎片引起了SQL性能的问题。

    其他还有一些分析方面的知识点,我就不一一点到了。这只是一张粗略的简图,覆盖面也还不完整。如果你正在学习PG,那么你可以以这个为蓝图,不断地去完善这张图,并把这张图上的知识点逐步深入掌握。

    技术链接
  • 相关阅读:
    iOS开发之ImageView复用实现图片无限轮播
    IOS 通过脚本自动打包工具 webfrogs/xcode_shell
    (iOS)判断GPS坐标是否在中国
    如何轻松实现iOS9多任务管理器效果(iCarousel高级教程)
    有了Auto Layout,为什么你还是害怕写UITabelView的自适应布局?
    PID控制算法的C语言实现四 增量型PID的C语言实现
    PID控制算法的C语言实现三 位置型PID的C语言实现
    PID控制算法的C语言实现二 PID算法的离散化
    PID控制算法的C语言实现一 PID算法原理
    人生是一个连续的过程,没什么东西能影响人的一生,怎么选择不是问题。问题是每天都要努力 (转)
  • 原文地址:https://www.cnblogs.com/liujiacai/p/14565335.html
Copyright © 2011-2022 走看看