shared_buffers大小调整:
SELECT 
usagecount,count(*),isdirty,
round((count(*)/ max(total_cache.cnt):: float * 100):: numeric,2)as percent_of_total_cache 
FROM pg_buffercache,
(select count(*)as cnt from pg_buffercache)as total_cache 
GROUP BY isdirty,usagecount 
ORDER BY isdirty,usagecount;
 
 usagecount | 计数| isdirty | percent_of_total_cache 
------------ + -------- + --------- + ----------------- ------- 
          0 | 44204 | f | 16.86 
          1 | 39288 | f | 14.99 
          2 | 18917 | f | 7.22 
          3 | 10702 | f | 4.08 
          4 | 39549 | f | 15.09 
          5 | 109484 | f | 41.76 
(6行)
 
 usagecount | 计数| isdirty | percent_of_total_cache 
------------ + -------- + --------- + ----------------- ------- 
          0 | 44204 | f | 16.86 
          1 | 39288 | f | 14.99
          2 | 18917 | f | 7.22 
          3 | 10702 | f | 4.08 
          4 | 39546 | f | 15.09 
          5 | 109435 | f | 41.75 
          5 | 52 | t | 0.02 
(7行)
 usagecount | 计数| isdirty | percent_of_total_cache 
------------ + -------- + --------- + ----------------- ------- 
          0 | 44204 | f | 16.86 
          1 | 39288 | f | 14.99 
          2 | 18917 | f | 7.22 
          3 | 10702 | f | 4.08 
          4 | 39546 | f | 15.09
          5 | 109487 | f | 41.77 
(6行)
 
检查结果,我发现超过50%的buffercache块被累积,使用次数高达4.5。
这是一个强有力的证据,我需要增加shared_buffer的值。正如我有一个专用数据库服务器与32 GBRAM,I增加从值的2 Gb到4GB。
 
设置shared_buffers太难:
进出postgres的数据块都通过shared_buffers。只是回顾一下我链接到的博客文章,每当在共享内存中使用一个块时,它就会增加时钟扫描算法,范围从1-5,5是极高的使用数据块。这意味着高使用率块可能会保留在shared_buffers中(如果有空间),如果需要更高使用率的空间,则低使用率块将被移出。我们认为简单的插入或更新会将使用次数设置为1.因此,现在我们看一下当使用次数减少时的差异。
edb postgresql :
亚马逊配置75%内存,引发的问题。
 
测试tps:
序号 参数配置 第一次 第二次 第三次 平均值
1 shared_buffers=128MB(默认) 249 126 145 =173
2 shared_buffers=4GB 357 357 373 = 362
3 shared_buffers=8GB 362 363 415 =380
4.shared_buffers=24GB 378 368 397 =381
预热缓存测试结果:
序号 参数配置 第一次 第二次 第三次 平均值
1 shared_buffers=128MB(默认) 211 194 207 204
2 shared_buffers=4GB 1225 1288 1321 1278
3 shared_buffers=8GB 1176 1291 1144 1203
4.shared_buffers=24GB 1285 1250 1309 1281
当shared_buffers=4GB时,数据不能完全装下,所以优先预热索引,将索引加载到缓存的tps和8GB,24GB表现差别不大

postgresql-shared_buffers调整的更多相关文章

  1. [转帖]PostgreSQL 参数调整(性能优化)

    PostgreSQL 参数调整(性能优化) https://www.cnblogs.com/VicLiu/p/11854730.html 知道一个 shared_pool 文章写的挺好的 还没仔细看 ...

  2. PostgreSQL 参数调整(性能优化)

    昨天分别在外网和无外网环境下安装PostgreSQL,有外网环境下安装的相当顺利.但是在无外网环境下就是两个不同的概念了,可谓十有八折.感兴趣的同学可以搭建一下. PostgreSQL安装完成后第一件 ...

  3. PostgreSQL 系统参数调整及并行设置(转)

    转自:https://yq.aliyun.com/teams/5 OS 准备 # yum -y install coreutils glib2 lrzsz sysstat e4fsprogs xfsp ...

  4. PostgreSQL+pgpooll+Keepalived双机HA方案

    PostgreSQL+pgpooll+Keepalived双机HA方案 (注:本文档中的所有操作在没有说明的情况下都应该使用postgres用户进行操作,postgres用户没有权限的操作方可采用ro ...

  5. Grafana + Prometheus 监控PostgreSQL

    效果图 部署环境 服务器名称 IP地址 部署业务 备注 部署agent sht-sgmhadoopcm-01 172.16.101.54 PostgreSQL 监控服务器.被监控服务器 node_ex ...

  6. Greenplum实战之查询优化

    本文主要分为三部分: GP优化需要准备的一些关于优化之外的知识,包括清空缓存.性能监控.执行计划分析. 具体优化措施,从以下四个方面考虑: 表.字段 sql GP配置.服务器配置 硬件及节点资源 GP ...

  7. DevOps之持续集成Jenkins+Gitlab

    一.什么是DevOps DevOps(英文Development(开发)和Operations(技术运营)的组合)是一组过程.方法与系统的统称,DevOps是一组最佳实践强调(开发.运维.测试)在应用 ...

  8. 【自建gitlab服务器】gitlab内存持续增大,出现502错误的解决办法

    首先说明笔者的服务器环境,阿里云服务器:8G内存,2核.自从团队运维小伙伴搭建了gitlab之后,git push 代码时不时的就很卡,也经常出现 gitlab 反应超时,返回502错误,严重阻塞了团 ...

  9. GitLab在Centos下的安装步骤

    第一步:(安装工具包) sudo yum install curl openssh-server postfix cronie sudo service postfix start sudo chkc ...

  10. Jenkins + Ansible + Gitlab之gitlab篇

    前言 持续交付 版本控制器:Gitlab.GitHub 持续集成工具:jenkins 部署工具:ansible  课程安排 Gitlab搭建与流程使用 Ansible环境配置与Playbook编写规范 ...

随机推荐

  1. SQL中datetime和timestamp的区别

    在开发一个简单的报名程序时,要求在每一条新插入的记录后面添加一个日期字段,方便日后查询和排序.于是立即百度,发现可以使用datetime或timestamp两种日期类型来实现.这对于爱纠结的我来说是不 ...

  2. TP5在lnmp环境中不能重写的问题

    说到坑,这个问题困扰了我一两天时间,本地可以,线上环境检查了好久. 基本检查的地方有几个了,首先就是nginx下面的重写配置,这个大家在网上都能搜到,至于定义的变量和配置路径,修改一下即可. 还有就是 ...

  3. 2018.12.08 codeforces 914D. Bash and a Tough Math Puzzle(线段树)

    传送门 线段树辣鸡题. 题意简述:给出一个序列,支持修改其中一个数,以及在允许自行修改某个数的情况下询问区间[l,r][l,r][l,r]的gcdgcdgcd是否可能等于一个给定的数. 看完题就感觉是 ...

  4. p标签在div中垂直居中,并且div高度随着p标签文字内容的变化而变化

    1.div设置flex布局 div{ display: flex; align-items: center; } 2.div不要设置height,设置min-height

  5. 关于Excel分析图插入到论文的问题

    为了保证插入到latex图片不失真,可将Excel中的图进行如下操作: 1.将Excel分析图另存为.pdf格式: 2.利用Adobe acrobat裁剪掉空白的部分,另存为.eps格式: 3.将ep ...

  6. 常用.bat

    休眠.bat rundll32 powrprof.dll,SetSuspendState 常用.bat start /d  "d:\Program Files (x86)\Tencent\T ...

  7. java socket之上传文件

    一.功能介绍 该功能主要实现,将客户端的:F:/work/socketSample/filetemp/client/test_client.txt上传到服务端F:/work/socketSample/ ...

  8. UVaLive 3490 Generator (KMP + DP + Gauss)

    题意:随机字母组成一个串,有一个目标串,当这个由随机字母组成的串出现目标串就停止,求这个随机字母组成串的期望长度. 析:由于只要包含目标串就可以停止,所以可以先把这个串进行处理,也就是KMP,然后dp ...

  9. 触摸屏 adb调试

    1.adb shell cat /proc/kmsg 这条命令肯定是要放在第一位的,可以打印内核信息,对应于驱动程序中的printk语句. 如果出现以下提示,说明权限不够,可以通过adb root获取 ...

  10. Language Oriented Programming:下一代编程样式 Part I (翻译)

    原文信息 原文地址 作者信息 Sergey Dmitriev JetBrains Sergey Dmitriev is the cofounder and CEO of JetBrains Inc., ...