当前位置: 首页 > news >正文

天津做网站需要多少钱谷歌seo价格

天津做网站需要多少钱,谷歌seo价格,asp网站攻击,Dw制作个人网站事务提交会通过delayChkpt阻塞checkpoint Postgresql事务在事务提交时(执行commit的最后阶段)会通过加锁阻塞checkpoint的执行,尽管时间非常短,分析为什么需要这样做: 首先看提交堆栈 #1 0x0000000000539175 in Co…

事务提交会通过delayChkpt阻塞checkpoint

Postgresql事务在事务提交时(执行commit的最后阶段)会通过加锁阻塞checkpoint的执行,尽管时间非常短,分析为什么需要这样做:

首先看提交堆栈

#1  0x0000000000539175 in CommitTransaction () at xact.c:2079
#2  0x0000000000539e04 in CommitTransactionCommand () at xact.c:2824
#3  0x000000000087d1ea in finish_xact_command () at postgres.c:2482
#4  0x000000000087af27 in exec_simple_query (query_string=0x24050e0 "insert into t1 values (1,1);") at postgres.c:1154

函数调用过程

关键函数如下:

CommitTransaction...latestXid = RecordTransactionCommit();...BufmgrCommit()START_CRIT_SECTION()【关键流程】END_CRIT_SECTION()latestXid = TransactionIdLatest(xid, nchildren, children);SyncRepWaitForLSN(XactLastRecEnd, true);return latestXid;...ProcArrayEndTransaction(MyProc, latestXid);...// clean ...

关键流程

delayChkpt阻塞checkpoint发生位置:

  1. 事务提交配置delayChkpt
RecordTransactionCommit...START_CRIT_SECTION();MyPgXact->delayChkpt = true;/* 写XLOG:COMMIT *//* 写CLOG:内存写不刷盘 */MyPgXact->delayChkpt = false;...
  1. CreateCheckPoint等待delayChkpt
    联动CreateCheckPoint,会在【2】等在所有Xact的delayChkpt为false才能继续
CreateCheckPoint// 【1】计算位置(重要)WALInsertLockAcquireExclusive();curInsert = XLogBytePosToRecPtr(Insert->CurrBytePos);freespace = INSERT_FREESPACE(curInsert);if (freespace == 0){if (curInsert % XLogSegSize == 0)curInsert += SizeOfXLogLongPHD;elsecurInsert += SizeOfXLogShortPHD;}checkPoint.redo = curInsert;RedoRecPtr = XLogCtl->Insert.RedoRecPtr = checkPoint.redo;WALInsertLockRelease();// 【2】通过delayChkpt等其他所有正在提交中、正在写日志的事务vxids = GetVirtualXIDsDelayingChkpt(&nvxids);if (nvxids > 0){do{pg_usleep(10000L);	/* wait for 10 msec */} while (HaveVirtualXIDsDelayingChkpt(vxids, nvxids));}pfree(vxids);// 【3】刷数据CheckPointGuts(checkPoint.redo, flags);// 【4】记chkpt日志XLogBeginInsert();XLogRegisterData((char *) (&checkPoint), sizeof(checkPoint));recptr = XLogInsert(RM_XLOG_ID,shutdown ? XLOG_CHECKPOINT_SHUTDOWN :XLOG_CHECKPOINT_ONLINE);XLogFlush(recptr);

为什么checkpoint需要等事务提交

确定REDO位点是在createCheckpoint的函数前面执行的,checkpoint和事务提交并发会有下面三种情况发生(假设没有delayChkpt会有情况二发生)
在这里插入图片描述
情况一:redo point在commit提交前,那么如果crash发生了,redo过程会覆盖这条xlog,不会有问题

情况二:如果没有delayChkpt,redo point可能发生在上图中的位置(然后checkpoint刷完数据后,当前事务才写clog),XLOG已经先写了,如果crash发生了,redo过程不会覆盖这条xlog,而且clog信息不存在,那么commit信息彻底丢掉了。

情况三:redo point在事务提交后,redo时xlog虽然还是做不到,但是clog一定会被刷下去,所以我们不会丢失事务提交信息。

http://www.tj-hxxt.cn/news/70369.html

相关文章:

  • 龙岩网站推广营销西安百度网站快速优化
  • wordpress服务器要多大内存上海网站关键词排名优化报价
  • wordpress自带小工具栏泉州seo
  • 外贸网站都有那些广点通广告投放平台
  • 深圳市城乡建设部网站首页数据分析软件哪个最好用
  • internet网站建设试卷免费seo视频教学
  • 想找人做网站和appaso具体优化
  • 佛山网站如何制作百度账号官网
  • b2c网站策划方案成都网站seo费用
  • 唐山做网站哪家公司好青岛seo网站关键词优化
  • 长沙有什么做试卷的网站营销软件
  • 做个ppt模板网站开发软文文案范文
  • 广州网站建设推广我想注册一个网站怎么注册
  • 网站与网页seo网络营销推广公司
  • 自助网站建设系统百度问一问免费咨询
  • 建电子商务网站什么是竞价
  • 济南网站建设流程友情链接交换统计表
  • 网站建设的学校怎么查百度竞价关键词价格
  • 网站建设重点网站的建设流程
  • 网络技术网站备案查询平台官网
  • 网站建设要钱吗国家卫健委:不再发布每日疫情信息
  • 北京网站建设服务器维护短视频广告投放平台
  • 在公司平台做网站竞拍武汉网络推广有哪些公司
  • 淘客网站备案seo企业培训班
  • 照片网站模版广告公司网上接单平台
  • 建设网站哪些公司好seo网站关键词排名快速
  • 2017年网站推广怎么做济南seo关键词优化方案
  • 设计师必备的国际设计网站seo外链发布技巧
  • 做网站一定要域名吗二级域名分发平台
  • 百度只收录栏目不收录网站文章关键词优化顾问