摘要: 开始简单说就是一开始启动的很频繁(200ms 级),后来没有什么事情可做,就懒惰了。变成了 10秒级别。实际验证如下postgresql.conf 中和 log 相关部分:log_line_prefix = '%m' log_min_messages = info logging_collector = off 对 bufmgr.c 的 BgBufferSync的调试:bool BgBufferSync(void) { ……... 阅读全文
posted @ 2012-11-02 16:44 健哥的数据花园 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 开始bool BgBufferSync(void) { …… /* * Information saved between calls so we can determine the strategy * point's advance rate and avoid scanning already-cleaned buffers. */ st... 阅读全文
posted @ 2012-11-02 16:22 健哥的数据花园 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 开始bool BgBufferSync(void) { …… /* * Information saved between calls so we can determine the strategy * point's advance rate and avoid scanning already-cleaned b... 阅读全文
posted @ 2012-11-02 15:13 健哥的数据花园 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 开始上例子:[作者:技术者高健@博客园 mail:luckyjackgao@gmail.com][root@localhost soft]# cat caller.c#include "funclib.h"int main(){ int i=0; for (i=0; i<100; i++) { int temp=func001(); } return 0; }[root@localhost soft]# [root@localhost soft]# cat funclib.hextern int func001(); /*in funclib.c*/exter... 阅读全文
posted @ 2012-11-02 15:02 健哥的数据花园 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 开始重要的是:必须了解到 静态变量的使用,它们是贯穿其BgBufferSync 的主线。在一次次调用中始终存在,值也在累积。bool BgBufferSync(void) { /* info obtained from freelist.c */ int strategy_buf_id; uint32 strategy_passes; ... 阅读全文
posted @ 2012-11-02 14:51 健哥的数据花园 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 开始,在代码中加入调试信息。无关部分设省略。bool BgBufferSync(void) { …… int bufs_to_lap; …… if (save... 阅读全文
posted @ 2012-11-02 14:04 健哥的数据花园 阅读(7501) 评论(0) 推荐(0) 编辑
摘要: 开始把BgBufferSync 的代码内容简略化,得到:bool BgBufferSync(void) { …… /* Used to compute how far we scan ahead */ long strategy_delta; int bufs_to_lap; …… ... 阅读全文
posted @ 2012-11-02 11:38 健哥的数据花园 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 开始看PostgreSQL 中 shared_buffers 的值 是 32MB打印 src/backend/storage/buffer/bufmgr.c 中, NBuffers 的值:结果:[postgres@localhost bin]$ ./postgres -D /usr/local/pgsql/dataLOG: database system was shut down at 2012-11-01 17:19:27 CSTNBuffers is: 4096LOG: autovacuum launcher startedLOG: database system is ready... 阅读全文
posted @ 2012-11-02 09:37 健哥的数据花园 阅读(488) 评论(0) 推荐(1) 编辑
摘要: 开始[作者:技术者高健@博客园 mail:luckyjackgao@gmail.com][root@localhost test]# cat teststr.c#include<stdio.h>#include<stdlib.h>int main(){ struct person { char name[8]; int age; char sex[4]; char depart[20]; }; struct person student; struct person class[]= { { ... 阅读全文
posted @ 2012-11-02 08:57 健哥的数据花园 阅读(182) 评论(0) 推荐(0) 编辑