小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-008:LWLock:锁管理器与预处理语句

Postgres在执行简单SELECT时,前五次使用自定义计划,锁定表及所有索引。第六次切换到通用计划,但仍锁定所有索引。第七次开始仅锁定表。这是由于规划器锁和执行器锁的机制不同所致。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-008:LWLock:锁管理器与预处理语句

Planet PostgreSQL
Planet PostgreSQL · 2025-10-14T23:59:59Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-005:Postgres 18的更多LWLock:LockManager基准测试

在2023-2024年,PostgresAI的客户在大机器上遇到LWLock:LockManager争用问题。PG18发布后,Denis Morozov在16个vCPU的虚拟机上成功重现了该问题。调整max_locks_per_transaction后发现其对规划时间有影响。计划对PG17进行基准测试,并研究小型机器是否会出现类似问题。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-005:Postgres 18的更多LWLock:LockManager基准测试

Planet PostgreSQL
Planet PostgreSQL · 2025-10-09T00:00:00Z
尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-003:LWLock的根源:锁管理器

锁管理器负责管理重型锁,事务结束时释放。SELECT操作会锁定表及其索引。Postgres 8.2之前,所有锁信息存储在一个哈希表中,导致竞争。为缓解此问题,哈希表被分为16个分区。2011年引入快速路径锁,减少竞争并提升性能。Postgres 18进一步优化以应对分区带来的挑战。

尼古拉·萨莫赫瓦洛夫:#PostgresMarathon 2-003:LWLock的根源:锁管理器

Planet PostgreSQL
Planet PostgreSQL · 2025-10-07T00:00:00Z
Jeremy Schneider:Postgres 索引、分区和 LWLock:锁管理器的可扩展性

PostgreSQL用户在Lock Manager方面遇到了争用问题,导致性能下降。这个问题已经被GitLab和Midjourney等多家公司观察到。问题与轻量级锁有关,高事务率和分区数量等因素加剧了问题。缓解策略包括增加容量,应用层缓存,删除不必要的索引,并确保对分区表进行适当的查询优化。尽管出现了这些问题,PostgreSQL仍然是一种受欢迎且可扩展的数据库,正在进行改进Lock Manager可扩展性的讨论。

Jeremy Schneider:Postgres 索引、分区和 LWLock:锁管理器的可扩展性

Planet PostgreSQL
Planet PostgreSQL · 2024-03-04T01:44:03Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码