精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

PG 的 Bgwriter 為什么搞得那么復雜

數據庫 其他數據庫
我是從C程序員轉DBA的,所以遇到數據庫的一些問題,我總是喜歡從一個碼農的角度去發出靈魂拷問:為什么會這樣?為什么要這樣?這么做有啥必要?

我是從C程序員轉DBA的,所以遇到數據庫的一些問題,我總是喜歡從一個碼農的角度去發出靈魂拷問:為什么會這樣?為什么要這樣?這么做有啥必要?經過二十多年時間,Oracle的一些犄角旮旯的問題都被我理解和接受了。剛剛轉向PG數據庫的學習的時候,對PG這個簡單但是龐大的數據庫系統的一些行為十分不解。今天我們就來聊聊我對BGWRITER的一些思考。

PG的后臺寫入器(Background Writer, bgwriter)負責將臟頁(即被修改但尚未寫入磁盤的數據頁)從共享緩沖區寫回到磁盤,從而減少直接由前端查詢進程執行寫操作的需求,BGWRITER對數據庫的性能優化具有重要作用。對Oracle的dbwr的算法比較了解的DBA剛開始可能很難理解PG的刷臟機制。因為除了BGWriter之外,Checkpoint、Backend都有刷臟的行為。Checkpoint刷臟比較容易理解,因為早期Oracle的CKPT也是有刷臟行為的。需要Checkpoint的時候,如果發現某些需要寫入的臟塊暫時還沒有寫入,并且這些數據塊當前處于可以寫入的狀態,這種情況下CKPT順手就做了。后來為了解決高并發環境下的閂鎖開銷問題,O記才讓CKPT不再刷臟,提高Checkpoint推進的速度。

PG和O記最大的不同是Backend也是有刷臟行為的,這個設計剛開始的時候讓我感到十分不解。BGWriter和Checkpoint都可以刷臟對于閂鎖爭用來說問題還不是太大,頂多是兩個會話協同好就行了,而Backend的數量可能很龐大,如果同時又刷臟需求的話,協調好共享池相關數據結構的LWLOCK成本就低不了。

BGWriter在掃描共享緩沖區時,采用了一種基于LRU(Least Recently Used,最近最少使用)算法的啟發式方法來選擇要刷新的頁面。具體來說BGWriter會優先對最近最少被使用的臟頁進行回寫,即這些頁面在未來短時間內不太可能被再次訪問,因此將它們寫回到磁盤可以釋放內存而不大影響性能。如果一個頁面當前正被其他后端進程讀取或修改,那么BGWriter會跳過該頁面。除此之外,BGWriter的行為受bgwriter_lru_maxpages和bgwriter_lru_multiplier等參數的影響。每次循環中,BGWriter嘗試寫的最大臟頁數由bgwriter_lru_maxpages指定,而實際嘗試寫的頁數則根據系統近期需求動態調整,這取決于bgwriter_lru_multiplier。如果當前循環中已達到設定的最大寫入頁數限制,則即使還有未處理的臟頁,也會暫時跳過。

bgwriter_lru_maxpages參數比較容易理解,就是bgwriter一個批處理任務中刷臟的最大臟頁數量,刷夠了這些頁,bgwriter就結束這次任務,進入休眠。bgwriter_lru_multiplier 是一個用于調整PostgreSQL后臺寫入器(Background Writer, BGWriter)行為的重要參數。它決定了BGWriter嘗試預測需要刷新多少頁面到磁盤的積極程度,基于最近幾次前臺請求所需頁面數量進行計算。BGWriter會監控最近幾次前臺請求所需的新緩沖區頁面數,并將這個數值乘以 bgwriter_lru_multiplier 來決定下一次循環應該嘗試刷新多少個臟頁回到磁盤。假設最近幾次前臺請求所需的平均新緩沖區頁面數為N,則在下一個周期內,BGWriter將會嘗試刷新 N * bgwriter_lru_multiplier 個臟頁。這意味著如果 bgwriter_lru_multiplier 設置得較高,BGWriter就會更積極地嘗試將更多的臟頁寫回磁盤;反之,如果設置得較低,則BGWriter的行為會更加保守。

與BGWriter相對保守的刷臟策略相比,Checkpoint是一種強制刷臟機制。Checkpoint的主要目的是縮短崩潰恢復時間,因為它限定了恢復過程中需要回放的WAL(Write-Ahead Logging)日志的范圍。Checkpoint可以由多種條件觸發,包括達到checkpoint_timeout設定的時間間隔(默認為5分鐘),或WAL文件使用量達到了max_wal_size。此外,也可以手動觸發Checkpoint。當Checkpoint開始時,PostgreSQL會強制將所有臟數據頁寫回到磁盤。這包括但不限于共享緩沖區中的數據頁。為了保證一致性,Checkpoint期間不允許新的事務提交(盡管允許讀取和正在進行的事務繼續)。整個過程包括了標記一個檢查點記錄到WAL日志中,并更新控制文件以反映最新的檢查點信息。與BGWriter不同,Checkpoint刷臟的主要目的是提供一個已知的一致狀態點,以便于系統崩潰后快速恢復。通過定期創建這些一致狀態點,可以限制恢復過程中需要處理的日志量。

上面的刷臟機制還是比較容易理解的,PG中最不好理解的就是Backend也有寫臟塊的行為,而在其他數據庫中,這個工作完全是由后臺進程來完成的。當一個Backend進程需要讀取一個新的數據塊到共享緩沖區中,但當前沒有可用的空閑緩沖區時,就會觸發緩沖區替換機制(如使用 ClockSweep 算法)。如果選中的替換頁面是臟頁(Dirty Page),那么該頁面必須被寫回磁盤。

這個機制存在一個比較大的問題,那就是很可能一個SELECT操作操作會產生寫IO操作,從而讓某個SELECT操作的執行延時加大。我前兩天也談到Oracle也存在一些引起執行效率不穩定的行為。不過Oracle的這些行為發生的概率極低,甚至在一些負載不是特別大的系統中很少遇到。而在PG中我們經常會遇到這些情況的。

圖片圖片

這是我們生產環境的一個PG 14數據庫,可以看出,真正由BGWriter刷臟的數量只有162,而Backend刷臟的數量為120萬塊。似乎BGWriter有點不務正業了。

這種情況的發生與PG數據庫的設計初衷有關,PG數據庫作為最為流行的開源數據塊之一,從開始并不是為高并發、高負載的企業級應用設計的,雖然這些年其企業級特性越來越多,但是一些根子上的問題還是沿用了早期的設計。為了適應早期的低成本IO設備,PG在性能上做出了大量的妥協。因為FULL PAGE WRITE機制的存在,導致了PG數據庫總是希望臟塊能夠盡可能比較晚地回寫到存儲系統中,Checkpoint也盡可能的不要太快。將刷臟工作分散到大量的Backend中去,也是對IO的一種妥協,一方面可以緩解Checkpoint過重對IO的影響,一方面也簡化了Backend在共享緩沖區不足時重用臟塊的處置方法。

曾經在和一個搞PG的朋友談到今天討論的問題的時候,他十分興奮地提出他的觀點,他認為PG這方面的設計十分優秀,十分巧妙。我倒是有些不同的觀點,認為這是PG數據庫成為高負載的企業級數據庫路上的一個必須優化的攔路虎。在現代硬件條件下,這方面的設計完全可以做優化了。我想隨著AIO/DIO等IO技術的引進,消除Backend寫臟塊的條件也逐步成熟了。

今天時間有限,我們先談到這里吧,明天我將繼續這個話題,討論一下,基于如此復雜的PG刷臟機制,DBA改如何去調整他們的數據庫,從而適應自己的業務場景。明天再聊吧。

責任編輯:武曉燕 來源: 白鱔的洞穴
相關推薦

2023-06-08 18:25:40

Doris場景查詢

2021-06-09 09:32:58

Esbuild 工具前端

2020-08-03 07:50:56

存儲對象存儲

2017-03-25 21:32:40

Python編碼

2023-11-07 15:11:46

Kafka技巧

2023-10-15 12:23:10

單線程Redis

2015-06-05 14:15:13

程序員難升職

2022-02-21 10:06:14

自動駕駛汽車智能

2017-01-21 14:57:43

Linuxsystemd

2023-11-20 17:38:07

Djangoagtailadmin

2019-12-02 14:22:01

浪費云計算支出

2020-07-29 08:06:30

Kafka MQ消息

2021-03-29 16:32:03

軟件代碼程序員

2020-11-02 07:05:54

虛擬內存Go

2013-07-04 14:05:26

功能用戶體驗

2017-01-17 15:26:37

電信移動寬帶

2020-08-28 10:11:33

蘋果配件手機

2024-09-26 00:00:25

2025-08-05 07:58:28

2014-12-16 11:03:46

大數據
點贊
收藏

51CTO技術棧公眾號

成年人视频免费在线播放| 国产天堂第一区| 一区二区中文字幕在线观看| 亚洲精品高清视频在线观看| 国产日韩欧美另类| 最新一区二区三区| 电影一区二区三区久久免费观看| 亚洲欧美视频在线观看| 91丝袜脚交足在线播放| 国产免费av一区二区| 一区二区美女| 欧美精品aⅴ在线视频| av日韩在线看| 成人在线免费电影| 捆绑变态av一区二区三区| 久久成人亚洲精品| 少妇光屁股影院| 99精品美女视频在线观看热舞| 一二三区精品福利视频| 久久另类ts人妖一区二区| 中文字幕+乱码+中文字幕明步| 欧美人妖在线| 日韩区在线观看| 久久久久久久久久久福利| 欧美三级黄网| 97久久精品人人做人人爽 | 含羞草www国产在线视频| 国产成人啪免费观看软件| 97在线免费观看| 性欧美精品男男| 午夜视频一区二区在线观看| 色综合久久久久综合体| 4444在线观看| 国产系列电影在线播放网址| 懂色av中文一区二区三区| 国产成人欧美在线观看| 国产一级在线视频| 99精品视频在线观看播放| 亚洲精品91美女久久久久久久| 午夜国产一区二区三区| а√在线中文在线新版| 一区二区三区在线影院| 午夜老司机精品| 日本a一级在线免费播放| 国产精品亚洲成人| 成人黄色片在线| 国产suv精品一区二区33| 亚洲特色特黄| 欧美日本高清视频| av最新在线观看| 欧美理论电影大全| 亚洲男人天堂网站| 午夜视频在线观看国产| 视频亚洲一区二区| 精品视频123区在线观看| 自慰无码一区二区三区| 波多野结依一区| 国产精品久久影院| 亚洲国产一区二区精品视频| 国产永久免费高清在线观看| www.66久久| 国产精品久久亚洲7777| www.成人在线观看| 国产福利一区在线| 91精品国产99久久久久久红楼 | 久久丫精品国产亚洲av不卡| 成人影院中文字幕| 精品久久久久久最新网址| 国产性生活一级片| 深夜在线视频| 欧美日韩一区二区三区| 日本www在线播放| 五月天国产在线| 欧美午夜影院在线视频| 色综合av综合无码综合网站| 成人欧美大片| 色婷婷综合久色| 黄色三级视频片| 九九热这里有精品| 欧美日韩国产首页| 午夜大片在线观看| 试看120秒一区二区三区| 日韩久久精品一区| 稀缺小u女呦精品呦| 国产亚洲精品美女久久| 亚洲精品二三区| 尤物视频最新网址| 999精品在线| 欧美乱妇40p| 可以在线观看av的网站| 久色成人在线| 国产日韩欧美夫妻视频在线观看 | 一区在线免费观看| 3344国产精品免费看| 久久国产乱子伦精品| 欧美aⅴ一区二区三区视频| 国产中文字幕亚洲| 丰满少妇被猛烈进入| 91小视频在线免费看| 色999五月色| 在线观看三级视频| 大伊人狠狠躁夜夜躁av一区| 999在线免费视频| 精品视频国内| 精品亚洲精品福利线在观看| avhd101老司机| 欧美一区二区三区久久精品茉莉花| 久久久女女女女999久久| 无码人妻一区二区三区线| 久久av资源网| 久久99欧美| 免费在线观看av| 黄网动漫久久久| 日韩在线xxx| 美女久久精品| 国产婷婷成人久久av免费高清| 69xxx免费| 狠狠爱综合网| 国产男人精品视频| 午夜黄色小视频| 中文字幕一区av| 播放灌醉水嫩大学生国内精品| 成人在线分类| 亚洲人成五月天| 免费一级片在线观看| 日韩成人一级大片| 国产精品av一区| 国产素人视频在线观看| 狠狠躁夜夜躁人人躁婷婷91 | 日韩精品av一区二区三区| 日本三级韩国三级欧美三级| 在线免费观看日本欧美| 日韩女优在线视频| 精品视频网站| 8x海外华人永久免费日韩内陆视频 | 成人在线免费观看av| 99tv成人影院| 亚洲新声在线观看| 精品成人久久久| 国产成人啪免费观看软件| 亚洲精品视频一二三| 电影一区二区三区| 在线不卡的av| 免费网站在线高清观看| 伊人久久久大香线蕉综合直播| 国产欧美日韩精品丝袜高跟鞋| 性感美女一级片| 一区二区三区不卡视频在线观看| 国内国产精品天干天干| 狠狠色狠狠色综合婷婷tag| 91精品国产高清久久久久久| 精品人妻少妇AV无码专区| 日韩美女啊v在线免费观看| 日本久久精品一区二区| 精品国产一区二区三区| 国产精品99久久久久久人| 天天av综合网| 欧美日韩一区二区精品| 亚洲一区二区观看| 久久九九精品| 色播亚洲视频在线观看| 蜜桃成人精品| 国产午夜精品免费一区二区三区| 男人天堂2024| 久久天堂av综合合色蜜桃网| 免费在线激情视频| 免费成人结看片| 国产999精品久久久| 免费黄网站在线观看| 欧美色播在线播放| 精品人妻无码一区| 久久草av在线| 免费看污污视频| 国产一区二区| 欧美大片免费观看在线观看网站推荐| 精品久久人妻av中文字幕| 一区二区三区免费网站| 国产午夜在线一区二区三区| 激情欧美丁香| 久久精品国产第一区二区三区最新章节 | 午夜精品久久久久久久久久久久久蜜桃 | www.国产精品| 久久色在线播放| 精品人妻久久久久一区二区三区| 亚洲成av人影院在线观看网| 中文字幕 亚洲一区| 久久久人人人| 一级黄色免费在线观看| 久久在线观看| 午夜伦理精品一区| 韩国福利在线| 日韩三级精品电影久久久| 国产精彩视频在线| 久久―日本道色综合久久| www.亚洲天堂网| 欧美成人激情| 亚洲xxx视频| 亚洲美女炮图| 视频在线一区二区| 欧美视频在线观看一区二区三区| 欧美性猛交xxx| 登山的目的在线| 成人黄色一级视频| 天堂中文视频在线| 国一区二区在线观看| 精品乱码一区| 日韩护士脚交太爽了| 久久久久久久久久久免费 | 懂色av一区二区在线播放| 国产又大又硬又粗| 欧美激情亚洲| 神马影院我不卡午夜| 国产午夜久久av| 日本午夜人人精品| 欧美午夜大胆人体| 色青青草原桃花久久综合| 五月婷婷丁香网| 欧美日韩一区中文字幕| 国产一级片久久| 国产精品成人在线观看| av网页在线观看| 精品一区免费av| 91av在线免费播放| 欧美午夜国产| 亚洲欧美国产精品桃花| 亚洲成a人片77777在线播放 | 麻豆亚洲一区| 视频免费一区二区| 国产欧美日韩免费| 男人最爱成人网| 97欧美精品一区二区三区| 黄色网页网址在线免费| 亚洲人精选亚洲人成在线| 欧美熟女一区二区| 日韩天堂在线观看| 在线免费看av片| 色欧美片视频在线观看在线视频| 久久久久免费看| 亚洲精选视频免费看| 国产一级淫片久久久片a级| 久久午夜色播影院免费高清| 91九色蝌蚪porny| 丁香桃色午夜亚洲一区二区三区| 日本高清久久久| 日本不卡视频一二三区| 日韩欧美xxxx| 99成人免费视频| 久久这里只有精品23| 欧美日本亚洲韩国国产| 国产三级中文字幕| 在线看片不卡| 日韩精品一区二区三区丰满| 九九在线精品| 欧美一级爱爱| 久操国产精品| 国产综合色一区二区三区| 99re8这里有精品热视频8在线 | 亚洲五码在线| 91网站在线免费观看| www 久久久| 91色在线视频| 久久9999免费视频| 国产日韩欧美影视| 伊人久久综合网另类网站| 国产日韩精品一区二区| 99亚洲伊人久久精品影院| 国产美女直播视频一区| 国产精品视频一区二区三区综合| 亚洲一区二区三区xxx视频| 国产第一精品| 亚洲在线免费视频| 粉嫩精品导航导航| 久久99精品国产99久久| 免费成人av| 伊人婷婷久久| 亚洲国产一区二区在线观看| 日韩 欧美 视频| 日韩专区中文字幕一区二区| 国产福利精品一区二区三区| 北条麻妃一区二区三区| 日本理论中文字幕| 亚洲综合图片区| 波多野结衣一二区| 欧美一卡在线观看| 青草久久伊人| 欧美大码xxxx| 神马久久资源| 亚洲在线免费看| 国产一区二区观看| 国产精品国三级国产av| 男女男精品视频| 岛国精品一区二区三区| 日本一区二区三级电影在线观看| a级片在线观看免费| 一本大道久久a久久精二百| 国产有码在线观看| 亚洲乱码av中文一区二区| wwwav在线| 国产精品激情av电影在线观看| 88久久精品| 一本一道久久a久久精品综合| 在线观看一区视频| 久久婷婷中文字幕| 国产三级三级三级精品8ⅰ区| 久久人人爽人人爽人人| 欧美日韩一区二区电影| 香蕉国产在线视频| 九色精品免费永久在线| 国产成人a视频高清在线观看| 精品无人区一区二区三区竹菊| 91精品一区二区三区综合在线爱| 91av成人在线| 中文字幕一区二区三区四区在线视频| 国产精品红桃| 在线观看岛国av| 国产日韩在线不卡| 国产精品18p| 日韩区在线观看| 午夜老司机在线观看| 5566成人精品视频免费| 6080成人| 日本成人在线不卡| 国产一区二区在线看| a级黄色免费视频| 91精品1区2区| 国产在线高清| 日韩av电影在线播放| 婷婷成人综合| 91猫先生在线| 91在线看国产| 国产一区二区99| 亚洲精品国产综合区久久久久久久 | 天天综合网入口| 亚洲成色999久久网站| 日本h片在线观看| 91久久国产综合久久蜜月精品| 国产精品久久久久久久久久10秀| www.这里只有精品| 亚洲国产电影在线观看| 香蕉污视频在线观看| 亚洲性线免费观看视频成熟| xxx欧美xxx| 欧美中日韩免费视频| 日日骚欧美日韩| 高潮毛片无遮挡| 欧美系列亚洲系列| 日本视频在线| 成人免费淫片视频软件| 五月天久久久| 午夜性福利视频| 亚洲无线码一区二区三区| 亚洲不卡免费视频| 久久久亚洲国产| 全国精品免费看| 成人在线观看a| 国产精品毛片久久久久久| 91成品人影院| 欧美国产激情18| 国产精品对白久久久久粗| 91成人在线观看喷潮教学| 久久伊人蜜桃av一区二区| 加勒比在线一区| 色偷偷av亚洲男人的天堂| 国产精品高清一区二区| 国产精品第157页| 久久综合网色—综合色88| 国产日韩久久久| 久久久精品日本| 国产精品玖玖玖在线资源| 黄色动漫网站入口| 国产欧美视频一区二区| 国产免费久久久| 韩剧1988在线观看免费完整版| 日韩影视在线观看| 国产又大又黄又猛| 亚洲一区二区偷拍精品| 邻家有女韩剧在线观看国语| 成人激情视频在线观看| 黑丝一区二区三区| 国产精成人品免费观看| 欧美一区二区三区在线电影| 91福利在线尤物| 亚洲精品一区二区三区av| 国产精品一二三区在线| 在线免费黄色av| 久久亚洲国产精品| 伊人久久综合影院| 亚洲av毛片在线观看| 精品久久久久久中文字幕一区奶水| 国产大片在线免费观看| 波多野结衣一区二区三区在线观看| 亚洲伊人观看| 国产黄色小视频网站| 精品偷拍各种wc美女嘘嘘| 国产剧情一区二区在线观看| 99福利在线观看| 亚洲综合一区二区三区| 91免费在线| 久久99影院| 成人小视频在线观看|