下面的分享是筆者在2月份處理的一起性能故障,筆者將分析過程分享出來,給大家起到拋磚引玉的作用。
接到XXX項目組報障:XX系統Connecttodatabasetimeout,請求協助檢查數據庫是否有異常。通過DPM檢查數據庫狀態(現場所有交維,為交維的數據庫都納入了DPM),發現大量cursor: pin S wait on X(數據庫還未交維平臺側,純友情協助);
使用DPM下鉆功能,找到阻塞sql;
通過查看DPM概覽發現確實存在大量等待事件告警信息:
與業務側緊急溝通核實,確定已造成業務積壓,考慮到服務連續性,本著先搶通再核查根因的原則,經過應用側同意,對堵塞會話予以查殺,以保證業務的連續性。堵塞會話查殺后,數據庫恢復,業務恢復正常。
故障第一次分析:
采用故障時間段相關現場信息排除法進行相關分析。
version count 信息
Version count正常,非此次故障原因,可排除。
相關負載及硬解析物理讀等
硬解析在正常范圍內,非此次故障原因,可排除
DDL變動信息
相關對象最后DDL操作和此次故障時間不一致,可排除
shared pool 變動信息
Shared pool 存在抖動情況,內存抖動是導致cursor: pin S wait on X等待事件發生原因之一;
會話信息
根據會話變動找出阻塞源以便排查原因;
session變動量
故障時段session并發連接數量明顯增加。
造成cursor: pin S wait on X幾種原因:
version count過高
硬解析過多
在問題時段有做DDL操作,導致異常阻塞
sql用的對象使用了DBLINK訪問,dblink不通
shared pool抖動造成
業務變更
相關bug
根據故障時間段的相關數據一一排除version count、硬解析、ddl、dblink等原因,查找相關sql執行計劃并分析,查找相關類似bug文檔,排查相關原因分析,初步確定shared pool抖動為本次故障原因;
分析到這里時,客戶側也在催促結論,需要向上匯報。逐將上述分析過程整理發于客戶側。
未共享sql
根據查詢顯示未綁定變量sql在正常范圍內,非造成此次性能故障原因
sga變動
通過awr顯示sga存在內存抖動
查詢源阻塞信息
為保障業務連續性,聯系業務側對堵塞會話予以核實及查殺。
業務恢復后繼續分析:
造成抖動的ddl信息
查詢相關官方文檔
收集相關信息
進行故障時間段awr、ash、addm等報告的收集及shared pool變動信息查詢并進行hang分析;
根據addm報告、shared pool變化信息結合DPM等待事件相關故障開始時間等信息的聯合診斷,確定shared pool過小是導致此次性能故障的原因,依據如下:
1、addm報告顯示(見下圖),shared pool latches 對此次故障的影響;
2、對比shared pool數據與DPM所記錄等待情況,發現在故障發生時,shared pool發生明顯抖動且與等待事件發生時間一致。
Shared pool 和故障等待開始時間對應表格
等待事件開始時間 | Shared pool抖動時間 |
2020-02-21 22:09 | 2020-02-21 22:09 |
2020-02-22 08:54 | 2020-02-22 08:54 |
2020-02-22 10:26 | 2020-02-22 10:27 |
原因找到,馬上制定調整shared pool大小的解決方案,并緊急申請實施窗口。
實施方案如下:
參數修改后,數據庫恢復正常
09:00實時監控未見異常;
12:00實時監控未見異常;
17:00實時監控未見異常;
21:50實時監控未見異常;
至此該性能故障解決完成。通過該性能故障的處理過程,我們發現在運維的過程如果現場有相關運維工具平臺,對于日常工作及性能故障的處理都會起到事半功倍的效果。畢竟工欲善其事,必先利其器。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130229.html
摘要:每秒實時處理超過萬項監控指標,讓異常無所遁形。此外,對于復雜數據庫故障事后排查故障根源現場還原歷史事件追蹤也迫使我們建設一個覆蓋線上所有環境數據庫實例事件的監控系統,做到覆蓋阿里全球子公司所有機房。所有性能指標做到秒級連續不間斷監控。 摘要: 2017雙11再次創下了32.5萬筆/秒交易創建的紀錄,在這個數字后面,更是每秒多達幾千萬次的數據庫寫入,如何大規模進行自動化操作、保證數據庫的...
摘要:摘要阿里云主要分為離線分析和在線分析兩種功能。演講嘉賓簡介勛臣,阿里云內核團隊技術專家,目前阿里云專家系統開發。通過診斷報告定位性能下降原因。 摘要:阿里云CloudDBA主要分為離線分析和在線分析兩種功能。幫助用戶節省成本,定位問題,分析原因并推薦解決方法。CloudDBA可以做到實時診斷,離線診斷和SQL優化。并且通過MySQL的參數調優,檢測參數的不合理或者準備的延遲的情況。 演...
摘要:張波目前主要負責虎牙直播運維體系的建設,針對和后臺類程序的發布監控運維自動化相關的運維系統進行設計和開發。 6 月 10 日,又拍云 Open Talk | 2018 音視頻技術沙龍·深圳站 順利落幕,來自虎牙的直播運維研發架構師張波在沙龍上做了《基于CDN推流日志的主播上行實時監控及其自動化解密》的分享。虎牙直播是中國領先的互動直播平臺,作為游戲直播第一股,是音視頻技術的典型應用企業...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20