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

怎么使用PostgreSQL中的lightweight locks.

113次阅读
没有评论

共计 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字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 一级日本高清视频免费观看 | 精品高潮呻吟99av无码视频 | 午夜视频免费在线观看 | 天干天干天啪啪夜爽爽99 | 成年视频xxxxx在线入口 | 91精品国产综合成人 | 亚洲欧洲久久久精品 | 国产精品 高清 尿 小便 嘘嘘 | 日本一区二区不卡视频 | 青青久精品观看视频最新 | 亚洲国产成人精品无码区在线网站 | 无码av免费精品一区二区三区 | 色综合久久一区二区三区 | 91精品免费在线观看 | 成人高清在线观看播放 | 高清无码一区二区在线观看吞精 | 色窝窝无码一区二区三区成人网站 | 国产成人综合久久精品尤物 | 国产伊人久久 | 精品国产爱久久 | 伊人久久成人 | 日日碰狠狠丁香久燥 | 毛片久久久 | 欧美黑人激情性久久 | 久热这里只有 | 国产精品99久久久久久久女警 | a狠狠久久蜜臀婷色中文网 a黄毛片 | 免费av片在线观看蜜芽tv | 久久久噜噜噜久久 | 黄a在线观看 | 日本夜爽爽一区二区三区 | 成人区精品一区二区毛片不卡 | 日韩一级影片 | 国内久久精品视频 | 2021国产成人综合亚洲精品 | 乱人伦中文字幕视频在线 | 极品美女扒开粉嫩小泬 | 在线欧美不卡 | 欧美精品一二区 | 国产成人精品无码a区在线观看 | 人妻少妇精品无码专区app |