上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 104 下一页
摘要: 开始在postmaster.c 中的 BackendStartup 中,有如下的代码:其中定义了 IsUnderPostmaster=true。而bgwriter 作为 postmaster 的子进程,它的 IsUnderPostmaster 也是为真。 * BackendStartup -- start backend process * * returns: STATUS_ERROR if the fork failed, STATUS_OK otherwise. * * Note: if you change this code, also consider StartAutovacuu 阅读全文
posted @ 2012-11-06 14:24 健哥的数据花园 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 开始pg_lath.c 是后期生成的。configure 脚本中有如下的信息:# Select latch implementation type.if test "$PORTNAME" != "win32"; then LATCH_IMPLEMENTATION="src/backend/port/unix_latch.c"else LATCH_IMPLEMENTATION="src/backend/port/win32_latch.c"fiac_config_links="$ac_config_link 阅读全文
posted @ 2012-11-06 09:19 健哥的数据花园 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 开始简单说就是一开始启动的很频繁(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) 编辑
上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 104 下一页