`

postgresql 内存优化

阅读更多

PG的配置文件是数据库目录下的postgresql.conf文件,8.0以后的版本可支持K,M,G这样的参数,只要修改相应参数后重新启动PG服务就OK了。

   shared_buffers:这是最重要的参数,postgresql通过shared_buffers和内核和磁盘打交道,因此应该尽量大,让更多的数据缓存在shared_buffers中。通常设置为实际RAM的10%是合理的,比如50000(400M)

   work_mem: 在pgsql 8.0之前叫做sort_mem。postgresql在执行排序操作时,会根据work_mem的大小决定是否将一个大的结果集拆分为几个小的和 work_mem查不多大小的临时文件。显然拆分的结果是降低了排序的速度。因此增加work_mem有助于提高排序的速度。通常设置为实际RAM的2% -4%,根据需要排序结果集的大小而定,比如81920(80M)

   effective_cache_size:是postgresql能够使用的最大缓存,这个数字对于独立的pgsql服务器而言应该足够大,比如4G的内存,可以设置为3.5G(437500)

   maintence_work_mem:这里定义的内存只是在CREATE INDEX, VACUUM等时用到,因此用到的频率不高,但是往往这些指令消耗比较多的资源,因此应该尽快让这些指令快速执行完毕:给 maintence_work_mem大的内存,比如512M(524288)

   max_connections:通常,max_connections的目的是防止max_connections * work_mem超出了实际内存大小。比如,如果将work_mem设置为实际内存的2%大小,则在极端情况下,如果有50个查询都有排序要求,而且都使 用2%的内存,则会导致swap的产生,系统性能就会大大降低。当然,如果有4G的内存,同时出现50个如此大的查询的几率应该是很小的。不过,要清楚 max_connections和work_mem的关系。
分享到:
评论

相关推荐

    postgresql 优化配置.xlsx

    postgresql 优化配置,各种内存、连接数、缓存、并发、日志等策略配置。

    postgresql性能优化

    一个优化的SQL:下面默认以postgresql为例:1.尽量避免2.排序的数据量尽量少,并保证在内存里完成排序。(至于具体什么数据量能在内存中完成排序,不同数据库有不同的配置:oracle是sort_area_size;postgresql是...

    PostgreSQL性能调优

    PostgreSQL性能调优,硬件要求调优

    ansible-role-linux-for-postgresql:在安装PostgreSQL之前以最佳方式配置Linux

    在安装Postgresql之前优化Linux optimize_linux角色有两个主要任务,分别是: kernel-linux.yml任务 iptables.yml任务 内核Linux任务 kernel-linux.yml在安装Postgresql之前kernel-linux.yml优化linux 在Debian...

    postgressql 16.2-1 windows x64

    与普通PostgreSQL相比,优化了每个数组元素在选择性估计期间的内存消耗。 修复了在运行pg_pathman时执行查询或使用规划器时可能出现的分段错误。pg_pathman没有注意到RangeTblEntry (RTE)结构中没有正确初始化的新...

    Oracle数据库性能优化的艺术 (文平) 高清PDF扫描版

    《oracle数据库性能优化的艺术》重在“授人以渔”,虽然主要内容是围绕oracle数据库系统展开的,但是书中的观点同样适用于db2、sql server、mysql、postgresql等数据库系统。 oracle数据库性能优化的艺术 目录 ...

    CentOS中运行PostgreSQL需要修改的内核参数及配置脚本分享

    主要介绍了CentOS中运行PostgreSQL需要修改的内核参数及配置脚本分享,本文从系统资源限制类和内存参数优化类来进行说明,需要的朋友可以参考下

    通用数据库连接查询器Ver2.0.2

    修改了Solaris、Linux下的启动问题。 通用数据库连接查询器,支持Oracle、DB2、SQL Server、MySQL、PostgreSQL、Sybase,集成“查看表空间”、“权限”、...内存优化,基本不会遇到java常见的内存溢出问题。

    优化Hibernate性能的几点建议

    中取出的记录条数,一般设置为30、50、100.Oracle数据库的JDBC驱动默认的Fetch Size=15,设置Fetch Size设置为:30、50,性能会有明显提升,如果继续增大,超出100,性能提升不明显,反而会消耗内存。 即在...

    druid-1.0.0.jar

    Druid支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等等。...Druid针对Oracle和MySql做了特别优化,比如Oracle的PS Cache内存占用优化,MySql的ping检测优化。

    2021 云和恩墨大讲堂PPT汇总(50份).zip

    MySQL查询优化 Oracle数据库SQL执行计划的取得和解析 11gR2频繁遭遇Checkpoint incompelte 12C_19C统计信息最佳实践 并行不悖 - Oracle数据库的并行执行 抽丝剥茧_一起有关新冠病毒疫情的勒索病毒案例 从内存故障到...

    基于开源WebGIS的智慧养老系统源码下载

    以OpenLayers/Cesium、PostgreSQL/PostGIS、GeoServer等开源WebGIS技术为核心支撑,结合Vue、Spring Boot等前后端开发技术,设计和开发了基于开源WebGIS的移动端智慧养老App与Web端智慧养老管理系统。 1.关于账号...

    openGauss-server:openGauss内核

    高效openGauss突破了多核CPU的性能,实现了两路鲲鹏128核150万tpmC,内存优化表(MOT)引擎达350万tpmC。数据分区内部线程共享的关键数据结构进行数据分区,减少加锁访问冲突。 NUMA化内核数据结构关键数据结构NUMA...

    openGauss数据库管理系统-其他

    内存优化表(MOT)存储引擎是一个专为多核大内存优化的存储引擎,具有极高的联机事务处理(OLTP)性能和资源利用率。MOT的数据和索引完全存储在内存中,通过NUMA感知执行,算法消除闩锁争用以及查询JIT本地编译,...

    JAVA中级书籍

    掌握JVM内存分配、JVM垃圾回收;类装载机制; 性能优化; 反射机制;多线程;IO/NIO; 网络编程;常用数据结构和相关算法。 2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式;设计模式;单例模式...

    mysql权威指南第二版

    开发人员在其数据库引擎中提供了丰富的特性(只需很少的内存和CPU支持)。 因此,众多Linux和Unix服务器(以及一些Windows服务器)都采用MySQL作为其数据库引擎。由于MySQL作为Web站点后端时速度特别快而且相当方便...

    MySQL权威指南

    开发人员在其数据库引擎中提供了丰富的特性(只需很少的内存和CPU支持)。, 因此,众多Linux和Unix服务器(以及一些Windows服务器)都采用MySQL作为其数据库引擎。由于MySQL作为Web站点后端时速度特别快而且相当方便...

    Mycat-server-1.6-RELEASE源码

    Mycat关键特性 关键特性 支持SQL92标准 支持MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常见SQL语法 遵守Mysql原生协议,跨语言...集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。

Global site tag (gtag.js) - Google Analytics