成人免费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

2022-10-10 18:38:56

inert屬性鍵盤

2023-12-08 08:38:15

EventLoopAPI瀏覽器

2023-12-28 08:43:28

前端算法搜索

2022-04-07 11:15:22

PulseEventAPI函數

2024-01-08 20:05:32

2022-10-19 08:19:32

動態基線預警

2015-12-15 15:27:37

NginxHTTP網絡協議

2023-06-14 08:15:34

算法合并操作Winner

2024-03-27 13:33:00

MySQLInnoDB事務

2023-12-06 08:01:03

CSSPostCSS

2022-10-24 20:25:40

云原生SpringJava

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

2023-04-04 08:42:30

IT成本技術堆
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品乱码久久久久久蜜桃91 | 中文字幕精品一区久久久久 | 欧美精品一区在线发布 | 午夜国产| 免费观看a级毛片在线播放 黄网站免费入口 | 狠狠色综合久久丁香婷婷 | www国产精品 | 婷婷综合网 | 一区二区三区在线免费观看 | 天堂中文在线播放 | 欧美日本免费 | 中文字幕在线播放第一页 | 国产视频福利一区 | 99精品欧美一区二区三区综合在线 | 99精品欧美一区二区三区 | 91精品国产91久久综合桃花 | 欧美精品一区二区三区在线播放 | 又黄又爽的网站 | 视频一区二区在线观看 | 日韩中文字幕在线观看 | 日韩av三区 | 麻豆久久久9性大片 | 韩国欧洲一级毛片 | 综合久久久 | av在线三级 | 蜜桃在线一区二区三区 | 欧美激情在线精品一区二区三区 | 一级片在线播放 | 成人午夜av | 国产精品18hdxxxⅹ在线 | 亚洲精品久久久久久宅男 | 国产高清一区二区三区 | jlzzjlzz欧美大全 | 欧美一级在线观看 | 亚洲精品一区二区 | 正在播放国产精品 | 91精品国产色综合久久 | 一区二区视频免费观看 | 久久久精品综合 | a黄毛片 | 国产美女黄色片 |