1. 程式人生 > >PostgreSQL學習第十五篇 效能監控

PostgreSQL學習第十五篇 效能監控

資料庫效能檢視
以pg_stat開頭。是否產生這些統計資料,由一下引數決定:
track_counts:是否收集表和索引上的統計資訊,預設為on
track_functions:可以取all、pl和all,如果是pl則只收集pl/pgsql寫的函式的統計資訊;all表示收集所有型別的函式,包括C語言和SQL寫的函式。預設為none
track_activities:是否收集當前正在執行的SQL,預設為on
track_io_timing:是否收集I/O的時間資訊。預設為off。

最常用檢視:pg_stat_activity,該檢視可以查詢出正在執行的SQL。
postgres=# \x
Expanded display is on.
postgres=# select * from pg_stat_activity;
-[ RECORD 1 ]----+--------------------------------
datid            | 13269
datname          | postgres
pid              | 15038
usesysid         | 10
usename          | postgres
application_name | psql
client_addr      |
client_hostname  |
client_port      | -1
backend_start    | 2017-01-18 23:00:31.328043+08
xact_start       | 2017-01-18 23:00:47.766953+08
query_start      | 2017-01-18 23:00:47.766953+08
state_change     | 2017-01-18 23:00:47.766957+08
wait_event_type  |
wait_event       |
state            | active
backend_xid      |
backend_xmin     | 1830
query            | select * from pg_stat_activity;


PG提供了一下各個物件級別的統計資訊檢視:
pg_stat_database
pg_stat_all_tables
pg_stat_sys_tables
pg_stat_user_tables
pg_stat_all_indexes
pg_stat_sys_indexes
pg_stat_user_indexes

根據pg提供的pg_test_timing工具測試開啟track_io_timing引數是否會產生瓶頸:
PG還提供了對資料庫內函式的呼叫次數及其他資訊進行統計的檢視:pg_stat_user_functions

PG還提供了一下各個物件上發生I/O情況的統計檢視:
pg_statio_all_tables
pg_statio_sys_tables
pg_statio_user_tables
pg_statio_all_indexes
pg_statio_sys_indexes
pg_statio_user_indexes
pg_statio_all_sequences
pg_statio_sys_sequences
pg_statio_user_sequences


pgstatspack

Linux監控工具:
top
iostat :iostat -dmx 1 /dev/sda
vmstat:檢視記憶體情況
sar:可以檢視各種資訊,最常見的是檢視網路的流量

[
[email protected]
~]# iostat -dmx 1 /dev/sda Linux 2.6.32-431.el6.x86_64 (pg) 01/18/2017 _x86_64_ (1 CPU) Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util sda 0.05 0.36 0.14 0.37 0.00 0.00 20.12 0.01 17.96 16.36 0.84 await:包括了在佇列中等待的時間 svctm:指把I/O傳送到磁碟上花了多少時間,不包括在I/O佇列中的時間,對於普通硬碟來說,這個時間通常不應該超過20ms %util:表示I/O利用率 [
[email protected]
~]# vmstat 1 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 1354120 109296 334656 0 0 2 3 17 11 0 0 99 1 0 swap中的si和so,如果這兩項有大於0的數值,說明發生了swap交換,系統的記憶體不足了。bi bo可看成當前IO的情況 [
[email protected]
~]# sar -n DEV 1 2 Linux 2.6.32-431.el6.x86_64 (pg) 01/18/2017 _x86_64_ (1 CPU) 11:39:23 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 11:39:24 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:39:24 PM eth0 0.98 0.00 0.06 0.00 0.00 0.00 0.00 11:39:24 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 11:39:25 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:39:25 PM eth0 0.99 0.99 0.06 0.37 0.00 0.00 0.00 Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: eth0 0.99 0.49 0.06 0.18 0.00 0.00 0.00

相關推薦

PostgreSQL學習 效能監控

資料庫效能檢視 以pg_stat開頭。是否產生這些統計資料,由一下引數決定: track_counts:是否收集表和索引上的統計資訊,預設為on track_functions:可以取all、pl和all,如果是pl則只收集pl/pgsql寫的函式的統計資訊;all表示收集所

Python 學習 :模塊搜索路徑和包導入

部分 blank 所有 python 環境變量 bsp 引入 html pytho 在導入自定義的模塊時,除了指定模塊名之外,也需要指定目錄,由於Python把目錄稱作包,因此,這類導入被稱為包導入。包導入把計算機上的目錄變成Python的命名空間,而目錄中所包含的子目錄和

:前輩opencv學習入門經驗

首先,搞影象處理,熟悉影象演算法是必經之路,如果上過影象處理這門課的話,再好不過。如果沒有,我推薦中科院研究生院劉定生老師的數字影象處理與分析(視訊),這位老師上課引人入勝,值得推薦。其次,在這個階段,配套的書籍自然是《岡薩雷斯版數字影象處理》這本書,最好同時用matlab軟體,模擬每一個影象演算法案例,推薦

python學習節(正則)

重復數 src spl efault 操作 alt 是個 lin 多次 正則的貪婪匹配 非貪婪模式按照最小重復數取 非貪婪匹配 正則的方法 re.split 正則分割 分割次數 保留分隔符,用一個括號套住分隔符 sub 替換字符串需要三個參數,要替換的內容

和諧

entry 信息 同時 這就是我 包括 意義 -1 www 空間信息 第十五篇 和諧 “和諧”對於整個宇宙來講至關重要,無論是宇宙自身空間的環境還是萬物之間都需要和諧。如果在任何方面或任何領域出現不和諧的因素,就會對宇宙本身及宇宙中的萬物帶來很大的影響。這種影響大

linux系統學習天-<<工程師技術>>

linux工程師技術 linux管理員技術 linux雲計算運維 深圳雲計算王森 雲計算運維工程師 虛擬機A 1. 將防火墻狀態設置為trusted 2.SELinux當前修改為permissive 3.SELinux永久狀態修改為permissive 4.清空Yu

:JavaScript 之 Dom操作

頁面 對象模型 面向 方法 bsp log gpo eva div 一、後臺管理頁面布局 二、JavaScript函數 三、eval以及時間操作 四、JavaScript作用域 五、JavaScript面向對象模型 六、DOM選擇器 七、DOM事件操作 八、DOM綁定事件的

python全棧開發【】面向對象三大特性——封裝

inf delete 面向對象 修改 turn 外部 clas fun 內部 1.封裝: 什麽是封裝呢?(封裝不是單純意義的隱藏,其實它還是可以查看的)   就是把一些不想讓別人看的給隱藏起來了 封裝數據:目的是保護隱私 功能封裝:目的是隔離復雜度 如果用了私有的,在類的外

web前端【】popup簡單使用(彈出頁面)

model 循環 sci return submit mutable 數據 src close 一、首先說一下自執行函數 1. 立即執行函數是什麽?也就是匿名函數 立即執行函數就是 聲明一個匿名函數 馬上調用這個匿名函數 2、popup的舉例 點擊,彈出一個新的窗口

Django 【】緩存

是否 man tom pro n) database core import second 由於Django是動態網站,所有每次請求均會去數據進行相應的操作,當程序訪問量大時,耗時必然會更加明顯,最簡單解決方式是使用:緩存,緩存將一個某個views的返回值保存至內存或者me

業余草 SpringCloud教程 | : 斷路器監控(Hystrix Dashboard)(Finchley版本)

指標 string 好友 資料 edi back cor 簡單 over 在我的第四篇文章斷路器講述了如何使用斷路器,並簡單的介紹了下Hystrix Dashboard組件,這篇文章更加詳細的介紹Hystrix Dashboard。 一、Hystrix Dashboard

Python學習——異常處理

code 具體細節 names 這樣的 我們 dog file () 異常處理 在實際中,很多時候時候,我們並不能保證我們所寫的程序是完美的。比如我們程序的本意是:用戶在輸入框內輸入數字,並進行後續數學運算,即使我們提醒了用戶需要輸入數字而不是文本,但是有時會無意或者惡意輸

Python學習——低耦合函數設計思想

json格式 轉化 tor pre 感覺 格式 數據格式 思想 方便 1 import json 2 2 def greet_user(filename): 3 3 try: 4 4 with open(filename) as f_

python學習

1.面向物件和麵向過程 面向過程: 以我為中心. 按照事物的發展"流程". 面向物件: 以物件為中心. 萬事萬物皆為物件(object)2.如何編寫面向物件程式(重點)先建立類: 歸類. 對某些事物進行總結. 相當於圖紙 使用類可以建立物件: class 類名(obje

機器學習——智慧進化

智慧進化(Evolving Intelligence) 構造樹狀程式 from random import random, randint, choice from copy import deepcopy from math import log class fwrapper:

Android提高之ListView自適應實現表格

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Java進階學習天(Struts框架)

一、自定義一個Struts框架 1、MVC模式包括 Model:模型 View:檢視 Control:控制器 2、傳統mvc開發總結 ① 跳轉程式碼寫死,不靈活 ② 每次都去寫servlet,要web.xml中配置servlet! 3、自定義一個Struts框架 ① 配置檔案

嵌入式視訊方案學習——視訊編碼模組VENC 一般初始化過程

在Sample_comm_venc.c中SAMPLE_COMM_VENC_Start實現venc的啟動 在SAMPLE_COMM_VENC_Start中首先獲取圖片大小 然後建立組HI_MPI_VENC_CreateGroup 然後根據編碼型別配置不同的引數,建立通道 HI_

轉載:SpringBoot非官方教程 | :Springboot整合RabbitMQ

這篇文章帶你瞭解怎麼整合RabbitMQ伺服器,並且通過它怎麼去傳送和接收訊息。我將構建一個springboot工程,通過RabbitTemplate去通過MessageListenerAdapter去訂閱一個POJO型別的訊息。 準備工作 15min ID

史上最簡單的SpringCloud教程 | : 斷路器監控(Hystrix Dashboard)(Finchley版本)

在我的第四篇文章斷路器講述瞭如何使用斷路器,並簡單的介紹了下Hystrix Dashboard元件,這篇文章更加詳細的介紹Hystrix Dashboard。 一、Hystrix Dashboard簡介 在微服務架構中為例保證程式的可用性,防止程式出錯導致網路阻塞,出現了斷