PostgreSQL配置优化

PostgreSQL 部署及配置参数优化与常见问题汇总 本文全面介绍了PostgreSQL数据库的部署、配置优化与运维管理方案。内容涵盖单机二进制/源码安装、主从集群部署指导,重点讲解了关键参数调优(内存、WAL、并行查询等)和性能优化技巧(索引策略、查询优化、表分区)。针对常见问题如性能下降、连接耗尽、数据库膨胀等提供了具体解决方案,并详细阐述了物理/逻辑备份恢复策略。最后给出了安全配置建议,包括密码策略、网络访问控制、审计日志和SSL加密设置。文章还包含监控指标说明和定期维护任务清单,为构建高可用、高性能的PostgreSQL数据库环境提供了完整的技术参考。 阅读详情

 

  • PostgreSQL配置优化
      • 硬件和系统配置
      • 测试工具
      • 配置文件
      • 主要选项
      • 测试数据
      • 总结

 

硬件和系统配置

操作系统Ubuntu13.04
系统位数64
CPUIntel(R) Core(TM)2 Duo CPU
内存4G
硬盘Seagate ST2000DM001-1CH164
测试工具PostgreSQL-9.1.11

 

测试工具

工具名称pgbench
数据量200W(整个数据库大小约为300M)
模拟客户端数4
线程数4
测试时间60秒
  • 准备命令:pgbench -i -s 20 pgbenchdb
  • 测试命令:pgbench -r -j4 -c4 -T60 testdb

 

配置文件

默认的配置配置文件是保存在/etc/postgresql/VERSION/main目录下的postgresql.conf文件

  • 如果想查看参数修改是否生效,可以用psql连接到数据库后,用<show 选项名> 来查看。
  • 如果要修改shared_buffers, 在ubuntu下可能需要执行命令<sysctl -w>Managing Kernel Resources

 

主要选项

选项默认值说明是否优化原因
max_connections100允许客户端连接的最大数目否因为在测试的过程中,100个连接已经足够
fsyncon强制把数据同步更新到磁盘是因为系统的IO压力很大,为了更好的测试其他配置的影响,把改参数改为off
shared_buffers24MB决定有多少内存可以被PostgreSQL用于缓存数据(推荐内存的1/4)是在IO压力很大的情况下,提高该值可以减少IO
work_mem1MB使内部排序和一些复杂的查询都在这个buffer中完成是有助提高排序等操作的速度,并且减低IO
effective_cache_size128MB优化器假设一个查询可以用的最大内存,和shared_buffers无关(推荐内存的1/2)是设置稍大,优化器更倾向使用索引扫描而不是顺序扫描
maintenance_work_mem16MB这里定义的内存只是被VACUUM等耗费资源较多的命令调用时使用是把该值调大,能加快命令的执行
wal_buffer768kB日志缓存区的大小是可以降低IO,如果遇上比较多的并发短事务,应该和commit_delay一起用
checkpoint_segments3设置wal log的最大数量数(一个log的大小为16M)是默认的48M的缓存是一个严重的瓶颈,基本上都要设置为10以上
checkpoint_completion_target0.5表示checkpoint的完成时间要在两个checkpoint间隔时间的N%内完成是能降低平均写入的开销
commit_delay0事务提交后,日志写到wal log上到wal_buffer写入到磁盘的时间间隔。需要配合commit_sibling是能够一次写入多个事务,减少IO,提高性能
commit_siblings5设置触发commit_delay的并发事务数,根据并发事务多少来配置是减少IO,提高性能

 

测试数据

  • 测试的数据是运行3次,取平均值。
  • 关闭fsync是为了更好的体现出其他参数对PostgreSQL的影响。
参数修改值事务总数tps(包括建立连接)tps(不包括建立连接)
默认设置 8464140.999792141.016182
fsyncoff925711479.9697551480.163355
shared_buffers1GB1000551635.7592751635.977823
work_mem10MB1012091665.8048121666.04082
effective_cache_size2GB982091636.7331521636.970271
maintenance_work_mem512MB929301548.0292331548.223108
checkpoint_segments321959823265.9953266.471064
checkpoint_completion_target0.91943903239.4064933239.842596
wal_buffer8MB1986393310.2414583310.724067
恢复fsyncoff11157185.883542185.909849
commit_delay && commit_siblings10 && 411229187.103538187.131747

 

总结

 事务总数tps(包括建立连接)tps(不包括建立连接)
优化前8464140.999792141.016182
优化后(fsync=on)11229187.103538187.131747
优化后(fsync=off)1986393310.2414583310.724067

在fsync打开的情况下,优化后性能能够提升30%左右。因为有部分优化选项在默认的SQL测试语句中没有体现出它的优势,如果到实际测试中,提升应该不止30%。
测试的过程中,主要的瓶颈就在系统的IO,如果需要减少IO的负荷,最直接的方法就是把fsync关闭,但是这样就会在掉电的情况下,可能会丢失部分数据。

作者:roddick621 发表于2013-12-26 9:21:16 原文链接

阅读:0 评论:0 查看评论

一种基于频域滤波法消除干扰项与角谱法重构技术的数字全息显微台阶形貌测量实例分析 阅读详情

相关推荐

Win11笔记本BIOS设置避坑大全:Secure Boot、RST、UEFI引导,一次讲清

本文详细解析了Win11笔记本BIOS设置中的关键问题,包括Secure Boot、Intel RST和UEFI引导的配置方法,帮助用户避开双系统安装中的常见陷阱。特别针对不同品牌笔记本的BIOS界面差异,提供了实用的操作指南和优化建议,确保系统兼容性和启动效率。

weixin_29251131的博客 687

postgresql安装

一.rpm的安装方法 1.官网下载 ##选择对应版本 https://www.postgresql.org/download/ ##Linux centos7 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm ##安装pg server sudo yum install -y postgresql11-server

归来仍少年 590

NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty()

Please use torch.nn.Module.to_empty() instead of torch.nn.Module.to()输出(llama) (base) [root@localhost home]# nvidia-smi Unable to determine the device handle for GPU0000:09:00.0: Unknown Error。这是典型的“孤儿进程”,但它还是。(僵尸进程),占用 GPU 资源。如果进程仍然不消失,并且。,这意味着它的父进程是。

m0_61636632的博客 2096

postgresql参数优化

max_parallel_workers 定义了数据库可以使用的并行查询工作者的最大数量。通过适当配置这个参数,可以根据系统的硬件资源来控制并行查询的规模。log_statement:该参数值为 "all"表示记录所有查询类型(SELECT、INSERT、UPDATE、DELETE),比较占用空间,且性能会降低,因此建议将其设置为ddl,只记录修改表结构的sql。这个参数是设置执行最小多长时间的SQL输出到log,例如输出执行超过2秒的SQL。:设置查询的最小持续时间,以毫秒为单位。该值默认是128M。

雅冰石的专栏 2190

RK3588嵌入式AI部署实战:从环境搭建到模型推理全链路

嵌入式AI部署涉及交叉编译、NPU驱动、模型量化与运行时环境等多个技术环节,其核心挑战在于软硬件版本矩阵的严格匹配。在边缘计算场景中,RK3588凭借6TOPS NPU算力成为热门平台,但环境搭建与模型转换的复杂性常导致部署效率低下。通过容器化工具链管理、量化参数对齐及多线程推理优化,可显著提升部署稳定性与推理性能。典型应用包括智能安防、工业质检与视频结构化分析。本文围绕RK3588的AI部署与环境搭建,系统梳理从系统烧录到板端推理的完整实践路径。

weixin_42520573的博客 282

数据仓库建模的步骤-从需求分析到模型优化的全面指南

数据仓库建模是一个系统化的过程,旨在设计和构建一个高效、可扩展的数据存储和分析环境。它的目标是将来自不同源系统的数据整合到一个统一的、面向主题的、随时间变化的数据集合中,以支持企业的决策制定过程。数据仓库建模不仅仅是创建表格和定义关系,它更是一门艺术,需要平衡业务需求、技术限制和未来的可扩展性。提供快速的查询性能支持复杂的分析需求适应业务的变化和增长保持数据的一致性和准确性接下来,让我们深入探讨数据仓库建模的每个主要步骤。

一个8年大数据开发工程师的碎碎念 2099

postgresql数据库性能优化-配置文件自动生成PGTune

通常我们配置postgresql数据库优化参数需要根据经验和服务器的配置,这里提供一种postgresql.conf文件自动生成优化参数的方式 访问如下地址: PGTune - calculate configuration for PostgreSQL based on the maximum performance for a given hardware configuration 然后根据实际数据库服务器情况,选择相应参数,最后生成配置文件 比如为postgresql11、linux操作

耕耘 1652

R语言caret拟合模型:train函数构建xgBoost Dart模型、模型调优、自定义设置trainControl函数和tuneLength参数

R语言caret拟合模型:train函数构建xgBoost Dart模型、模型调优、自定义设置trainControl函数和tuneLength参数

statistics+insight+vista+power 528

postgresql 配置文件优化

http://www.cnblogs.com/mywebnumber/p/5826795.html 默认的配置配置文件是保存在/etc/postgresql/VERSION/main目录下的postgresql.conf文件 如果想查看参数修改是否生效,可以用psql连接到数据库后,用<show 选项名> 来查看。 常见故障处理: http://blog.csdn....

weixin_34297300的博客 132

5、高级综合技术:从调度到优化的全面解析

本文深入解析了高级综合技术,涵盖从控制/数据流图构建、调度算法、分配绑定策略到编译器优化的全流程。通过案例分析和对比,探讨了不同优化策略对性能和资源利用的影响,并总结了关键要点及未来发展趋势,为高效利用FPGA实现数字设计提供了全面指导。

night的博客 117

交换机四种光互联技术:OIO、OBO、NPO与CPO

在过去几十年里,数据中心交换机主要依赖电信号通过铜线进行数据传输。然而,随着数据传输速率从100Gbps向400Gbps、800Gbps甚至1.6Tbps迈进,传统电互联(Electrical Input & Output, EIO)面临三大瓶颈:信号衰减、功耗激增和空间限制。例如,高速信号在长距离铜线传输中会产生严重的信号失真,迫使设计者加入数字信号处理器(DSP)来补偿信号衰减,这进一步推高了功耗和成本。此外,传统可插拔光模块的体积较大,限制了端口密度,难以满足现代数据中心对高带宽密度的需求。

网络技术联盟站 3126

postgressql配置参数的性能优化

pg配置参数的性能优化: PostgreSQL的配置文件是数据库目录(/opt/PostgresPlus/8.3/data)下的 postgresql.conf文件, 8.0以后的版本可支持K,M,G这样的参数,只要修改相应 参数后重新启动PostgreSQL服务就OK了。 [color=red]shared_buffers[/color]:这是最重要的参数,postgre...

摩西莫西 396

使用Mask2Former和X-Decoder训练自定义数据集及结果复现报告

本报告记录了使用MMDetection框架中的Mask2Former和X-Decoder模型在自定义数据集上的训练过程。报告包含环境配置、数据集准备、模型训练与优化(解决了Mask2Former的PQ值异常问题)、性能评估等关键环节。详细展示了从数据集转换(将客户提供的COCO格式数据适配MMDetection框架)、配置文件修改、到最终模型训练和评估的全流程。特别针对Mask2Former训练中的PQ值异常问题提供了解决方案,并对比了两种模型在自定义数据集上的表现。报告还包含完整的代码实现和技术细节。

huanghm88的专栏 1092

PostgreSQL 配置优化

PostgreSQL配置优化 PostgreSQL配置优化 硬件和系统配置 测试工具 配置文件 主要选项 测试数据 总结 硬件和系统配置 操作系统 Ubuntu13.04 系统位数 64 CPU Intel(R) Core(TM)2 Duo CPU 内存 4G 硬盘 Seagate ST2000DM001-1CH164 测试工具 PostgreSQL-9.1.11 测试工具 工具名称 pg

技术小站 3255

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

PostgreSQL优化工具配置-pgtune

pgtune是一个用于优化配置的开源工具。它可以自动根据你的硬件和工作负载为你生成合适的PostgreSQL配置文件。详情介绍见官网。

sinat_34953318的博客 777

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

PostgreSQL优化配置

PostgreSQL优化配置

GNAIXGNAHZ的博客 1113

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

PostgreSQL 批量COPY导入优化参数配置

本文针对高频批量导入场景(如日志表、临时数据)提出PostgreSQL性能优化方案。通过调整关键参数实现极致写入性能:禁用同步提交(synchronous_commit=off)、延长WAL写入延迟(wal_writer_delay=200-500ms)、增大检查点间隔(checkpoint_timeout=30min)等,可将吞吐量提升数倍。建议导入时采用事务批处理、禁用约束索引、控制批次大小(如每批10,000行),并在导入后手动执行CHECKPOINT。这套配置特别适合可容忍数据丢失、支持重导入的场景

★【World Of Moshow 郑锴】★ 863

PostgreSQL系统配置优化

PG的配置文件是数据库目录下的postgresql.conf文件,8.0以后的版本可支持K,M,G这样的参数,只要修改相应参数后重新启动PG服务就OK了。shared_buffers:这是最重要的参数,postgresql通过shared_buffers和内核和磁盘打交道,因此应该尽量大,让更多的数据缓存在shared_buffers中。通常设置为实际RAM的10%是合理的,比如50000(4

xto的专栏 4869
上一篇: pgwatch2在CentOS7上的安装和使用docker
下一篇: install pip3 for python 3.x
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值