日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
從PG15WAL壓縮優(yōu)化說起,你明白了嗎?

PG 15傳聞中的超級(jí)令人激動(dòng)的功能大多數(shù)跳票了,年初我也寫過一個(gè)關(guān)于PG15新功能跳票的文章。PG 15 BETA已經(jīng)發(fā)出幾個(gè)月了,似乎PG 15里令人激動(dòng)人心的功能不多,不過從長(zhǎng)長(zhǎng)的新功能列表里,我還是能夠從中學(xué)到不少東西。數(shù)據(jù)庫的發(fā)展是和現(xiàn)代硬件技術(shù)的發(fā)展密切相關(guān)的,而數(shù)據(jù)庫在某一個(gè)方面的突破,可以為應(yīng)用提供更大的舞臺(tái),讓應(yīng)用能夠更加適應(yīng)某些特定場(chǎng)景。

實(shí)際上經(jīng)過幾個(gè)重要特性的跳票之后,我對(duì)PG 15的期待最主要集中在FULL PAGE WRITE的優(yōu)化上了。以前我也多次寫文章研究過PG的WAL產(chǎn)生以及CHECKPOINT對(duì)高負(fù)載應(yīng)用寫入性能的影響。其實(shí)這些性能影響大部分來自于FULL PAGE WRITE。因?yàn)楫?dāng)某個(gè)臟塊在CHECKPOINT完成后的第一次被寫入的時(shí)候,都需要做一次FULL PAGE WRITE,以避免數(shù)據(jù)庫需要恢復(fù)時(shí)出現(xiàn)塊斷裂的情況。而FULL PAGE WRITE大規(guī)模產(chǎn)生的時(shí)候,因?yàn)閃AL的寫入量大大增加,就會(huì)導(dǎo)致高并發(fā)寫應(yīng)用的性能問題。實(shí)際上,當(dāng)我們?cè)谧鰌g_basebackup等在線備份操作時(shí),也是會(huì)引發(fā)大量的FULL PAGE WRITE的。緩解這個(gè)問題的方法是加大CHECKPOINT的延時(shí),讓兩次CHECPOINT的間隔更長(zhǎng)一些,這樣就會(huì)大量減少FULL PAGE WRITE。

加大CHEKPOINT的延時(shí)也是一個(gè)雙刃劍,因?yàn)檫@會(huì)讓數(shù)據(jù)庫在恢復(fù)時(shí)需要RECOVER更多的頁,同時(shí)也會(huì)在一個(gè)CHECKPOINT時(shí)集中寫入大量的數(shù)據(jù)塊。在瞬時(shí)對(duì)IO產(chǎn)生更大的影響。

在PG中關(guān)閉FULL PAGE WRITE也是一個(gè)選項(xiàng),只不過需要找到支持PG關(guān)閉FULL PAGE WRITE的文件系統(tǒng)或者存儲(chǔ)系統(tǒng)。我們以前曾經(jīng)在ZFS上嘗試過關(guān)閉FULL PAGE WRITE,效果是相當(dāng)不錯(cuò)的。只不過在我們的大多數(shù)PG運(yùn)行環(huán)境中并沒有使用ZFS,因此對(duì)于PG 15在FULL PAGE WRITE上的優(yōu)化,我們還是很期待的。

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

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

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

因?yàn)闀r(shí)間關(guān)系,我們目前還沒有全面開展PG 15的測(cè)試,我想還是等正式版出來后再做完整的測(cè)試。不過從目前國(guó)外一些朋友對(duì)PG 15的測(cè)試來看,還是十分令人期待的。我們根據(jù)Mark Callaghan的測(cè)試用例來看一看效果吧。

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

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

挺巧的是,在PG 15里,增加了一個(gè)新的權(quán)限:pg_checkpointer。以往checkpint命令只能由超級(jí)用戶來執(zhí)行。而PG 15里,只要是授予這個(gè)權(quán)限的用戶,都可以在自己的應(yīng)用里執(zhí)行checkpoint命令了。將checkpoint命令的權(quán)限下放,是PG 15細(xì)粒度權(quán)限控制優(yōu)化的一部分。不過既然敢下放權(quán)限,那就說明checkpoint帶來的副作用已經(jīng)可控了。隨著現(xiàn)代硬件的發(fā)展,IO問題已經(jīng)得到了大大地緩解,同時(shí)因?yàn)閃AL壓縮的優(yōu)化,也為checkpoint權(quán)限下放提供了有力的支撐。

不過業(yè)務(wù)場(chǎng)景十分復(fù)雜,這個(gè)權(quán)限還是不要隨便授予,因?yàn)槟壳皝砜?,我還沒有想清楚,這個(gè)權(quán)限下放的真實(shí)好處在什么地方,什么場(chǎng)景下,應(yīng)用需要自己去控制checkpoint。如果有一天,DBA發(fā)現(xiàn)一個(gè)撓頭的IO性能問題,是因?yàn)槟硞€(gè)應(yīng)用系統(tǒng)頻繁執(zhí)行checkpoint引發(fā)的,那就麻煩大了。對(duì)于開發(fā)人員來說,讓每條記錄盡快寫盤肯定是件喜聞樂見的事情,而對(duì)于DBA來說,那可能是個(gè)災(zāi)難。


分享題目:從PG15WAL壓縮優(yōu)化說起,你明白了嗎?
標(biāo)題路徑:http://www.5511xx.com/article/dhjiidi.html