成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PostgreSQL性能分析工具-PoWA

IT那活兒 / 1269人閱讀
PostgreSQL性能分析工具-PoWA

點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!

1

PoWA 是啥?
PoWA是PostgreSQL 9.4及以后更新版本的性能工具,允許從各種Stats Extensions收集、聚合和清除多個(gè) PostgreSQL 實(shí)例的統(tǒng)計(jì)信息。全稱為PostgreSQL工作負(fù)載分析器(PostgreSQL Workload Analyzer)

2

那它主要有哪些組成部分?
PoWA組成部分如下:
  1. PoWA-archivist是PostgreSQL的插件,收集其他插件獲取到的性能統(tǒng)計(jì)數(shù)據(jù)。

  2. PoWA-collector是在專用存儲(chǔ)庫(kù)服務(wù)器上,用于收集遠(yuǎn)程PostgreSQL實(shí)例性能指標(biāo)的守護(hù)進(jìn)程。

  3. PoWA-web是PoWA-collector收集到的性能指標(biāo)的用戶展示界面。

  4. 安裝于目標(biāo)PostgreSQL數(shù)據(jù)庫(kù)實(shí)例上的其他插件,其是性能指標(biāo)數(shù)據(jù)的實(shí)際來源。

除了pg_stat_statements、btree_gist、powa為必須的插件,PoWA還支持以下幾個(gè)插件作為新能指標(biāo)采集的擴(kuò)展
  1. pg_qualstats:用于保存在WHERE語(yǔ)句和JOIN子句中發(fā)現(xiàn)的謂詞的統(tǒng)計(jì)信息,powa 利用它來提供索引建議。
  2. pg_stat_kcache:收集有關(guān)文件系統(tǒng)層的實(shí)際讀取和寫入的統(tǒng)計(jì)信息,可以用于觀察SQL花費(fèi)多少cpu等。
  3. pg_wait_sampling:用于收集等待事件的采樣統(tǒng)計(jì)信息,啟用后它會(huì)收集如下兩種統(tǒng)計(jì)信息:
    --歷史等待事件。它被實(shí)現(xiàn)為內(nèi)存中的環(huán)形緩沖區(qū),其中每個(gè)進(jìn)程等待事件的樣本都以給定的(可配置的)周期寫入。因此,對(duì)于每個(gè)正在運(yùn)行的進(jìn)程,用戶可以根據(jù)歷史大?。膳渲茫┎榭匆恍┳罱臉颖?。假設(shè)有一個(gè)客戶端定期讀取此歷史記錄并將其轉(zhuǎn)儲(chǔ)到某個(gè)地方,則用戶可以擁有連續(xù)的歷史記錄。
    --等待分析,以內(nèi)存hash表形式存在,表中存放每個(gè)進(jìn)程和每個(gè)等待事件累積的樣本,該表可以根據(jù)用戶請(qǐng)求進(jìn)行reset。假設(shè)有一個(gè)客戶端定期轉(zhuǎn)儲(chǔ)并reset,用戶可以統(tǒng)計(jì)一段時(shí)間內(nèi)等待事件的詳細(xì)。
  4. pg_track_settings:該插件提供了一個(gè)可定期調(diào)用的函數(shù)(pg_tracksettingssnapshot())。 在每次調(diào)用時(shí),它將存儲(chǔ)自上次調(diào)用以來更改的設(shè)置。
  5. Hypopg:類似MySQL虛擬索引。
  6. pg_stat_statements:用于SQL語(yǔ)句監(jiān)控。


3

那它有沒有什么風(fēng)險(xiǎn)或者說對(duì)數(shù)據(jù)庫(kù)服務(wù)器有沒有什么影響?
存在如下風(fēng)險(xiǎn)或者影響:
  1. PoWA 會(huì)對(duì)PostgreSQL服務(wù)器性能產(chǎn)生很小的負(fù)面影響。且很難準(zhǔn)確評(píng)估這種影響。
  2. 如果不使用遠(yuǎn)程模式,數(shù)據(jù)將定期存儲(chǔ)在本地,所以必須考慮磁盤使用情況,避免影響備份。
  3. 在使用遠(yuǎn)程模式時(shí),powa-repository中配置采集性能指標(biāo)實(shí)例信息需要輸入目標(biāo)實(shí)例的IP、帳號(hào)及口令,并且可以通過powa_servers表查詢到相關(guān)信息,其中連接口令以明文形式呈現(xiàn),存在安全風(fēng)險(xiǎn)。
  4. 在PoWA-collector配置文件中,powa-repository的連接信息中無連接口令配置,表示powa-repository對(duì)于PoWA-collector的連接配置項(xiàng)必須為trust,存在安全風(fēng)險(xiǎn)。
  5. 在PoWA-web配置文件中,可選配置username、password對(duì)應(yīng)powa-repository(遠(yuǎn)程模式)或者數(shù)據(jù)庫(kù)實(shí)例(本地模式)的root用戶及連接口令,且以明文形式存儲(chǔ),存在安全風(fēng)險(xiǎn)。

4

那有什么措施杜絕這種風(fēng)險(xiǎn)呢?
建議如下:
  1. 檢查pg_hba.conf文件,設(shè)置只容許相關(guān)網(wǎng)段的連接。

  2. 不允許用戶從外網(wǎng)直接訪問PoWA。

  3. 不允許用戶從外網(wǎng)直接訪問PostgreSQL。

  4. 在HTTPS服務(wù)器上運(yùn)行PoWA并禁用HTTP訪問。

  5. 使用SSL保護(hù)GUI和PostgreSQL之間的連接,拒絕GUI和PostgreSQL之間不受保護(hù)的連接。

  6. 建議手動(dòng)授權(quán)專用角色查看powa數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

  7. 建議使用依賴其他libpq身份驗(yàn)證方法,杜絕純文本密碼存儲(chǔ),其身份驗(yàn)證方法詳見官檔https://www.postgresql.org/docs/current/auth-methods.html。

5

PoWA詳細(xì)安裝如下:
在生產(chǎn)環(huán)境中,我們要做的是竟可能避免單個(gè)PG的powa庫(kù)中的數(shù)據(jù)量過大。但是我們又要存放一段時(shí)間的快照信息用于性能分析,這個(gè)類似于Oracle的AWR快照信息。
這個(gè)時(shí)候我們就需要專門創(chuàng)建一個(gè)多帶帶的powa數(shù)據(jù)庫(kù)用于存儲(chǔ)各個(gè)pg采集過來的數(shù)據(jù)。所以生產(chǎn)環(huán)境中我們基本上采取的遠(yuǎn)程模式部署powa。
遠(yuǎn)程模式示意圖
PoWA-archivist安裝
5.1 PoWA-archivist是PoWA的核心組件。其主要有如下2個(gè)部分:
  1. 名為“powa”的管理功能擴(kuò)展。

  2. 名稱為“powa”的模塊,可以選擇作為后臺(tái)工作程序運(yùn)行,用以收集本地實(shí)例上的性能數(shù)據(jù)。

5.2 先決條件
  1. PostgreSQL版本為9.4或更新版本。

  2. 需安裝pg_stat_statements和btree_gist模塊。

5.3 本次安裝環(huán)境
操作系統(tǒng)版本:Redhat7.5
PoWA-archivist版本:4.1.2
5.4 安裝步驟
1)首先下載PoWA-archivist安裝包,地址如下:
https://github.com/powa-team/powa-archivist/tree/REL_4_1_2
2)解壓:
su - postgres
unzip powa-archivist-REL_4_1_2.zip
cd  powa-archivist-REL_4_1_2
3)編譯并安裝:
make
make install
例:
4)創(chuàng)建 PoWA 數(shù)據(jù)庫(kù)并創(chuàng)建所需的擴(kuò)展:
create database powa;
create extension pg_stat_statements;
create extension btree_gist;
create extension powa;
例:
如果需要本地信息收集,PoWA-archivist可作為后臺(tái)進(jìn)程去收集。但是對(duì)應(yīng)的library需要在參數(shù)文件中配置且重啟生效。
5)修改postgresql.conf配置文件,將powa和pg_stat_statements添加到shared_preload_libraries參數(shù)中,并開啟track_io_timing。
track_io_timing = on
shared_preload_libraries = pg_stat_statements,powa
例:
由于內(nèi)容比較多,我們分上下2篇了解PoWA,上篇就到此為止。下篇我們可以了解PoWA-collector、PoWA-web的安裝使用及性能指標(biāo)等的介紹。
參考:
https://github.com/
https://powa.readthedocs.io/en/latest/index.html
https://support.huaweicloud.com/rds/index.html

 


END



 


本文作者:魏 斌

本文來源:IT那活兒(上海新炬王翦團(tuán)隊(duì))

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129504.html

相關(guān)文章

  • 新書推薦 |《PostgreSQL實(shí)戰(zhàn)》出版(提供樣章下載)

    摘要:作者譚峰張文升出版日期年月頁(yè)數(shù)頁(yè)定價(jià)元本書特色中國(guó)開源軟件推進(jìn)聯(lián)盟分會(huì)特聘專家撰寫,國(guó)內(nèi)多位開源數(shù)據(jù)庫(kù)專家鼎力推薦。張文升中國(guó)開源軟件推進(jìn)聯(lián)盟分會(huì)核心成員之一。 很高興《PostgreSQL實(shí)戰(zhàn)》一書終于出版,本書大體上系統(tǒng)總結(jié)了筆者 PostgreSQL DBA 職業(yè)生涯的經(jīng)驗(yàn)總結(jié),本書的另一位作者張文升擁有豐富的PostgreSQL運(yùn)維經(jīng)驗(yàn),目前就職于探探科技任首席PostgreS...

    Martin91 評(píng)論0 收藏0
  • 構(gòu)建可擴(kuò)展的PostgreSQL解決方案

    摘要:這可以通過負(fù)載平衡來實(shí)現(xiàn)數(shù)據(jù)分片當(dāng)問題不是并發(fā)查詢的數(shù)量,而是數(shù)據(jù)庫(kù)的大小和單個(gè)查詢的速度時(shí),可以實(shí)現(xiàn)不同的方法。 showImg(https://segmentfault.com/img/remote/1460000018875091); 來源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Slogan | 連接每個(gè)程序員的故事 網(wǎng)站 | http://chaindesk.cn...

    jonh_felix 評(píng)論0 收藏0
  • 構(gòu)建可擴(kuò)展的PostgreSQL解決方案

    摘要:這可以通過負(fù)載平衡來實(shí)現(xiàn)數(shù)據(jù)分片當(dāng)問題不是并發(fā)查詢的數(shù)量,而是數(shù)據(jù)庫(kù)的大小和單個(gè)查詢的速度時(shí),可以實(shí)現(xiàn)不同的方法。 showImg(https://segmentfault.com/img/remote/1460000018875091); 來源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Slogan | 連接每個(gè)程序員的故事 網(wǎng)站 | http://chaindesk.cn...

    FrozenMap 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<