在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

怎么使用PostgreSQL中的lightweight locks.

130次阅读
没有评论

共计 2396 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章主要介绍“怎么使用 PostgreSQL 中的 lightweight locks.”,在日常操作中,相信很多人在怎么使用 PostgreSQL 中的 lightweight locks. 问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用 PostgreSQL 中的 lightweight locks.”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

简介
PG 中的 lightweight locks(LWLocks, 在其他数据库称为 Latchs) 轻量级锁用于控制内存访问, 只有两种级别的锁:shared 和 exclusive.
通过系统视图 pg_stat_activity 可查看关于 Lock/Wait 的相关信息

[local]:5432 pg12@testdb=# select * from pg_stat_activity where pid = 5914;
-[ RECORD 1 ]----+------------------------------------
datid | 16384
datname | testdb
pid | 5914
usesysid | 10
usename | pg12
application_name | psql
client_addr | 
client_hostname | 
client_port | -1
backend_start | 2019-08-22 11:40:58.504462+08
xact_start | 2019-08-22 12:16:02.528978+08
query_start | 2019-08-22 12:16:04.372427+08
state_change | 2019-08-22 12:16:04.374888+08
wait_event_type | Client
wait_event | ClientRead
state | idle in transaction
backend_xid | 716
backend_xmin | 
query | delete from t_prewarm where id = 1;
backend_type | client backend
Time: 14.262 ms
[local]:5432 pg12@testdb=# select * from pg_stat_activity where pid = 5964;
-[ RECORD 1 ]----+------------------------------------------------
datid | 16384
datname | testdb
pid | 5964
usesysid | 10
usename | pg12
application_name | psql
client_addr | 
client_hostname | 
client_port | -1
backend_start | 2019-08-22 11:41:10.420664+08
xact_start | 2019-08-22 12:16:11.812598+08
query_start | 2019-08-22 12:16:18.718567+08
state_change | 2019-08-22 12:16:18.718572+08
wait_event_type | Lock
wait_event | transactionid
state | active
backend_xid | 
backend_xmin | 716
query | select * from t_prewarm where id = 1 for share;
backend_type | client backend
Time: 4.655 ms

LWLock 类型
WALInsertLock: 保护 WAL buffers. 可以增加 WAL buffers 来改善争用. 设置 synchronous_commit=off 和 full_page_writes=off 可减少争用, 但不建议这样做.
WALWriteLock:WAL Record 刷盘或 WAL segment 切换时使用该锁保护.synchronous_commit=off 可清除刷盘等待.full_page_writes=off 可减少刷盘数据大小.
LockMgrLock: 在只读工作负载下会出现在等待事件中. 不论大小, 都会锁定 relations. 该 Lock 不是单个锁, 而是至少 16 个分区. 因此, 在基准测试时使用多个表显得很重要.
ProcArrayLock: 包含 ProcArray 结构体.
CLogControlLock: 包含 CLogControl 结构体, 如果在 pg_stat_activity 中频繁出现, 那应检查 $PGDATA/pg_clog(PG11+:pg_xact) 目录, 应位于已缓存的文件系统上.
SInvalidReadLock: 包含 sinval 结构体.Readers 使用共享锁, 而 SICleanupQueue 和其他数组范围内的更新则请求独占锁. 如果共享缓存存在较大的压力, 拿在系统视图上可看到该结构体的出现, 增大 shared_buffers 可减少争用.
BufMappingLocks: 包含 buffers 的区域.PG 设置了 128 个 buffer 区域用于管理整个缓存.

Spinlocks
最低级别的锁是自旋锁, 使用与 CPU 特定的机制实现.

到此,关于“怎么使用 PostgreSQL 中的 lightweight locks.”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-26发表,共计2396字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 亚洲国产精品网站久久 | 成人爱做日本视频免费 | 欧美人与禽zozzo性伦交 | 国产女人水真多18毛片18精品 | 国产精品国产三级在线高清观看 | 国产精品你懂的在线播放 | 欧美性猛交ⅹxxx乱大交妖精 | 国产一级黄色影片 | 国产真实露脸乱子伦原著 | 国产乱插 | 亚洲区小说区激情区图片区 | 亚洲精品一区二区三区婷婷月 | 日韩精品视频一区二区三区 | 亚洲精品久久一区影院 | 欧美一级在线毛片免费观看 | 青青草原伊人 | 日本不卡免费新一区二区三区 | 无码国产69精品久久久孕妇 | 产精品无码久久_亚洲国产精 | 免费被黄动漫网站在线观看下 | 亚洲国产精品一区二区第一页 | 亚洲欧洲国产成人综合在线 | 国产乱对白精彩 | 欧美xxxx做受欧美 | 日产精品久久久久久久蜜臀 | 亚洲av无码乱码在线观看代蜜桃 | 亚洲精品无码成人网站 | 亚洲日韩亚洲另类激情文学 | 久久日本精品一区二区免费 | 亚洲激情视频在线 | 99re九精品视频在线视频 | 日本爽爽爽爽爽爽免费 | 男性天堂网 | 日韩精品欧美国产精品亚 | 国产看片网站 | 亚洲乱码日产精品bd在线观看 | 色姑娘综合网 | 久久成人国产精品二三区 | 国产精品无码免费专区午夜 | 精品久久久久亚洲 | 黑人毛片 |