成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從PG15 WAL壓縮優化說起,你明白了嗎?

數據庫 其他數據庫
對于僅有PK的場景影響并不大,對于PG來說,第一次數據寫入,都是創建的新塊,不同的算法之間的影響還不算太大。但是對于其他場景影響較大。

PG 15傳聞中的超級令人激動的功能大多數跳票了,年初我也寫過一個關于PG15新功能跳票的文章。PG 15 BETA已經發出幾個月了,似乎PG 15里令人激動人心的功能不多,不過從長長的新功能列表里,我還是能夠從中學到不少東西。數據庫的發展是和現代硬件技術的發展密切相關的,而數據庫在某一個方面的突破,可以為應用提供更大的舞臺,讓應用能夠更加適應某些特定場景。

圖片

實際上經過幾個重要特性的跳票之后,我對PG 15的期待最主要集中在FULL PAGE WRITE的優化上了。以前我也多次寫文章研究過PG的WAL產生以及CHECKPOINT對高負載應用寫入性能的影響。其實這些性能影響大部分來自于FULL PAGE WRITE。因為當某個臟塊在CHECKPOINT完成后的第一次被寫入的時候,都需要做一次FULL PAGE WRITE,以避免數據庫需要恢復時出現塊斷裂的情況。而FULL PAGE WRITE大規模產生的時候,因為WAL的寫入量大大增加,就會導致高并發寫應用的性能問題。實際上,當我們在做pg_basebackup等在線備份操作時,也是會引發大量的FULL PAGE WRITE的。緩解這個問題的方法是加大CHECKPOINT的延時,讓兩次CHECPOINT的間隔更長一些,這樣就會大量減少FULL PAGE WRITE。

加大CHEKPOINT的延時也是一個雙刃劍,因為這會讓數據庫在恢復時需要RECOVER更多的頁,同時也會在一個CHECKPOINT時集中寫入大量的數據塊。在瞬時對IO產生更大的影響。

在PG中關閉FULL PAGE WRITE也是一個選項,只不過需要找到支持PG關閉FULL PAGE WRITE的文件系統或者存儲系統。我們以前曾經在ZFS上嘗試過關閉FULL PAGE WRITE,效果是相當不錯的。只不過在我們的大多數PG運行環境中并沒有使用ZFS,因此對于PG 15在FULL PAGE WRITE上的優化,我們還是很期待的。

我曾經也考慮過通過WAL壓縮來緩解FULL PAGE WRITE的問題,在PG 12上我們做過一個測試,打開WAL壓縮。只不過打開WAL壓縮后,PG數據塊的高并發寫入性能并未提升,反而略有下降。能夠從以前的PG 12的WAL壓縮中獲得性能提升的場景十分有限。

PG 15的WAL壓縮有了一個十分令人興奮的改進,除了支持PGLZ外,WAL壓縮還支持LZ4和ZSTANDARD兩種壓縮算法。

圖片

從官方的對比來看,ZSTD是一種平衡了壓縮解壓吞吐量與壓縮比的十分優秀的壓縮算法,而LZ在壓縮比上雖然不如ZSTD,但是在壓縮吞吐量上有著特別優秀的表現。這兩種壓縮算法的引入,必定會大大改善WAL壓縮的性能。

因為時間關系,我們目前還沒有全面開展PG 15的測試,我想還是等正式版出來后再做完整的測試。不過從目前國外一些朋友對PG 15的測試來看,還是十分令人期待的。我們根據Mark Callaghan的測試用例來看一看效果吧。

圖片

和我們的預期相同,使用以前的pglz,對于僅有PK的場景影響并不大,對于PG來說,第一次數據寫入,都是創建的新塊,不同的算法之間的影響還不算太大。但是對于其他場景影響較大。而使用LZ4的效果極佳,裝載性能有了明顯的提升。zstd在有多個索引時的數據裝載表現出了較好的性能。

不過從上面的測試來看,還是比較簡單的,因此這個測試結果頁并不說明太多的問題。不過有一點是可以確定的,那就是LZ4和ZSTD的引入,會大大優化WAL 壓縮的性能,從而緩解FULL PAGE WRITE的問題,也可以大大減輕DBA優化CHECKPOINT的工作。CHECKPOINT的優化可能會在大多數場景下變得更簡單了,我們只要根據自己的場景需求,選擇設置WAL壓縮參數就可以了。

挺巧的是,在PG 15里,增加了一個新的權限:pg_checkpointer。以往checkpint命令只能由超級用戶來執行。而PG 15里,只要是授予這個權限的用戶,都可以在自己的應用里執行checkpoint命令了。將checkpoint命令的權限下放,是PG 15細粒度權限控制優化的一部分。不過既然敢下放權限,那就說明checkpoint帶來的副作用已經可控了。隨著現代硬件的發展,IO問題已經得到了大大地緩解,同時因為WAL壓縮的優化,也為checkpoint權限下放提供了有力的支撐。

不過業務場景十分復雜,這個權限還是不要隨便授予,因為目前來看,我還沒有想清楚,這個權限下放的真實好處在什么地方,什么場景下,應用需要自己去控制checkpoint。如果有一天,DBA發現一個撓頭的IO性能問題,是因為某個應用系統頻繁執行checkpoint引發的,那就麻煩大了。對于開發人員來說,讓每條記錄盡快寫盤肯定是件喜聞樂見的事情,而對于DBA來說,那可能是個災難。

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

2023-05-31 08:29:08

數據庫CPU類型

2022-12-30 08:35:00

2023-12-08 08:38:15

EventLoopAPI瀏覽器

2022-10-10 18:38:56

inert屬性鍵盤

2015-12-15 15:27:37

NginxHTTP網絡協議

2023-12-28 08:43:28

前端算法搜索

2024-01-08 20:05:32

2022-10-19 08:19:32

動態基線預警

2022-04-07 11:15:22

PulseEventAPI函數

2023-12-06 08:01:03

CSSPostCSS

2023-06-14 08:15:34

算法合并操作Winner

2022-10-24 20:25:40

云原生SpringJava

2024-03-27 13:33:00

MySQLInnoDB事務

2015-09-18 09:17:06

數據分析

2023-01-02 23:58:03

2022-10-08 08:09:13

MGRGreatSQL事務

2022-03-05 17:56:29

桌面應用開發

2024-10-22 10:40:30

2023-11-06 07:37:01

函數式插槽React

2022-06-22 07:52:03

cookieoptionsmerge
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国内精品一区二区三区 | 免费av电影网站 | 伊人在线视频 | xxxxx黄色片 欧美一区免费 | 日韩在线视频播放 | 国产精品 亚洲一区 | 欧美一区二区三区四区五区无卡码 | 性一爱一乱一交一视频 | av中文字幕在线观看 | 蜜桃毛片 | 欧美精品91 | 国产精品成人在线播放 | 秋霞影院一区二区 | 秋霞av国产精品一区 | 日本黄色的视频 | 亚洲精品在线视频 | 欧美日本韩国一区二区 | 免费 视频 1级 | 在线不卡视频 | 亚洲一区二区av | 亚洲综合一区二区三区 | 亚洲精选一区二区 | 91精品国产综合久久精品 | 无人区国产成人久久三区 | 成人免费三级电影 | 欧美一级片在线观看 | 欧美久久久久 | 久干网 | 国产精品自产av一区二区三区 | 涩在线| 日韩欧美在线免费观看 | 国产精品久久国产精品久久 | 国产999精品久久久 午夜天堂精品久久久久 | 91免费在线视频 | 99精品国产成人一区二区 | 成人免费淫片aa视频免费 | 狠狠婷婷综合久久久久久妖精 | 亚洲色图网址 | 欧美成人一区二免费视频软件 | 视频国产一区 | 在线成人 |