PostgreSQL 9.6 检查点柔性优化(SYNC_FILE_RANGE) - 在单机多实例下的IO Hang问题浅析与优化

背景 PostgreSQL检查点是将shared buffer中的脏页打标记,并集中将其刷到磁盘的动作(fsync)。(期间可能有刷盘的调度,降低当脏页很多时带来的IO影响) 在检查点之外,平时bgwriter进程则会使用bufferio的方式(write)将脏页写到OS的dirty page。 如...

PostgreSQL 9.6 IO Hang问题浅析与优化

背景 PostgreSQL检查点是将shared buffer中的脏页打标记,并集中将其刷到磁盘的动作(fsync)。(期间可能有刷盘的调度,降低当脏页很多时带来的IO影响) 在检查点之外,平时bgwriter进程则会使用bufferio的方式(write)将脏页写到OS的dirty page。 如...

调节effective_io_concurrenc优化PostgreSQL bitmap index scan性能

测试发现PostgreSQL在bitmap index scan时,如果要读入大量堆page,读IO的速度会远低于正常的顺序读,影响性能。 下面用一个例子说明这个问题。 环境 台式机上的CentOS7.1虚机 消费级SSD blockdev --setra设置为2048 ...

PostgreSQL 索引扫描offset内核优化 - case

背景 最近写了好几篇与offset有关的文章,上一篇是解offset质变的问题。 https://yq.aliyun.com/articles/57730 这一篇要解的是offset偏移量越大,越慢的问题。 offset偏移量很大的情况下,即使走的是索引(没有使用额外的sort),也会很慢,这是为什...

PostgreSQL cluster大幅减少nestloop离散IO的优化方法

背景 对于较大数据量的表,如果在索引字段上面有小结果集JOIN,用nestloop JOIN是比较好的方法。 但是nestloop带来的一个问题就是离散IO,这个是无法回避的问题,特别是硬件IO能力不行的情况下,性能会比较糟糕。 有什么优化方法呢? PostgreSQL提供了一个命令,可以修改物理存...

RDS MySQL空间优化最佳实践

在前三期介绍了RDS for MySQL参数优化,锁问题以及延迟优化最佳实践之后,本期将介绍存储空间相关的最佳实践。 存储空间是RDS很重要的一个指标,在RDS的工单问题中,空间问题的咨询可以排在top 5,当RDS的实际使用空间超过了购买的空间后,实例就会被锁定了,这样就会导致应用无法再写入,更新...

PgSQL · 性能优化 · PostgreSQL TPC-C极限优化玩法

简介 本文以工业界测试模型TPC-C为测试模型,介绍PostgreSQL数据库从系统层面的优化到数据库层面的优化方法。 TPmC从 256195.32 提升到 606466.31 是如何做到的。 测试环境介绍 16核开HT共32线程 256G 1600MHz ...

PostgreSQL 大表自动 freeze 优化思路

有没有被突发的IO惊到过,有没有见到过大量的autovacuum for prevent wrap。 本文依依解开这些头痛的问题。 PostgreSQL 的版本冻结是一个比较蛋疼的事情,为什么要做版本冻结呢? 因为PG的版本号是uint32的,是重复使用的,所以每隔大约20亿个事务后,必须要冻结,否...

PostgreSQL 百亿级数据范围查询, 分组排序窗口取值 极致优化 case

本文将对一个任意范围按ID分组查出每个ID对应的最新记录的CASE做一个极致的优化体验。 优化后性能维持在可控范围内,任意数据量,毫秒级返回,性能平稳可控。 比优化前性能提升1万倍。 CASE 有一张数据表,结构: CREATE TABLE target_position ( target_id v...

postgresql 优化 order by 对索引使用的影响

--原始sql SELECT * FROM tops_order.eticket WHERE ( issue_complete_date >= '2015-10-01 00:00:00+08' AND issue_complete_date < '2016-03-28 00:00:00+...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

相关镜像