【PG效能】Postgresql效能相關(作業系統及資料庫簡單說明)
--pg 效能調整相關 --記憶體 buffer cache 直接對磁碟進行操作的資料會快取到buffer cache page cache 檔案系統中的資料則交給page cache進行快取 --cache不自動回收,資料庫需要記憶體時,cache可以很快被回收,如果沒用到交換分割槽,可說明記憶體夠用 -釋放快取 sync echo 1 > /proc/sys/vm/drop_caches --vmstat 虛擬記憶體、程式、cpu等整體情況 -r 當前佇列中有幾個程式在等待 -b 當前有多少個程式進入不可中斷式睡眠狀態 -swpd 已使用的交換分割槽的大小 -free 空閒記憶體大小 -buff 已使用的buffer大小 --cache 已使用的page cache大小 -si/so 從磁碟交換到swap分割槽和從swap分割槽交換的磁碟大小 -bi/bo 從磁碟讀取和寫入到磁碟的大小,單位blocks/s -in 每秒被中斷的程式數 -cs 每秒多少個cpu程式在進進出出 --iostat 監控磁碟輸入輸出 --mpstat cpu詳細效能資訊 --sar 預設儲存28天,目錄 /var/log/sa 修改 /etc/sysconfig/sysstat --檢視某一時間段 sar -q -f /var/log/sa/sa15 -s 22:00:00 -e 23:00:00 sar -q #彙總cpu狀況 sar -b #彙總io狀況 --linux I/O 排程 ##檢視當前支援的排程演算法 dmesg | grep -i scheduler --cfg 絕對公平排程演算法 ,預設 --noop 電梯排程演算法 適合ssd --deadline 絕對保障演算法 --檢視當前磁碟sda的io排程演算法 cat /sys/block/sda/queue/scheduler --臨時修改 echo noop > /sys/block/sda/queue/scheduler ##磁碟預讀扇區 /sbin/blockdev --getra /dev/sda #預設256,可設定16384或更大 /sbin/blockdev --setra 16384 /dev/sda #或 echo 16384 /sys/block/sda/queue/read_ahead_kb ##禁用swap swapoff -a ##啟用 swapon -a --透明大頁,要關閉 cat /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/enabled ##numa guanbi numactl -hardware --or numastat #可編輯 /etc/grub.conf 行末加numa=off禁用 ##資料庫方面 --統計資訊 pg_stat_database --快取命中率,如果低於1,可嘗試調整shared_buffers select blks_hit::float/(blks_read + blks_hit) as cache_hit_ratio from pg_stat_database where datname=current_database(); --事務提交率,低於1,檢查是否死鎖或其他超時太多 select xact_commit::float/(xact_commit +xact_rollback) as successful_xact_ratio from pg_stat_database where datname=current_database(); --最佳化後建議執行以下語句,方面對比最佳化前後資料 pg_stat_reset() --表級統計資訊 pg_stat_user_tables --索引使用率 select sum(idx_scan)/(sum(idx_scan) + sum(seq_scan)) as idx_scan_ratio from pg_stat_all_tables where schemaname='your_schema'; select relname,idx_scan::float/(idx_scan+seq_scan+1) as idx_scan_ratio from stat_all_tables where schemaname='your schema' order by idx_scan_ratio asc; --語句級統計資訊 透過pg_stat_statements ,postgres 日誌、auto_explain 來獲取 pg_stat_statements --開啟 shared_preload_libraries='pg_stat_statements' pg_stat_statements.track=all create extension pg_stat_statements; --查詢平均執行時間最長的3條查詢 select calls,total_time/calls as avg_time,left(query,80) from pg_stat_statements order by 2 desc limit 3; --檢視執行計劃 analyze可以得到真正執行計劃 explain analyze select * from tb1; --除了analyze選項,可以使用其他 explain (analyze on ,timing on,verbose on,buffers on) select * from tb1; --session 級別 log_xxx_stat判斷問題,使用的系統資源等, set client_min_messages=log; set log_parser_stats=on; set log_planner_stats=on; --or set client_min_messages=log; set log_parser_stats=off; set log_planner_stats=off; set log_statement_stats=on; --重建索引 create unique index concurrently on mytb1 using btree(id); --id 欄位有兩索引 select schemaname,relname,indexrelanme,pg_relation_size(indexrelid) as index_size,idx_scan,idx_tup_read,idx_tup_fetch from pg_stat_user_indexes where indexrelname in (select indexname from pg_indexes where schemaname='public' and tablename='mytb1'); --開啟事務刪除主機索引,同時將第二索引更新為主鍵約束 begin; alter table mytb1 drop constraint mytb1_pkey; alter table mytb1 add constraint mytb1_id_idx primary key using index mytb1_id_idx; end; --對於大規模,可透過pg_repack工具進行定時索引重建
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-2564316/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【PG管理】postgresql資料庫管理相關SQL資料庫
- 【PG結構】Postgresql資料庫資料目錄說明SQL資料庫
- 【PG體系結構】PG體系結構簡單說明
- PG資料庫運維中的作業系統關注點資料庫運維作業系統
- 作業系統說明作業系統
- Linux作業系統相關資料Linux作業系統
- postgresql資料庫重要引數說明SQL資料庫
- Python容器相關簡單效能測試Python
- 系統日誌及資料庫相關資訊收集資料庫
- 【PG效能測試】pgbench效能測試工具簡單使用
- Oracle 跨作業系統 遷移 說明Oracle作業系統
- Oracle 跨作業系統遷移說明Oracle作業系統
- Oracle跨作業系統遷移說明Oracle作業系統
- 關於資料庫作業系統的討論資料庫作業系統
- 作業系統相關題目作業系統
- 資料庫效能優化-索引與sql相關優化資料庫優化索引SQL
- AIX作業系統效能分析報告AI作業系統
- 資料庫欄位簡寫說明資料庫
- 【postgresl】PG資料庫sql特性簡單解析資料庫SQL
- Osquery:將作業系統當作關聯式資料庫使用作業系統資料庫
- Oracle GoldenGate系統之----相關引數說明OracleGo
- Linux作業系統的日誌說明Linux作業系統
- Zabbix系統MySQL資料庫分割槽表的設定--精簡說明MySql資料庫
- 簡單的效能測試說明為什麼Go比Java快?GoJava
- Fedora&Redhat下載資源及相關說明(轉)Redhat
- Windows版PostgreSQL資料庫下載及安裝教程(關係型資料庫管理系統)WindowsSQL資料庫
- MS SQL Server 2000 系統資料庫及相關資訊SQLServer資料庫
- 利用OSW工具監控作業系統效能作業系統
- 一次資料庫的簡單效能最佳化資料庫
- sqlserver資料庫系統效能監控步驟SQLServer資料庫
- 【PG執行計劃】Postgresql資料庫執行計劃統計資訊簡述SQL資料庫
- 【PG流複製】Postgresql流複製部署過程及效能測試SQL
- 【PG常用命令】postgresql資料庫統計物件大小SQL資料庫物件
- 細說Oracle資料庫與作業系統儲存管理二三事Oracle資料庫作業系統
- 【PG資料庫】PG資料庫的安裝及連線方法資料庫
- java與作業系統相關的操作Java作業系統
- 作業系統相關知識總結作業系統
- Swift 效能相關Swift