`
yr512656630
  • 浏览: 323089 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

postgresql 性能提升

 
阅读更多
文件:postgresql.conf


checkpoint又名检查点,在oracle中checkpoint的发生意味着之前的脏数据全部写回磁盘,数据库实现了一致性与数据完整性。oracle在实现介质恢复时将以最近的checkpoint为参照点执行事务前滚。在postgresql中checkpoint起着相同的作用:写脏数据;完成数据库的完整性检查。

checkpoints相关参数:
checkpoint_segments:
WAL log的最大数量,系统默认值是3。该值越大,在执行介质恢复时处理的数据量也越大,时间相对越长。
checkpoint_timeout:
系统自动执行checkpoint之间的最大时间间隔,同样间隔越大介质恢复的时间越长。系统默认值是5分钟。
checkpoint_completion_target:
该参数表示checkpoint的完成目标,系统默认值是0.5,也就是说每个checkpoint需要在checkpoints间隔时间的50%内完成。
checkpoint_warning:
系统默认值是30秒,如果checkpoints的实际发生间隔小于该参数,将会在server log中写入写入一条相关信息。可以通过设置为0禁用信息写入。

checkpoint执行控制:
1,数据量达到checkpoint_segments*16M时,系统自动触发;
2,时间间隔达到checkpoint_timeout参数值时;
3,用户发出checkpoint命令时。

checkpoints参数调整:
正确合适的参数值总能够给系统带来益处,checkpoints参数合理的配置不仅能够减少系统IO写入的阻塞,同时还会减少高峰时IO给系统带来的压力。
首先可以通过观察checkpoint_warning参数写入的日志,来估算系统写入的数据量:一般情况下checkpoint_warning参数值小于checkpoint_timeout;
估算公式:checkpoint_segments*16M*(60s/m)/checkpoint_warning=大致每分钟数据量,得到每分钟写入的数据量(这里全部是估算,建立在warning参数的合理设置上)。
合理配置情况:checkpoint_segments*16M*checkpoint_timeout(m)略大于上述值.
以上述公式为依据,配置checkpoint_segments与checkpoint_timeout,两个参数应该尽量平衡为一个足够大和足够小的值。
在数据量异常高的情况下应该考虑,磁盘带宽与checkpoint时数据量的关系。

个人观点:
假如以checkpoint_segments参数为阀值时,可以计算高峰时需要的带宽(秒):checkpoint_segments*16M/(checkpoint_warning*checkpoint_completion_target)。
假如以checkpoint_timeout参数为阀值时,checkpoint_warning值最好大于等于checkpoint_timeout,通过监控系统数据字典统计写入的数据量Total。
Total/(checkpoint_timeout*checkpoint_completion_target)得到IO的带宽要求。
分享到:
评论

相关推荐

    PostgreSQL 性能优化宝典

    根据提供的文件内容,本文将详细介绍PostgreSQL性能优化的相关知识点。由于文件内容中包含了文档的目录结构和一些具体的优化实践操作,我们将从中提取重要的知识点进行阐述。 首先,文档的目录部分揭示了整个PPT的...

    PostgreSQL性能调优

    ### PostgreSQL性能调优详解 #### 一、引言 随着数据量的增长以及业务需求的多样化,数据库系统的性能问题越来越受到重视。PostgreSQL作为一款强大的开源关系型数据库管理系统,其性能优化成为了众多企业和开发者...

    postgresql杂志第0期中文版 最大化postgresql性能

    **PostgreSQL杂志第0期中文版 - 最大化PostgreSQL性能** PostgreSQL是一款开源的关系型数据库管理系统,以其强大、稳定和高度可扩展性而受到全球用户的喜爱。在"postgresql 官方中文杂志"的第0期中,主要探讨了如何...

    PostgreSQL性能优化最佳综合案例实践

    总结来说,本案例通过构建一个包含基本数据库操作的业务模型,通过模拟业务请求和不断调整配置,给出了一个PostgreSQL性能优化的综合实践。这个过程涉及了数据库参数调整、索引优化、SQL查询优化等多个方面,为...

    postgresql9.2杂志中文版 最大化postgresql性能

    "postgresql9.2杂志中文版 最大化postgresql性能" 提供了官方中文资源,旨在帮助用户提升 PostgreSQL 数据库的运行效率。以下是根据标题和描述提炼出的一些关键知识点,以及可能涉及的更深入内容: 1. **性能优化...

    PostgreSQL 12将提升性能1

    PostgreSQL 12是开源数据库系统PostgreSQL的最新版本,它带来了显著的性能提升和优化,使得用户只需简单升级就能体验到应用程序运行速度的加快。这一特性对于保持用户满意度和吸引新用户至关重要。 首先,...

    PostgreSQL 性能优化培训 3 DAY

    - 应用所学的优化技巧解决问题,提升整体性能。 #### 七、性能分析工具的使用 - **工具介绍**: - 介绍PostgreSQL自带的性能分析工具,如`EXPLAIN ANALYZE`、`pg_stat_*`视图等。 - 了解第三方工具,如pgBadger、...

    PostgreSQL 运行状况检查和 SQL 性能分析

    在数据库管理领域,PostgreSQL 是一个非常强大的开源关系型数据库系统。进行 PostgreSQL 的运行状况检查和 SQL 性能分析是确保数据库...通过以上步骤,我们可以有效地管理和维护PostgreSQL数据库,提升整体系统性能。

    PostgreSQL中文手册9.2

    PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (性能提升技巧 性能提升技巧 性能提升技巧 ) 46 一、使用 一、使用 EXPLAINEXPLAINEXPLAINEXPLAIN EXPLAIN: 46 PostgreSQL PostgreSQL PostgreSQL学习...

    Postgresql 性能调优

    《PostgreSQL 9.6 高性能优化》 在数据库管理领域,PostgreSQL是一个非常强大的开源关系型数据库系统,以其稳定性、安全性以及丰富的功能而受到广大用户的青睐。尤其是在大数据处理和高并发场景下,PostgreSQL的...

    PostgreSQL 最佳性能优化实践授课PPT 386页

    本资料集“PostgreSQL最佳性能优化实践授课PPT 386页”是针对那些希望深入理解和提升PostgreSQL性能的专业人士所设计的。它不仅对PostgreSQL的性能优化策略进行了详尽的阐述,而且对于熟悉MySQL或Oracle的用户也具有...

    不同参数下的PostgreSQL性能测试.docx

    在这个文档中,主要探讨了在不同参数和版本下(8.2.14 VS 8.4.2)PostgreSQL的性能测试,特别是针对TPC-B和TPC-C这两个标准测试程序。 TPC-B和TPC-C是两种常用来评估数据库性能的基准测试。TPC-B模拟银行交易,而...

    postgresql 中文学习手册

    PostgreSQL学习手册(性能提升技巧原理) PostgreSQL学习手册(服务器配置) PostgreSQL学习手册(角色和权限) PostgreSQL学习手册(数据库管理) PostgreSQL学习手册(数据库维护) PostgreSQL学习手册(系统表) PostgreSQL...

    postgresql 12、15离线安装包

    PostgreSQL 12是较早的版本,带来了许多性能提升和新特性,如改进的并行查询、更有效的索引存储、更强大的统计信息以及对JSONB操作的优化。而PostgreSQL 15则是较新的版本,它可能包含更多更新和增强,比如性能的...

    PostgreSQL 9.0 High Performance

    通过以上对 PostgreSQL 9.0 性能提升策略及常见陷阱的详细阐述,我们可以看到,合理的数据库设计、正确的参数配置以及恰当的查询优化措施是实现高性能数据库系统的基石。此外,持续监控系统性能、及时调整配置也是...

    PostgreSQL15的新特性完整介绍

    - **窗口函数性能提升**:通过对窗口函数内部实现进行重构,显著降低了计算成本。 - **复制槽改进**:提供了更多关于物理复制槽(replication slots)的管理和监控选项,便于管理员维护复制环境。 - **增强错误报告...

    postgresql

    通过合理设计数据库结构、使用合适的索引、调整参数配置,可以显著提升数据库性能。 10. **扩展与集成**:PostgreSQL支持多种语言的存储过程(如PL/pgSQL、C),可以安装额外的模块和扩展,如地理空间支持、全文...

    Go-Golang的PostgreSQLORM专注于PostgreSQL的功能和性能

    由于是专门为PostgreSQL设计,这个ORM框架可能会对PostgreSQL的特定特性有深入优化,如利用其索引、分区等特性来提升查询速度。同时,它可能还考虑了Go语言的内存管理和并发模型,以实现高效的数据操作。 7. **...

    postgresql性能优化

    【PostgreSQL性能优化】 在PostgreSQL数据库环境中,性能优化是一个至关重要的任务,它涉及到SQL查询的效率、索引的合理使用、内存管理以及查询规划等多个方面。以下是一些关键的性能优化策略: **一、排序优化** ...

Global site tag (gtag.js) - Google Analytics