91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Postgresql IO該怎么如何分析

發布時間:2022-01-04 09:51:40 來源:億速云 閱讀:170 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關Postgresql IO該怎么如何分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

今天要講的是POSTGRESQL I/O系統的及周邊一些系統的學習sharing .

首先我們先看一個圖,這是一個PG內存結構的簡圖

Postgresql IO該怎么如何分析

但今天不是要說內存,而是要說關于buffer cache的問題,

Postgresql IO該怎么如何分析

 其實說白了就是數據在內存和磁盤之間的交互過程,如果提取的數據不在內存中,則需要從磁盤將數據讀入到 page change 并且如果數據在內存中改變了,需要將數據刷入到磁盤的一個過程。

同時我們需要了解以下幾點

緩沖寫:通常是非阻塞的
緩沖讀取:通常阻塞

順序寫比隨機寫快
覆蓋較大數據塊的操作通常更快

除此之外,checkpointer ,Background writer , wal writer 等等這些都會用到I/O 系統。所以調優PostgreSQL I/O對于構建高性能、可伸縮的數據庫架構是必不可少的。

如: 

1  數據是否有預讀機制,何種的預讀機制能更有效的利用內存,而不是大量的I/O 讀取。

2   更好的并發讀取,可以采用更多的線程將需要的數據同時讀取到系統中

由于POSTGRESQL 本身的buffer cache 并不全部HOLD 主, 而是聯合OS的buffer 共同的對數據庫進行處理,我們對比四種情況

1  沒有 postgresql buffer ,OS buffer

Postgresql IO該怎么如何分析

2 沒有 僅有OS 的cache 沒有postgresql cache

Postgresql IO該怎么如何分析

3 POSTGRESQL  OS cache 和  POSTGRESQL buffer 共有的情況

Postgresql IO該怎么如何分析

所以POSTGRESQL 對相關的操作做了更多的優化例如

1 當工作集不適合共享緩沖區時,將數據寫回操作系統

2 減少后端寫的操作

3 提高IO吞吐量/利用率,特別是隨機IO

4 減少隨機I/O ,將其更多合并,變為順序I/O

5  通過shared_buffer映射數據結構與排序支持


與其他的數據庫不同,postgresql 更加強調系統在數據存取中的作用,更新的系統例如LINUX 的核心的版本的提升,對postgresql本身是有利的。

在Postgresql 中有一些需要注意的地方

1  Checkpoint 的設置 ,例如 max_wal_size , min_wal_size, checkpoint_timeout and comkpoint_completion_target 等配置參數會提高你的或者降低你的磁盤系統的負擔,可以將臟頁集中的或者分散的刷入你的磁盤系統。

2 需要注意你每天的事務量,WAL arvhive 文件的歸檔數量, 監控你checkpoint 的頻率,以及以上的參數是否適合你當前繁忙或者不繁忙的數據庫 系統。

3 Vacuum ,清理已經廢棄的數據也是很重要的,防止表膨脹,而vacuum 也會造成磁盤的系統的負擔,同時也要對 log_autovacuum_min_duration 進行關注,查看自動的真空的時間長度。一般來說自動真空就可以滿足大部分系統的需求,但對于大表或者熱表,可以在夜間工作不繁忙的情況下,進行手動或者半自動的真空,例如repack 等

4 與MYSQL 在某些方面有一些一致性,例如盡量給每個查詢分配適合的work_men尤其在一些經常用到 group by  , order by 的系統,增加在內存可以解決的排序活動,避免更多要在磁盤進行排序后在給出結果的方式。

5  更合理有效的利用表空間,如同其他的數據庫系統,將一個數據庫分散在多個物理磁盤的方式,在POSTGRESQL 也是適用的,并且如果將 wal 日志放置在高級的I/O系統,例如SSD 磁盤,也是對系統性能有效的保證。

6 一般來說,在配置POSTGRESQL 中更傾向于將系統shared_buffer 進行合理的設置,但會忽略 effective_cache_size 的設置,如果想進行一個初始的設置可以將 shared_buffer 設置為總內存的 25%, 將effictive_cache_size設置為系統的額 50% 或更大。重要的 effictive_cache_size 的設置是和你查詢的性能有很大的關系。

關于Postgresql IO該怎么如何分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利辛县| 靖江市| 南川市| 夏河县| 浦江县| 开远市| 治多县| 达州市| 方正县| 甘泉县| 桐庐县| 镇远县| 长治市| 鄱阳县| 邻水| 且末县| 莲花县| 荔浦县| 扶风县| 山阴县| 香港| 凤庆县| 潞西市| 子洲县| 广汉市| 河南省| 法库县| 澳门| 裕民县| 甘泉县| 余江县| 彩票| 永州市| 苏尼特右旗| 象山县| 定边县| 东宁县| 大渡口区| 孟州市| 布尔津县| 瑞安市|