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

PostgreSQL IO優化技巧

數據庫 PostgreSQL
如果有人問“信創數據庫學啥比較好”,從今后的工作機會以及學習資料的普及程度來說,我首先推薦的就是PostgreSQL。

?PostgreSQL近些年熱度越來越高,特別在國內,基于其生態的數據庫產品種類繁多。如果有人問“信創數據庫學啥比較好”,從今后的工作機會以及學習資料的普及程度來說,我首先推薦的就是PostgreSQL。

不過目前大多數PostgreSQL用戶都沒有認真配置數據庫,讓其達到最佳的使用效果,并充分發揮出硬件的性能特征。其中數據庫IO的優化是重中之重,IO延時較大會導致所有的SQL都會變慢。今天的這篇文章將介紹提高 PostgreSQL IO 性能的八個技巧。

首先,使用相應速度更快,吞吐能力更強的存儲硬件:提高 IO 性能的最重要因素之一是用于存儲數據庫文件的存儲硬件。在關鍵系統中,一般會考慮使用固態硬盤 (SSD) 或硬件 RAID 陣列以獲得更快的讀寫速度。高性能低延時的集中式SAN存儲是傳統大型數據庫的主要存儲介質,不過現在很多PG數據庫都在單機部署,使用服務器本地存儲,從而降低使用成本。在本地存儲中充分優化存儲性能,提高存儲介質可靠性是十分關鍵的。用本地SATA SSD盤可以有效提高數據庫的整體性能,在HDD上增加高性能緩沖也是性價比很高的做法。為企業應用設計一個性能優秀,價格適中的本地存儲方案,是確保PG IO性能的關鍵。

第二,調整 shared_buffers:shared_buffers 配置參數確定 PostgreSQL 用于在內存中緩存數據頁的內存量。調整此參數以匹配系統上可用的內存量以獲得最佳性能。由于PG數據庫使用double buffer機制,因此不同的業務負載,shared_buffers參數的設置會有所不同。PG管網建議配置25%的物理內存給shared_buffers使用,這是一種當你不了解業務場景與數據分布時的中庸的配置方案。舉個例子,如果你的物理內存是256GB,而你的常用數據是100GB,那么設置一個128GB的shared_buffers有可能是比較好的配置。設置shared_buffers的首要原則是,不能讓操作系統產生較多的換頁,如果OS經常性出現換頁,那么你要評估一下是不是由于shared_buffers占用了過多的物理內存,導致OS內存使用率過高引起的。

第三,優化WAL的配置:WAL是 PostgreSQL 中的一項關鍵功能,可確保事務的持久性和一致性。配置 wal_buffers 參數以匹配您的工作負載并確保最佳 WAL 性能。調整 wal_buffers 的值時,重要的是要考慮生成 WAL 數據的速率,增加 wal_buffers 的值有助于降低磁盤寫入頻率并提高性能,不過在普通的負載下,調整wal_buffers并不能看到數據庫性能的提升,只有當WAL寫入BUFFER的速度大于Walwriter寫盤的速度的時候,加大wal_buffers才會有特別明顯的性能提升。作為一般規則,建議將 wal_buffers 的值設置為磁盤塊大小的小倍數,16 MB。除了調整wal_buffers之外,調整max_wal_size等參數也能有效地減少WAL導致的性能下降,另外CHECKPOINT的優化也能大幅減少WAL的寫出量,從而優化WAL的性能。

第四,IO分區:IO分區是一種將數據和索引分布在多個磁盤上的技術,它可以通過減少磁盤 I/O 爭用來幫助提高 IO 性能。考慮使用表和索引分區來利用這種性能提升。將WAL存儲與單獨的高性能存儲也是IO分區的一種十分常用的做法,對于高并發環境的數據庫IO性能提升十分有效。利用tablespace將熱表分散到不同的存儲上去也是十分有效的IO分區的方法。不過大家要注意的是,要使用IO分區,首先要確保存放PG數據庫的磁盤或者磁盤組本身是分區的,具有一定的隔離性,如果你在一個磁盤組上分出多個邏輯卷,然后將PG的存儲做IO分區,那么用處就不大了。

第五,預熱緩存:pg_prewarm 擴展可用于預熱具有頻繁訪問數據的緩存,減少未來查詢所需的磁盤 I/O 量。以前大家都做過很多測試,發現在PG數據庫中某條SQL執行計劃不變的情況下,執行速度差異很大,最終大家都發現了如果SQL訪問的大多數數據都在shared buffers中或者在OS的FILE CACHE中,那么執行效率是較高的。因此在PG數據庫中對熱數據做預熱緩沖是有效提升數據庫性能的方法。Pg_prewarm是一個十分常用的緩沖預熱插件。

圖片

安裝完插件后,我們可以使用select pg_prewarm(‘tablename’)來預熱某張表的數據。在某些大型統計報表開始之前先預熱數據是提高性能的很好的方法,用于預熱數據的PG插件也很多,大家可以根據需要選擇使用。

第六,優化檢查點:檢查點是將共享緩沖區緩存中的臟頁刷新到磁盤的過程。降低檢查點的頻率和大小有助于減少磁盤 I/O 并提高性能。優化檢查點性能的一些技術包括增加 checkpoint_timeout 和 checkpoint_completion_target 配置參數,以及使用更快的存儲硬件來存儲數據和 WAL 文件。

第七,調整CBO策略參數:調整 effective_cache_size,random_page_cost等多個參數都是CBO優化器來評估各種操作的成本的重要參數,在一個有數萬甚至數十萬條SQL語句的數據庫系統而言,CBO能夠產生合理的執行計劃對于數據庫性能至關重要,PG數據庫沒有Oracle那么強大的SQL優化工具與優化手段來輔助,因此設置好這些與CBO產生合理執行計劃緊密相關的參數十分重要。effective_cache_size 配置參數用于估計 PostgreSQL 可用的磁盤緩存量,從而確定掃描數據的成本。random_page_cost 配置參數確定隨機磁盤 I/O 相對于順序磁盤 I/O 的成本。設置此參數以準確反映系統上隨機磁盤 I/O 的成本。據磁盤類型的不同,對 random_page_cost 的設置也會有所不同:對于 HDD,可以設置為 4.0 到 4.5;對于 SSD,可以設置為 1.0 到 1.5。如果使用中央化的 SAN 存儲,可以根據其具體配置和性能進行調整,為了設置合理的值,需要對你的存儲的隨機讀寫性能進行測試。PG中還有幾個類似的參數,可能會影響到CBO生成執行計劃,如果你發現你的PG數據庫中存在較多的錯誤的執行計劃,那么可以嘗試調整一下這些參數:seq_page_cost、cpu_tuple_costcpu_index_tuple_cost、cpu_operator_cost。

第八,操作系統參數優化:主要是在VM的后臺寫、前臺寫、臟塊刷新策略、內存換頁策略等方面進行優化,這方面我以前已經寫過多篇文章介紹,在這里就不重復了,有興趣的朋友可以去翻閱一下我以前的發文。

綜上所述,這八個技巧可以大大提高 PostgreSQL 的 IO 性能。請務必仔細考慮您的硬件設置并配置適當的參數以獲得最佳結果。?

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

2024-04-12 08:28:38

優化查詢語句PostgreSQL索引

2013-12-26 13:19:26

PostgreSQL優化

2024-04-08 09:00:30

PostgreSQ數據庫EXPLAIN 命令

2020-12-17 07:52:38

JavaScript

2018-05-25 15:04:57

數據庫PostgreSQL查詢優化器

2018-05-23 13:47:28

數據庫PostgreSQL查詢優化

2011-03-25 13:43:54

Cacti優化

2024-09-14 11:23:19

2011-07-01 16:05:22

SEO

2009-06-16 16:39:49

Hibernate性能

2011-03-09 10:55:33

LAMP優化技巧

2011-03-10 10:09:33

LAMP優化

2011-05-25 20:53:26

SEO

2019-08-21 10:53:29

.NET性能優化

2013-04-07 09:53:24

Windows系統優化

2010-08-10 10:17:44

Flex內存

2013-09-26 09:44:35

Windows優化技巧

2013-06-08 14:19:05

性能優化KVM

2011-07-11 15:26:49

性能優化算法

2011-06-14 14:17:23

性能優化系統層次
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色播放 | 三极网站 | 久久成人免费视频 | 欧美一区二区三区国产精品 | 久一久| 国产精品一区二区在线播放 | 亚洲一区二区三区免费观看 | 久久九精品| 日韩精品成人 | 黄网站免费在线看 | 特级丰满少妇一级aaaa爱毛片 | av网站免费 | 亚洲国产看片 | 91视频在线观看免费 | 国产精品亚洲一区 | 国产欧美一级二级三级在线视频 | 日韩在线一区视频 | 成人精品视频在线观看 | 日韩在线不卡 | 久久国产精品久久 | 日日夜夜天天 | 国产精品久久久久久 | 观看av | 欧美在线视频一区二区 | 日本在线中文 | 欧美一区二区 | 成人啊啊啊 | 亚洲国产日韩欧美 | 色爱综合网 | 99精品国自产在线观看 | 99国内精品久久久久久久 | 中文字幕精品一区二区三区在线 | 日韩精品免费播放 | 情侣av| 伊人伊成久久人综合网站 | 在线一区观看 | 九九综合 | av天天干| 九九导航| 午夜天堂精品久久久久 | 欧美一区二区在线 |