近期某省渠道應用的簽到送流量業務出現了嚴重的業務超時情況,與此同時該渠道Tuxedo中間件的維護人員在該活動的業務高峰期,也接收到了大量涉及業務辦理服務的積壓告警短信。
通過對積壓的Tuxedo服務執行效率進行統計,發現該服務在業務高峰期時單筆調用的服務執行總耗時已經達到13.4732s。
中間件維護人員在對該服務進行實時truss過程中,未發現明顯的執行過程等待現象,但經過對該服務單筆調用記錄的數據進行分析和統計后,發現在一次調用過程中,該服務對數據庫讀、寫的次數累計已經超過了14000次。
同時在truss過程中,我們發現每次的read5,write5對象分別為讀、寫CRM庫。
于是馬上接入CRM庫進行分析,跟蹤積壓服務在數據庫執行情況。通過剖析主要發現該服務發起的session存在大量的librarycache: mutex X爭用,且都在特定的sql上(sql_id:afqzw543rcu2d)。
另外該sql在30min內累計執行3.8kw次,與此同時主機Runq隊列高居不下,Cpu資源耗盡。
通過剖析該sql,發現該sql主要是利用dual表進行date轉換。
由此可發現,本次服務積壓主要與此sql有關,但該服務模塊上線較早,且近期沒有新的變更,那么此次的問題是否和sql調用量增加有關系?
帶著此疑問,我們對此sql的調用量做了對比分析。
分析發現2月11日6點到9點30分總執行次數只有5000萬次左右,3月20日6點到9點30分總共執行了1.1億次,3月27日,6點到9點30分,總共執行了4.01億次,差不多增長了4倍。所以從數據上分析,該SQL的執行次數是一個不斷增長的趨勢;
同時發現,隨著問題sql執行次數的增加,librarycache: mutex X等待次數也跟著同比增加,進而使得主機Runq隊列劇增,Cpu資源耗盡。
那么要解決該問題,就要控制該sql執行頻率。通過同應用側溝通,最終通過修改業務邏輯,在數據庫中屏蔽該sql。
優化后對服務調用量及平均響應時長進行了監控和數據搜集。
對比發現,優化后服務執行效率提升顯著,且穩定,無服務隊列積壓情況出現。下圖為上線前后服務執行效率對比曲線圖:
此案例中我們發現在應用代碼中使用selectxxx from dual, 該SQL雖然簡單,且單次執行性能優良,但如高頻率的執行,則會有資源高消耗的隱患。
因此建議避免在數據庫內部進行與數據庫無關的處理;且日期以及字符串等相關處理各種程序語言(C、Java)都提供了豐富的函數庫可使用,本地化處理不僅可以避免與數據庫的交互,更可以降低數據庫的負載,提高服務性能。
獨坐思往昔,愁絕淚盈襟。下回見。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130209.html
摘要:報警阻塞,發送效率低下這種情況下,報警是根據用戶一個個用戶發送。效果極大的簡化了報警配置,僅配置了兩個。發送效率提高,對于一個報警,無論發送人數多少,都只需要觸發執行一次腳本。 通常zabbix告警主要可以通過三種方式 1. 自帶的直接調用消息接口服務 2. 執行自定義腳本發送消息 3. 通過send remote commend 的方式通過執行腳本發送 2和3的本質都只通過zabb...
摘要:如何有效處理緊急事件驅動的工作,成為特別是運維主管運維工作的關鍵。通知到位和及時響應。機器學習領域是未來的重要發展方向,目前我們還在摸索中。機器學習告警合并事件單的處理如果告警量很大,告警后續處理和跟蹤往往會依賴于外部團隊部門外或公司外。 編者按]本文作者為陳伯龍,云告警平臺[OneAlert創始人,著《云計算與OpenStack》,在IT運營管理、云計算方面從業10多年。 正文 互聯...
摘要:如何有效處理緊急事件驅動的工作,成為特別是運維主管運維工作的關鍵。通知到位和及時響應。機器學習領域是未來的重要發展方向,目前我們還在摸索中。機器學習告警合并事件單的處理如果告警量很大,告警后續處理和跟蹤往往會依賴于外部團隊部門外或公司外。 編者按]本文作者為陳伯龍,云告警平臺[OneAlert創始人,著《云計算與OpenStack》,在IT運營管理、云計算方面從業10多年。 正文 互聯...
摘要:在軟件測試活動中,作為一名測試人員有沒有遇到過這樣的場景,在測試一個特性或者制定一份測試方案時,往往會想著進行簡單測試做簡單設計,認為這個場景出現的概率太低,幾乎不可能會存在,不測了實際應用時不可能會有這么大的用戶量, ...
閱讀 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