版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PG18可观测性增强解锁精细化运维新特性IvorySQL
2025生态大会暨PostgreSQL高峰论坛概述•
监控增强•
I/O监控•
表级监控•
后台进程监控•
进度监控•
诊断能力提升•
EXPLAIN(VACUUM/ANALYZE)•
内存•日志增强IvorySQL
2025生态大会暨PostgreSQL高峰论坛I/O监控•I/O统计精度从块升级为字节,
pg_stat_io视图增加字段•
read_bytes•
write_bytes•
extend_bytes•
多维度I/O统计•relation,•temp_relation•
wal•
进程级I/O统计•
pg_stat_get_backend_io(pid)•
pg_stat_get_backend_wal(pid)•
可重置统计信息•
pg_stat_reset_backendIvorySQL
2025生态大会暨PostgreSQL高峰论坛表级监控•
pg_stat_all_tables增加耗时统计•total_vacuum_time
--
手动VACUUM总耗时•total_autovacuum_time
--
自动VACUUM总耗时•
total_analyze_time
--
手动ANALYZE总耗时•total_autoanalyze_time
--
自动ANALYZE总耗时IvorySQL
2025生态大会暨PostgreSQL高峰论坛后台进程监控•pg_stat_checkpointer视图增加监控项•num_done:
--
完成的检查点数•
sl
ru_written:
--
SLRU缓冲区写入数•write_time:
--
共享缓冲区写入耗时•
sync_time:
--
同步总耗时•
pg_stat_database视图增加并行统计•parallel_workers_to_launch
--
计划启动的并行worker数•parallel_workers_launched
--
实际启动的并行worker数IvorySQL
2025生态大会暨PostgreSQL高峰论坛进度监控vacuum/analyze增加延迟统计•pg_stat_progress_vacuum视图增加延迟统计•
delay_time•pg_stat_progress_analyze视图增加延迟统计•
delay_time•track_cost_delay_timing参数•
on
--
打开延迟统计•
off
--
关闭延迟统计(默认)•
相关参数•vacuum_cost_delay•vacuum_cost_limit•vacuum_cost_page_dirty•vacuum_cost_page_hit•
vacuum_cost_page_missIvorySQL
2025生态大会暨PostgreSQL高峰论坛PgStatIvorySQL
2025生态大会暨PostgreSQL高峰论坛1.
WAL:
records=3
bytes=1234
buffers
full=02.
Buffers:
shared
hit=22
read=33.
Index
Searches:
104.
Storage:
Memory
Maximum
Storage:
1024kB5.
Worker
0:
Heap
Blocks:
exact=60
lossy=46.
Disabled:
true7.
Window:
(PARTITION
BY
category
ORDER
BY
value)3.
显示每个索引节点扫描的次数4.
为Material、Window
Aggregate、CTE节点添加内存磁盘使用详情5.
为Parallel
Bitmap
Heap
S
can添加worker缓存统计1.
增加WAL缓冲区满的次数2.
默认包含BUFFERS输出
ANALYZE
EXPLAIN7.
显示窗口函数的参数IvorySQL
2025生态大会暨PostgreSQL高峰论坛EXPLAIN6.
指示禁用的节点
WAL
EXPLAINexplain
(analyze,verbose,wal)
select
count(*)
over
(partition
by
category)
from
test_data
where
id>10000;WindowAggOutput:
count(*)
OVER
w1,
categoryWindow:
w1
AS
(PARTITION
BY
test_data.category)Storage:
Memory
Maximu
Storage:
17kBBuffers:
shared
hit=28839
read=1584I/O
Timings:
shared
read=187.374->
Index
Scan
using
idx_test_data_category
on
public.test_dataOutput:
categoryFilter:
(test_data.id
>
10000)Rows
Removed
by
Filter:
10000Index
Searches:
1Buffers:
shared
hit=28839
read=1584I/O
Timings:
shared
read=187.374IvorySQL
2025生态大会暨PostgreSQL高峰论坛GatherOutput:
id,
category,
valueWorkers
Planned:
2Workers
Launched:
2Buffers:
shared
hit=6700->
Parallel
Bitmap
Heap
S
can
on
public.test_parallel
Output:
id,
category,
valueRecheck
Cond:
(test_parallel.category
=
ANY
('{1,2,3,4,5}'::integer[]))Rows
Removed
by
Index
Recheck:
172699Heap
Blocks:
exact=123
lossy=1463Buffers:
shared
hit=6700Worker
0:
actual
time=74.481..488.886
rows=207004.00
loops=1Heap
Blocks:
exact=209
lossy=2129Buffers:
shared
hit=2358Worker
1:
actual
time=76.028..491.388
rows=202855.00
loops=1Heap
Blocks:
exact=202
lossy=2076EXPLAINEXPLAIN(ANALYZE,VERBOSE)SELECT
*
FROM
test_parallelWHERE
category
IN
(1,
2,
3,
4,
5);IvorySQL
2025生态大会暨PostgreSQL高峰论坛1.
I/O
timings:
read:
0.200
ms,
write:
0.000
ms2.
avg
read
rate:
0.006
MB/s,
avg
write
rate:
0.019
MB/s3.
WAL
usage:
10
records,
3
full
page
images,
19352
bytes,
0
buffers
full4.
system
usage:
CPU:
user:
1.16
s,
system:
0.09
s,
elapsed:
1.26
sVACUUM/ANALYZE1.
I/O2.
平均读统计3.
WAL4.
CPU
VERBOAE
ANALYZEVACUUMIvorySQL
2025生态大会暨PostgreSQL高峰论坛VACUUM/ANALYZEpostgres=#
analyze
verbose
test_data;INFO:
analyzing
"public.test_data"INFO:
"test_data":
scanned
915
of
915
pages,
containing
110010
live
rows
and
1dead
rows;
30000
rows
in
sample,
110010
estimated
total
rowsINFO:
finished
analyzing
table
"postgres.public.test_data"I/O
timings:
read:
0.200
ms,
write:
0.000
msavg
read
rate:
0.006
MB/s,
avg
write
rate:
0.019
MB/sbuffer
usage:
1236
hits,
1
reads,
3
dirtiedWAL
usage:
10
records,
3
full
page
images,
19352
bytes,
0
buffers
fullsystem
usage:
CPU:
user:
1.16
s,
system:
0.09
s,
elapsed:
1.26
sANALYZEIvorySQL
2025生态大会暨PostgreSQL高峰论坛内存诊断•跨进程内存上下文统计信息查询pg_get_process_memory_contexts(pid,summary,timeout)•pg_backend_memory_contexts视图增强•添加path列显示内存上下文的层次路径•添加type列显示内存上下文类型•
level列改为从1开始(之前从0开始)•移除parent列(被path替代)IvorySQL
2025生态大会暨PostgreSQL高峰论坛内存诊断内存监控进程化pg_get_process_memory_conte
xts函数原理。IvorySQL
2025生态大会暨PostgreSQL高峰论坛日志增强•log_connections从布尔值扩展为支持多种连接阶段的细粒度日志记录•
on•
off(默认)•
receipt•
authentication•
authorization•
setup_durations•all•新增log_lock_failure,记录锁获取失败的详细信息(SELECT
...
NOWAIT)•log_line_prefix新增%L,在日志中显示服务器IP地址IvorySQL
2025生态大会暨PostgreSQL高峰论坛日志增强--
日志输出示例2025-06-23
10:53:06.377
CST
[92142]
LOG:
connection
received:
host=10.11.12.10
port=409702025-06-23
10:53:06.380
CST
[92142]
LOG:
connection
authenticated:
user="postgres"
method=trust
(/home/postgres/pgsql/data/pg_hba.conf:120)2025-06-23
10:53:06.380
CST
[92142]
LOG:
connection
authorized:
user=postgres
database=postgres
application_name=psql2025-06-23
10:53:06.384
CST
[92142]
LOG:
connection
ready:
setup
total=8.442
ms,
fork=0.808
ms,
authentication=0.754
ms--
日志输出示例2025-06-23
10:56:53.804
CST
[92142]
LOG:
process
92142
could
not
obtain
ShareLock
on
transaction
8072025-06-23
10:56:53.804
CST
[92142]
DETAIL:
Process
holding
the
lock:
92085,
Waitqueue:
.2025-06-23
10:56:53.804
CST
[92142]
STATEMENT:
select
*
from
t
for
update
nowait;2025-06-23
10:56:53.804
CST
[92142]
ERROR:
could
not
obtain
lock
on
row
in
relation
"t"2025-06-23
10:56:53.804
CST
[92142]
STATEMENT:
select
*
from
t
for
update
nowait;IvorySQL
2025生态大会暨PostgreSQL高峰论坛实践慢SQL诊断--
1.
识别慢查询SELECT
pid,
query,
query_start,
stateFROM
pg_stat_activityWHERE
state
=
'active'
AND
now()
-
query_start
>
interval
'5
minutes';--
2.
分析I/O情况SELECT
*
FROM
pg_stat_get_backend_io(pid);--
3.
分析内存使用SELECT
*
FROM
pg_get_process_memory_contexts(pid,
false,
10.0);--
4.
详细执行计划EXPLAIN
(ANALYZE,
VERBOSE,
BUFFERS)
<slow_query>;IvorySQL
2025生态大会暨PostgreSQL高峰论坛实践性能测试--
1.
重置统计SELECT
pg_stat_reset_shared('io');SELECT
pg_stat_reset_backend_stats(pg_backend_pid());--
2.
执行测试--
...
执行测试SQL
...--
3.
收集结果SELECT
*
FROM
pg_stat_get_backend_io(pg_backend_pid());SELECT
*
FROM
pg_s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建莆田第五中学九华分校招聘2人笔试模拟试题及答案解析
- 2026中国邮政集团有限公司河池市分公司招募实习生(广西)笔试模拟试题及答案解析
- 2026福建泉州晋江市内坑镇土垵幼儿园春季学期招聘专任教师考试备考试题及答案解析
- 2026广东深圳市宝安区石岩宝石幼儿园招聘1人笔试参考题库及答案解析
- 2026中国海洋大学食品科学与工程学院实验技术人员招聘考试备考题库及答案解析
- 2026甘肃张掖海升现代农业有限公司招聘70人考试备考试题及答案解析
- 2026四川德阳什邡市妇幼保健院招聘护士4人考试备考试题及答案解析
- 2025年光伏电站运维设备维护测试卷及答案
- 工程测量施工方案
- 2025年护理风险防范试题及答案
- 城乡环卫基础设施建设要求DB3212T 1107-2022
- 2024年安阳职业技术学院单招职业技能测试题库
- 文化旅游行业景区智能化升级方案
- 无人机装调检修工理论知识考试题库及答案
- 2025新译林版英语七年级下单词表
- 机场跑道沥青混凝土施工组织设计方案
- 独生子女赡养父母协议书范本
- 汽车乘员仿真RAMSIS操作指南
- 天津市历年中考语文现代文阅读真题40篇(含答案)(2003-2023)
- 陕西省渭南市临渭区2023-2024学年部编版七年级下学期期末历史试卷(解析版)
- 城镇供水工程 投标方案(技术标)
评论
0/150
提交评论