色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

詳解PostgreSQL中的checkpoint概念

  checkpoint又名檢查點,在oracle中checkpoint的發(fā)生意味著之前的臟數(shù)據(jù)全部寫回磁盤,數(shù)據(jù)庫實現(xiàn)了一致性與數(shù)據(jù)完整性。oracle在實現(xiàn)介質(zhì)恢復(fù)時將以最近的checkpoint為參照點執(zhí)行事務(wù)前滾。在postgresql中checkpoint起著相同的作用:寫臟數(shù)據(jù);完成數(shù)據(jù)庫的完整性檢查。

  checkpoints相關(guān)參數(shù):
  checkpoint_segments:
  WAL log的最大數(shù)量,系統(tǒng)默認值是3。該值越大,在執(zhí)行介質(zhì)恢復(fù)時處理的數(shù)據(jù)量也越大,時間相對越長。
  checkpoint_timeout:
  系統(tǒng)自動執(zhí)行checkpoint之間的最大時間間隔,同樣間隔越大介質(zhì)恢復(fù)的時間越長。系統(tǒng)默認值是5分鐘。
  checkpoint_completion_target:
  該參數(shù)表示checkpoint的完成目標,系統(tǒng)默認值是0.5,也就是說每個checkpoint需要在checkpoints間隔時間的50%內(nèi)完成。
  checkpoint_warning:
  系統(tǒng)默認值是30秒,如果checkpoints的實際發(fā)生間隔小于該參數(shù),將會在server log中寫入寫入一條相關(guān)信息。可以通過設(shè)置為0禁用信息寫入。

  checkpoint執(zhí)行控制:
  1,數(shù)據(jù)量達到checkpoint_segments*16M時,系統(tǒng)自動觸發(fā);
  2,時間間隔達到checkpoint_timeout參數(shù)值時;
  3,用戶發(fā)出checkpoint命令時。

  checkpoints參數(shù)調(diào)整:
  正確合適的參數(shù)值總能夠給系統(tǒng)帶來益處,checkpoints參數(shù)合理的配置不僅能夠減少系統(tǒng)IO寫入的阻塞,同時還會減少高峰時IO給系統(tǒng)帶來的壓力。
  首先可以通過觀察checkpoint_warning參數(shù)寫入的日志,來估算系統(tǒng)寫入的數(shù)據(jù)量:一般情況下    checkpoint_warning參數(shù)值小于checkpoint_timeout;
  估算公式:checkpoint_segments*16M*(60s/m)/checkpoint_warning=大致每分鐘數(shù)據(jù)量,得到每分鐘寫入的數(shù)據(jù)量(這里全部是估算,建立在warning參數(shù)的合理設(shè)置上)。
  合理配置情況:checkpoint_segments*16M*checkpoint_timeout(m)略大于上述值.
  以上述公式為依據(jù),配置checkpoint_segments與checkpoint_timeout,兩個參數(shù)應(yīng)該盡量平衡為一個足夠大和足夠小的值。
  在數(shù)據(jù)量異常高的情況下應(yīng)該考慮,磁盤帶寬與checkpoint時數(shù)據(jù)量的關(guān)系。

  個人觀點:
  假如以checkpoint_segments參數(shù)為閥值時,可以計算高峰時需要的帶寬(秒):checkpoint_segments*16M/(checkpoint_warning*checkpoint_completion_target)。
  假如以checkpoint_timeout參數(shù)為閥值時,checkpoint_warning值最好大于等于checkpoint_timeout,通過監(jiān)控系統(tǒng)數(shù)據(jù)字典統(tǒng)計寫入的數(shù)據(jù)量Total。
  Total/(checkpoint_timeout*checkpoint_completion_target)得到IO的帶寬要求。

  歡迎大家一起討論。

it知識庫詳解PostgreSQL中的checkpoint概念,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 农安县| 澜沧| 桐庐县| 望谟县| 焦作市| 宁波市| 顺平县| 乌拉特后旗| 新晃| 昭觉县| 湘乡市| 辽中县| 渝中区| 北碚区| 灵丘县| 乌兰察布市| 墨脱县| 资源县| 子长县| 板桥市| 台东市| 海原县| 普安县| 台山市| 江都市| 任丘市| 沐川县| 镇坪县| 抚松县| 许昌市| 普定县| 卢龙县| 太原市| 尤溪县| 浦北县| 夏邑县| 邹城市| 来凤县| 大丰市| 靖州| 朝阳区|