postgreSQL数据库
2021-08-24 09:36:57 0 举报
AI智能生成
postgreSQL高可用和高级特性
作者其他创作
大纲/内容
PostgreSQL性能优化
描述
为用户提供高性能的服务是优秀的系统应该实现的目标,数据库的性能表现往往起<br>到关键作用 在硬件层面,影 数据库性能的主要因 素有CPU、I/O、内存和网络;在软<br>件层面则要复杂得多,操作系统配置、 中间件配置、数据库参数配置、运行在数据库之上<br>的查询和命令等,都对性能有或多或少的影响。 同时,随 业务增长 、数据量的变化,应<br>用复杂度变更等种种因 响,数据库系统遇到瓶颈,运行在不健康状态的情况非常多见。<br>
PostgreSQL 数据库的 SQL 服务器应用通常分为 OLTP 和数据仓库,在当前日益复杂的数据应用环境中,这<br>两种类型混合使用的情况越来越多,这也对数据库系统和数据库层面的优化提出了更高的要求。<br>
服务器硬件
CPU
影响数据库性能的主要硬件因素有 CPU 、磁盘、内存和网络<br>最先到达瓶颈的,通常是磁 IIO 在投入生产之前应该对磁盘的容量和吞吐 进行<br>估算,磁盘容量预估相对简单,但吞吐量受各种因素变化的 ,预估常常不够准确,<br>所以要做好扩展的准备。<br>固态存储现在已经非常成熟,而且价格已经比较便宜,目前在生产<br>环境使用固态磁盘已经非常普遍,如目前使用广泛的 SATA SSD PCie SSD 与传统磁盘<br>相比, SSD 有更好的随机读写性能,能够更好地支持并发,实现更大吞吐量,是现在数据<br>库服务器首选的存储介质 但应该注意的是需要区分消费级 SSD 和企业级 SSD ,如果在读<br>写密集的生产环境使用廉价的消费级 SSD ,不用多久,消费级 SSD 就会寿终正寝 使用外<br>部存储设备加载到服务器也是比较常见的,例如 SAN (存储区域网络)和 NAS (网络接入<br>存储) 使用 SAN 设备时通过块接口访问,对服务器来说就像访问本地磁盘一样; NAS则是<br>使用标准文件协议进行访问,例如 NFS 使用外部存储,还需要考虑网络通信对响应时间的的影响。<br>
磁盘
CPU 也会经常成为性能瓶颈,数据库服务器执行的每 个查询都会给 CPU 一定<br>压力 更高的 CPU 主频可以提供更快的运算速度,更多的核心数则能大大提高并发能力,<br>充分利用 PostgreSQL 并发查询的能力 需要注意的是:有一些服务器在 BIOS 中可以设置<br>CPU 的性能模式,可能的模式有高性能模式、普通模式和节能模式,在数据库服务器中,<br>不建议使用节能模式 这种模式会在系统比较空闲的时候对 CPU 主动降频,达到降温和节<br>电的目的,但对于数据库来说,则会产生性能波动,这是用户不希望看到的 ,所 以硬件上<br>架前就禁用节能模式,不同的设备请参考厂家提供的手册进行调整。
内存
内存的使用对数据库系统非常重要 操作系统层、数据库层等各个层的缓存对高性能<br>有很大辅助作用,较大的内存可以明显降低服务器的 I/O 压力,缓解 CPU I/O 等待时间,<br>对数据库性能起着关键的 但现在流行的服务器,内存配置一般都 较充裕,千兆和<br>万兆网卡也几乎成为数据库服务器标配 内存与网络在大多数时候不会成为系统瓶颈,但<br>仍然需要密切监控容量和指标趋势,在适当的时候进行扩容和升级。
网络
操作系统优化
描述
数据库是与操作系统结合非常紧密的系统应用,操作系统的参数配置会直接作用在数<br>据库服务器 此对 DBA 来说,了解操作系统非常重要 下面我们介绍一些常用的性能<br>监控和调整工具,并讨论一些常见的数据库专有服务器的操作系统方面的优化点,以及这<br>些优化点相关参数的调整原则和方法。
常用 Linux 性能工真
Linux 操作系统提供了非常多的性能监控工具,可以全方位监控 CPU 内存、虚拟内<br>存、磁盘 I/O 、网络等各项指标,为问题排查提供了便利,无论是研发人员还是数据库管理<br>员都应该熟练掌握这些工具和命 的用法 因为 Linux 相关命令和命令的变种很多,本节<br>简单介绍一些常用的性能检测工 ,例如 top free vmstat iostat mpsta sar, pidstat等。<br>除了 top free 外,其他工具均位于 sysstat 包中。<br>
数据库调优
小总结
并行 查询
并行查询相关配置参数
并行扫描<br>
并行聚合<br>
多表关联
小总结
PostgreSQL分区表
分区表的意义
传统分区表<br>
内置分区表
小总结
0 条评论
下一页