- 博客(7)
- 资源 (6)
- 收藏
- 关注
原创 superpi脚本评估计算能力
https://www.linuxidc.com/Linux/2009-06/20495.htm单核:for i in {1..10};do for cpu in {0..15}; do (time echo "scale=5000; 4*a(1)" | taskset -c 1 bc -l -q > /dev/null) >> single.res 2>&1 ; done ;donecat single.res | grep real | cut -b 8-13 |
2021-05-25 17:52:21 248
原创 FIO使用场景总结
https://help.aliyun.com/document_detail/147897.html以下测试命令适用于NVMe SSD本地盘和SATA HDD本地盘。注意加size=1GB随机写IOPS:fio -direct=1 -iodepth=32 -rw=randwrite -ioengine=libaio -bs=4k -numjobs=4 -time_based=1 -runtime=1000 -group_reporting -filename=/dev/vdx -name=test
2021-05-24 14:40:19 948
原创 Postgresql创建检查点
背景本篇分享创建检查点的过程和一些细节CreateCheckPoint:启动检查点 <-------- 本篇涉及 | CheckPointGuts:检查点流程入口 <-------- 本篇涉及 | CheckPointBuffers:刷缓存页入口 | BufferSync:刷缓存页具体函数 | CheckpointWriteDelay:主动延迟函数
2021-05-20 15:30:19 472
原创 Postgresql检查点中如何获取xlog位置(未完工)
背景检查点中如何获取xlog位置CreateCheckPoint:启动检查点 <-------- 本篇涉及 | ... XLogBytePosToRecPtr <-------- 本篇涉及 ... CheckPointGuts:检查点流程入口 | CheckPointBuffers:刷缓存页入口 | BufferSync:刷缓存页具体函数 | CheckpointWriteDel
2021-05-20 14:37:26 263
原创 Postgresql检查点调度
背景BufferSync函数写入每个页面之后,都会调用CheckpointWriteDelay来控制BufferSync的写入频率,我们知道PG提供参数checkpoint_completion_target控制chk的刷盘速度,具体是如何实现的?checkpoint_completion_target (floating point)Specifies the target of checkpoint completion, as a fraction of total time between
2021-05-19 16:14:01 224
原创 Postgresql存储底层封装smgr源码分析
注:本专栏所有分析以函数为主线,必要数据结构会带入讲解;数据库版本为Postgresql10.16。注:如有讨论的需要请email to [email protected]概要Postgresql外存管理器封装了与文件系统的所有接口,提供更高级、更适用于数据库的文件操作接口,这部分代码的位置:$ pwd/home/mingjie.gmj/dev/src/postgresql-10.16/src/backend/storage/smgr$ ll *.c-rw-r--r-- .
2021-05-18 15:11:24 1543 2
原创 Postgresql中的sync相关参数源码分析
一、问题Postgresql中常见的的sharebuffer配置为内存的25%,而mysql的bp常见配置为内存的75%,原因和刷盘方式不同。常见模式(当然和配置有关)pgsql:数据依赖OS CACHE,日志依赖OS CACHE mysql:数据不依赖OS CACHE使用O_DIRECT直接刷盘,日志依赖OS CACHE这里着重分析PG的几种sync参数的不同二、参数1 fsync决定是否同步刷xlog,默认打开。#fsync = on ...
2021-05-17 16:08:01 867
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人