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

MogDB/openGauss 故障排查思路

運維 數據庫運維
當我們收到反饋說數據庫響應慢或者壓測過程中數據庫有報錯,第一步先收集數據庫服務器資源使用情況,這一步是處理所有故障的前提。

[[425902]]

本文轉載自微信公眾號「數據和云」,作者高云龍。轉載本文請聯系數據和云公眾號。

前提

當我們收到反饋說數據庫響應慢或者壓測過程中數據庫有報錯,第一步先收集數據庫服務器資源使用情況,這一步是處理所有故障的前提。

  1. --負載 
  2. top 命令 
  3. htop 命令 
  4.  
  5. --cpu 
  6. lscpu 命令 
  7.  
  8. --內存大小 
  9. free -g 
  10.  
  11. --磁盤大小 
  12. df-Th  
  13.  
  14. --磁盤使用跟蹤 
  15. nohup iostat -xmt 1 > iostat.log 2>&1 & 
  16.  
  17. --網絡延時 
  18. 應用程序與數據庫之間的網絡延時,集群內主庫與同步備庫之間的網絡延時 
  19. nohup ping 目標ip | awk '{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime())}' > ping.log 2>&1 & 

*模擬網絡延時小知識*

模擬同城機房網絡延遲在0.7ms ~ 0.9ms ;

添加網絡延遲模擬:tc qdisc add dev enp23s0f1(網卡) root netem delay 0.8ms 0.1ms ;

刪除網絡延時模擬:tc qdisc dev dev enp23s0f1(網卡) root netem delay 0.8ms 0.1ms。

常見問題

一.Xlog目錄磁盤空間不足

Xlog日志目錄滿的原因有以下幾個:

  • 集群內有宕機的備節點,或者主備節點之間的網絡不通;
  • 無效的復制槽未及時清理;
  • 開啟歸檔,但歸檔失敗;
  • Xlog保留數量過多。

備節點故障:

通過網絡及數據庫日志信息,判斷節點故障原因,并盡快恢復主備節點之間的復制關系,當故障無法快速解決時,建議修改數據庫參數來改變主庫Xlog保留大小。

  1. enable_xlog_prune = on 
  2. max_size_for_xlog_prune:默認是2T,建議修改值為104857600 (100GB),或根據磁盤空間自行調整 

無效復制槽:

查看是否存在無效的復制槽導致Xlog清理不及時,需要將延時最大的復制槽刪除。

  1. --查看復制槽 
  2. select slot_name,coalesce(plugin,'_'as plugin, 
  3.        slot_type,datoid,coalesce(database,'_'as database
  4.        active,coalesce(xmin,'_'as xmin, 
  5.        pg_size_pretty(pg_xlog_location_diff(CASE WHEN pg_is_in_recovery() THEN pg_last_xlog_receive_location() ELSE pg_current_xlog_location() END , restart_lsn))  AS retained_bytes 
  6. from pg_replication_slots; 
  7.  
  8. --清理復制槽 
  9. select pg_drop_replication_slot('slot_name'); 

歸檔失效:

先檢查歸檔目錄是否有歸檔日志,如果沒有,需要查看數據庫日志歸檔失效的原因。

Xlog參數不合理:

檢查數據庫Xlog保留參數值是否合理: wal_keep_segments。

二.CPU使用率高

除了數據庫BUG、其他程序耗CPU高影響數據庫外,絕大部分原因是SQL執行慢且并發量大引起。

  1. 1、當前正在執行的SQL匯總  
  2. select query,count(*) from pg_stat_activity group by query order by 2 desc limit 5; 
  3.  
  4. 2、查看SQL的執行計劃 
  5. explain (analyze,costs,buffers,timing) QUERY  
  6.  
  7. 3、SQL涉及的表是否有表膨脹、索引失效或缺失或重復 的情況,這步可以處理80%的慢SQL 
  8.  
  9. --表結構 
  10. \d+ 表名 
  11.  
  12. --表及索引占空間大小 
  13. SELECT CURRENT_CATALOG AS datname,nsp.nspname,rel.relname, 
  14.         pg_size_pretty(pg_total_relation_size(rel.oid))       AS totalsize, 
  15.         pg_size_pretty(pg_relation_size(rel.oid))             AS relsize, 
  16.         pg_size_pretty(pg_indexes_size(rel.oid))              AS indexsize, 
  17.         pg_size_pretty(pg_total_relation_size(reltoastrelid)) AS toastsize 
  18. FROM pg_namespace nsp 
  19. JOIN pg_class rel ON nsp.oid = rel.relnamespace 
  20. WHERE nspname NOT IN ('pg_catalog''information_schema'AND rel.relkind = 'r' 
  21. order by pg_total_relation_size(rel.oid) desc 
  22. limit 20; 
  23.  
  24. --表膨脹 
  25. select schemaname,relname,n_live_tup,n_dead_tup, 
  26.     round((n_dead_tup::numeric/(case (n_dead_tup+n_live_tup) when 0 then 1 else (n_dead_tup+n_live_tup) end ) *100),2) as dead_rate 
  27. from pg_stat_user_tables 
  28. where n_live_tup > 0 and (n_dead_tup::numeric/(n_dead_tup+n_live_tup))>0 
  29. order by 5 desc limit 50; 
  30.  
  31. --索引使用率 
  32. select schemaname||'.'||relname tablename,schemaname||'.'||indexrelname indexname,idx_scan,idx_tup_read,idx_tup_fetch from pg_stat_user_indexes; 
  33.  
  34. --重復索引 
  35. SELECT pg_size_pretty(SUM(pg_relation_size(idx))::BIGINTAS SIZE
  36.        (array_agg(idx))[1] AS idx1, (array_agg(idx))[2] AS idx2, 
  37.        (array_agg(idx))[3] AS idx3, (array_agg(idx))[4] AS idx4 
  38. FROM ( 
  39.     SELECT indexrelid::regclass AS idx, (indrelid::text ||E'\n'|| indclass::text ||E'\n'|| indkey::text ||E'\n'||COALESCE(indexprs::text,'')||E'\n' || COALESCE(indpred::text,'')) AS KEY 
  40.     FROM pg_index) sub 
  41. GROUP BY KEY HAVING COUNT(*)>1 
  42. ORDER BY SUM(pg_relation_size(idx)) DESC
  43.  
  44. 4、根據執行計劃判斷SQL是否需要改寫 

三.內存不足

①.查看服務器物理內存整體使用情況。

②.檢查數據庫內存參數設置是否合理:

  • max_process_memory 建議設置物理內存80%;
  • shared_buffers 建議設置為物理內存的40%。

數據庫內存使用分布:

查看整體內存使用情況,當dynamic_used_memory 與 max_dynamic_memory 的值接近時說明動態內存可能不足,如果dynamic_peak_memory超過了max_dynamic_memory,說明曾經發生過OOM。

  1. select * from gs_total_memory_detail; 
  • 連接過多耗盡內存

主要排除是連接數過多導致內存不足的場景

  1. 查看連接數分布 
  2. select state,count(*) from pg_stat_activity group by state; 
  3.  
  4. 各狀態連接占用總內存情況 
  5. select state,pg_size_pretty(sum(totalsize)) 
  6. from gs_session_memory_detail m,pg_stat_activity a  
  7. where substring_inner(sessid,position('.' in sessid)+1)=a.sessionid 
  8. group by state; 
  9.  
  10. 單會話占用內存排序 
  11. select sessid,pg_size_pretty(sum(totalsize)),pg_size_pretty(sum(freesize)) from gs_session_memory_detail group by sessid order by sum(totalsize) desc limit 10; 
  • 緩存機制

會話的緩存機制不合理,也會導致內存無法快速釋放,可能與參數local_syscache_threshold有關系。

  1. 內存上下文使用內存分布 
  2. select contextname,pg_size_pretty(sum(totalsize)),pg_size_pretty(sum(freesize)) from gs_session_memory_detail group by contextname order by sum(totalsize) desc limit 10;動態內存高一般有以下幾個原因: 

總結:

①.連接數過多會導致動態內存耗盡,

  • 如果是IDLE連接多,可能是開發端長連接保留數量不合理;
  • 如果是ACTIVE連接多,可能是硬件內存不足,需要擴內存。

②.單個會話占用內存多,需要根據SQL去分析占用內存情況。

關于作者

 

高云龍,云和恩墨服務總監。長期從事PG運維工作,目前在支持openGauss生態發展。

 

責任編輯:武曉燕 來源: 數據和云
相關推薦

2020-09-25 11:10:51

運維故障排查監控

2021-10-28 17:05:11

IT運維故障

2024-02-20 16:55:14

K8S云計算

2023-05-18 08:00:00

2020-07-08 10:36:18

Linux 運維 數據

2021-07-21 16:22:40

運維架構技術

2010-08-30 19:51:08

DHCP故障

2021-04-25 09:25:25

Linux手工排查

2021-04-19 08:02:54

Windows手工入侵

2019-12-09 10:40:15

YAMLBashKubernetes

2022-04-18 09:07:54

Linux網絡延遲

2010-10-14 13:55:24

無線故障排查

2010-09-27 13:25:39

無線信號

2024-12-04 16:44:51

2013-05-22 14:25:17

2015-10-09 16:42:16

GDB 排查Python程序故障

2013-02-28 10:15:14

Ubuntu性能調優故障排查

2013-05-06 16:36:55

SELinuxSELinux故障

2017-03-24 09:50:00

2010-09-25 15:19:04

DHCP故障問題
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 特黄毛片视频 | 一级国产精品一级国产精品片 | 成人av在线大片 | 古典武侠第一页久久777 | 国产精品免费大片 | 免费视频久久久久 | 久久精品久久精品久久精品 | 色综合视频 | 亚洲精品国产电影 | 久久久国产精品 | 久久久久久久97 | 四虎影视| 亚洲精品乱码久久久久久蜜桃91 | 国产精产国品一二三产区视频 | 成人免费av | 欧美在线观看网站 | 亚洲精品乱码久久久久久蜜桃91 | 国产精品电影在线观看 | 欧美中文字幕一区二区三区亚洲 | 国产成人免费视频网站高清观看视频 | 日韩欧美在线精品 | 成人欧美一区二区三区白人 | 国产在线一区二区三区 | 成人av观看| www.99热| 请别相信他免费喜剧电影在线观看 | 亚洲精品福利在线 | 国产999精品久久久久久绿帽 | 日韩一区二区三区在线视频 | 一区二区三区四区在线 | 免费毛片网站在线观看 | 日韩美女爱爱 | 在线视频99 | 国产精品高潮呻吟久久aⅴ码 | 大伊人久久 | 99热这里都是精品 | 精品亚洲一区二区三区四区五区 | 91中文字幕 | 国产一区二区三区四区在线观看 | 91新视频| 国产精品一二区 |