【PostgreSQL 创新营】第五课:PostgreSQL监控实战 答疑汇总

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
简介: 【PostgreSQL 创新营】第五课:PostgreSQL监控实战 答疑汇总

Q1:实现高可用的几种方法,有例子最好?
高可用方案:patroni(推荐)、第二象限repmgr、pgpool-II+pgbouncer、云RDS等云产品

Q2:流复制有什么注意点和坑
1)配置合理的WAL参数/从库设置数据槽,防止从库WAL remove类报错
2)数据槽失效/处理效率缓慢导致WAL堆积问题。PG 13新增max_slot_wal_keep_size参数控制
3)避免单条SQL更新大量的数据,造成commit后,主库WAL激增
4)上游是HA实例,需要注意切换后下游节点日志要比上游的少。
5)设置archive_mode=on,但无配置archive_command导致WAL堆积
6)建议配置tcp_keepalives_idle,tcp_keepalives_interval和tcp_keepalives_count参数
7)详情可自行阅读github/官档

Q3:在windows2008R2上实现高可用,在配置方面需要特别注意什么?
1)推荐使用linux操作系统
2)可以基于流复制,并结合windows集群管理软件实现HA

Q4:如何通过监控动态窗口快速定位指定时间段内不同维度的TOP SQL?
1)pg_stat_statment自定义时间段进行存储,并定时执行pg_stat_reset
2)可以参考github中pg_awr的配置:https://github.com/digoal/blog/blob/master/201611/20161123_01.md

Q5:主库宕机备库自动提升的插件是啥
patroni

Q6:如何很好的监控表膨胀情况
1)定期输出表和索引的膨胀情况,尤其是TOP定期清理
2)可以借助pg_repack、pgcompacttable、pg_reorg、pg_squeeze插件
3)监控语句可以参考:
pg 10之前使用:
https://github.com/digoal/blog/blob/master/201611/20161123_01_sql_001.sql
pg 10之后:https://github.com/digoal/blog/blob/master/201611/20181130_01_sql.sql

Q7:pg单表到多大量,模糊匹配的效率有明显的下降?此特性相比mysql是否有优势?
1)效率主要看匹配度
2)比MySQL有优势,PG可以走GIN索引,MySQL无法利用索引进行模糊查询匹配

Q8:pigsty需要在目标服务器安装agent吗?有几种监控方式
1)pigsty主要借助Prometheus+Grafana+Consul,目标库需安装对应组件的agent
2)详情可参考Exporter内容

Q9: 图形加载那么多 会不会运行一段时间之后会有点慢 ?
相同时间窗口不会。选择时间范围跨度越大理论上越慢

Q10: pigsty是否支持proxy分布式采集部署
详情查阅官网https://pigsty.cc/zh/,或者提交issue

Q11:网上很多附件功能的开源插件,也是pg的优势,怎么保证生产环境插件的安全性?
1)建议查看对应插件的代码,分析插件所需的权限以及相应的影响
2)对于需要篡改数据库信息的插件,使用前要有多加注意

Q12:pg有没有什么好的性能分析工具?
1)通常合理、全面的监控指标是分析生产问题利器
2)可以借助pganalyze、pgHero等工具

Q13: pigsty官网说明是有企业版,githup版本可免费用于测试生产,请问是不是github上开源pigsty有什么限制。
建议提github问下作者

Q14:异步流复制模式下,主备节点都同步在一个WAL(内部可能有毫秒级应用延时),如果主库突然crash,怎么确认应用事务号之间的差异(用来确认丢了多少数据)?
1)除非主库crash时,从库有记录主库的位点
2)详见:PostgreSQL 13在standby节点也能监控主从延迟 pg_stat_wal_receiver latest_end_lsn 源码解读https://github.com/digoal/blog/blob/master/202005/20200520_03.md

Q15:孙宇文,pg有无像oracle的sql tunning advisor的SQL优化插件,可以自动评估SQL的优化方案,或实现自治
可借鉴:
powa4 PostreSQL Workload Analyzer - PostgreSQL监控工具、带WEB展示 - 索引推荐,等待事件分析,命中率,配置变更跟踪等https://github.com/digoal/blog/blob/master/201905/20190520_01.md

Q16:kevin yang,pigsty 可以用来监控 rds pg吗?
pigsty可以监控rds pg但是可以被监控的指标可能比自建的少, 因为rds pg给的最高权限账号rds superuser比superuser少一些权限. 某些指标可能拿不到. rds pg已经内置了一些核心监控指标, 对于大多场景足够用了. 有自己安装监控需求同时又不想自己管理的用户建议可以使用mybase pg服务, 开放OS权限和superuser, 和自建能拿到的权限一致.

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
缓存 关系型数据库 MySQL
MySQL索引策略与查询性能调优实战
在实际应用中,需要根据具体的业务需求和查询模式,综合运用索引策略和查询性能调优方法,不断地测试和优化,以提高MySQL数据库的查询性能。
615 66
|
6月前
|
存储 关系型数据库 测试技术
拯救海量数据:PostgreSQL分区表性能优化实战手册(附压测对比)
本文深入解析PostgreSQL分区表的核心原理与优化策略,涵盖性能痛点、实战案例及压测对比。首先阐述分区表作为继承表+路由规则的逻辑封装,分析分区裁剪失效、全局索引膨胀和VACUUM堆积三大性能杀手,并通过电商订单表崩溃事件说明旧分区维护的重要性。接着提出四维设计法优化分区策略,包括时间范围分区黄金法则与自动化维护体系。同时对比局部索引与全局索引性能,展示后者在特定场景下的优势。进一步探讨并行查询优化、冷热数据分层存储及故障复盘,解决分区锁竞争问题。
720 2
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
529 0
|
11月前
|
SQL 存储 关系型数据库
MySQL秘籍之索引与查询优化实战指南
最左前缀原则。不冗余原则。最大选择性原则。所谓前缀索引,说白了就是对文本的前几个字符建立索引(具体是几个字符在建立索引时去指定),比如以产品名称的前 10 位来建索引,这样建立起来的索引更小,查询效率更快!
368 22
 MySQL秘籍之索引与查询优化实战指南
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
深入探索PHP与MySQL的协同工作机制,本文旨在通过一系列实战案例,揭示构建高效、稳定且用户友好的动态网站的秘诀。从环境搭建到数据交互,再到最佳实践分享,本文为开发者提供了一条清晰的学习路径,助力其在LAMP(Linux, Apache, MySQL, PHP/Perl/Python)栈上实现技术飞跃。 ####
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
本文深入探讨了PHP与MySQL在动态网站开发中的应用实践,通过具体案例解析如何高效结合这两大技术构建数据驱动的Web应用。文章将涵盖环境搭建、基础语法回顾、数据库设计与操作、用户注册与登录系统实现等关键步骤,旨在为开发者提供一个从零到一的项目实战路径,展示PHP与MySQL协同工作的强大能力。 ####
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:优化百万数据查询的实战经验
【10月更文挑战第13天】 在处理大规模数据集时,传统的关系型数据库如MySQL可能会遇到性能瓶颈。为了提升数据处理的效率,我们可以结合使用MySQL和Redis,利用两者的优势来优化数据查询。本文将分享一次实战经验,探讨如何通过MySQL与Redis的协同工作来优化百万级数据统计。
666 5
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
1150 1

相关产品

  • 云原生数据库 PolarDB
  • 云数据库 RDS PostgreSQL 版
  • 推荐镜像

    更多