当前位置: 首页 > 创领中心 > 网络优化

图解PostgreSQL进程结构和内存结构

  • 网络优化
  • 2024-11-15

一.建设会话的环节

阶段一:

客户端动员恳求。

阶段二:

该阶段由主服务postmaster进程担任。

阶段三:

阶段二经过之后,主服务进程为该客户端独自fork一个客户端上班进程Postgres。

SP进程:会话进程。用户一旦验证成功就会fork一个新的进程。

调配PGA外面的work_mem,从磁盘读取数据到SGA中,与SP通讯。

阶段四:

客户端与Postgres进程建设通讯衔接,由Postgres进程担任后续一切的客户端恳求操作,直至客户端分开后,该Postgres进程隐没。

二.降级语句的流程

建设通讯之后,降级操作将磁盘中数据读取到shared_buffers,对数据的操作在此启动,同时会在logbuffer中记载降级操作,并且后续会有BgWriter(图中BGW进程)进程将数据刷脏到磁盘中。

数据刷脏前,日志会先落盘,log buffer会被进程WaLWriter(预写式日志)进程刷新到磁盘。

三.PGA内存

用于寄存数据库会话访问暂时表数据,系统自动值为8M。

可以在独自的session中对该参数启动设置,尤其是须要访问比拟大的暂时表时,将会有清楚的性能优化。

其担任外部的sort和hash操作,适合的work_mem大小能够保障这些操作在内存中启动。

关键是针对数据库的保养操作或许语句。

关键针对VACUUM,CREATE INDEX,ALTER TABLE ADD FOREIGN KEY等操作。

在对整个数据库启动VACUUM或许较大的index启动重建时,适当的调整该参数十分必要。

PostreSQL文档揭示在启用了autoacuum性能的状况下,该参数不能性能的过大。

四.SGA内存

它示意数据缓冲区中的数据块的个数,每个数据块的大小是8KB。

数据缓冲区位于数据库的共享内存中,它越大越好,不能小于128KB。

这个参数只要在启动数据库时,能力被设置。

自动值是128MB。

介绍值:1/4 主机物理内存。

可以降落IO,假设遇上比拟多的并发短事务,应该和commit_delay一同用 。

寄存WAL数据的内存空间大小,系统自动值是64K。

墨天轮原文链接:

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://clwxseo.com/wangluoyouhua/8788.html

猜你喜欢

热门资讯

关注我们

微信公众号