System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及java應用性能分析,尤其涉及一種線程棧性能分析任務的處理方法和系統。
技術介紹
1、java應用性能分析領域中,業界廣泛采用分布式鏈路追蹤技術,比如pinpoint,skywalking等,對業務請求在服務鏈路中的流轉進行全面監控。具體地,采用分布式鏈路追蹤技術能夠跟蹤業務請求在各個服務節點之間的傳遞,收集每個服務調用節點的執行耗時、錯誤等關鍵信息,讓開發者能夠快速定位問題發生的服務節點。因此,該方案在定位跨多個進程或服務之間的通信問題方面能發揮比較大的作用。然而,當問題被定位到具體的單個任務或進程內部的性能問題時,分布式鏈路追蹤技術無法提供更深入的分析幫助。
2、相關技術中,為了彌補上述不足,業界通常的做法是結合使用周期性的線程棧快照分析。例如,skywalking除了提供分布式追蹤功能外,還具備性能分析工具,允許開發者手動觸發或設置周期性的性能分析任務。這些任務會在指定的時間間隔內收集進程中所有線程的調用棧快照,然后通過分析這些快照數據,識別出導致性能問題的代碼段,比如哪些方法調用導致了線程阻塞,或者哪些代碼段存在效率低下的問題。
3、然而,專利技術人發現相關技術中至少存在如下技術問題:
4、(1)在進行線程棧快照分析時,會捕捉到大量實際上與性能問題無關的線程棧快照,這些與性能問題無關的線程棧快照作為額外數據,會增加數據處理的負擔,浪費計算資源和存儲空間;
5、(2)在進行性能分析時,開發者通常需要基于先驗知識或猜測來確定可能存在的問題所在,并據此進行精確匹配以設置
6、(3)性能分析任務必須通過人工手動觸發并進行監督,分析的時機和效果很大程度上依賴于開發者的主動性和經驗判斷,無法實現完全自動化;
7、(4)控制周期性任務的執行時間和持續時長具有挑戰性。因為線上問題的產生往往是隨機且不可預測的,這增加了準確定位和分析性能問題的難度;
8、(5)采用固定頻率進行線程棧快照可能會遺漏關鍵信息,導致快照信息失真,因為在高并發環境下,性能問題可能瞬間發生并迅速消失。這種快照方式可能無法捕捉到這些瞬時的性能問題,導致無法真實反映線程在實際運行中的狀態。
技術實現思路
1、本申請的一個目的是提供一種線程棧性能分析任務的處理方法和系統,至少用以解決
技術介紹
中提到的上述技術問題。
2、為實現上述目的,本申請的一些實施例提供了以下幾個方面:
3、第一方面,本申請的一些實施例還提供了一種線程棧性能分析任務的處理方法,所述方法包括:根據歷史性能分析數據,確定線程棧入口端點出現的頻次;根據所述頻次自適應調整當前線程棧性能分析任務中的初始權重值,得到目標權重值;其中,所述初始權重值,用于表征在所述線程棧性能分析任務的初始化階段設置的統一權重值;根據所述目標權重值,自適應調整初始快照采樣率,得到目標快照采樣率,以根據所述目標快照采樣率進行線程棧性能分析任務的處理;其中,所述初始快照采樣率,用于表征在所述線程棧性能分析任務的初始化階段設置的統一采樣率。
4、第二方面,本申請的一些實施例還提供了一種線程棧性能分析任務的處理系統,其特征在于,所述系統用于執行如上所述的方法;所述系統至少包括:確定模塊,用于根據歷史性能分析數據,確定線程棧入口端點出現的頻次;第一調整模塊,用于根據所述頻次自適應調整當前線程棧性能分析任務中的初始權重值,得到目標權重值;其中,所述初始權重值,用于表征在所述線程棧性能分析任務的初始化階段設置的統一權重值;第二調整模塊,用于自適應調整初始快照采樣率,得到目標快照采樣率,以根據所述目標快照采樣率進行線程棧性能分析任務的處理;其中,所述初始快照采樣率,用于表征在所述線程棧性能分析任務的初始化階段設置的統一采樣率。
5、與相關技術相比,本申請實施例提供的方案至少具有以下有益效果:
6、(1)由于可以自適應調整所述初始權重值,比如減少對低概率故障方法的分析權重,得到目標權重值,并根據所述目標權重值,自適應調整初始快照采樣率。從而可以減少對無關線程棧信息的捕獲。換句話說,通過智能地調整所述初始權重值從而調整分析重點,可以優化資源的使用,避免在分析過程中收集過多的、可能并不重要的線程棧快照。從而可以解決相關技術提供的方案中會增加數據處理的負擔,浪費計算資源和存儲空間的技術問題。
7、(2)由于配置了初始權重值,也就是說,在所述線程棧性能分析任務的初始化階段,所有線程棧入口端點endpoint初始權重值都相同,確保了本申請實施例提供的方法不需要人工手動指定線程入口點。換句話說,所述性能分析系統在開始時對所有方法一視同仁,無需開發者手動選擇或指定哪些方法是分析的重點。這種設計簡化了分析過程,使得分析可以自動進行,而不需要額外的手動配置。從而可以解決相關技術提供的方案中,會導致一些未被預見或未知的潛在問題代碼段被遺漏的技術問題。
8、(3)由于可以自適應調整所述初始權重值,不需要人工干預就可以達到最理想的參數配置,因此可以解決相關技術提供的方案中,必須通過人工手動觸發并進行監督,分析的時機和效果很大程度上依賴于開發者的主動性和經驗判斷,無法實現完全自動化的技術問題。
9、(4)由于排除了人工干預,后臺分析過程可以全天候伺服,無論何時,線上問題都能被及時準確地發現,確保問題在任何時間發生時都能被快速捕捉,可以達到提升問題發現的及時性和準確性的目的,因此可以較好地解決相關技術提供的方案中,準確定位和分析性能問題的難度較高的技術問題。
10、(5)由于所述性能分析系統可以根據故障發生的頻率,動態地自適應調整初始快照采樣率,以便在不丟失關鍵信息的同時,優化資源的使用。該自適應調整有利于保證分析的準確性和效率,因此可以解決相關技術提供的方案中的快照方式可能無法捕捉到這些瞬時的性能問題,導致無法真實反映線程在實際運行中的狀態的技術問題。
本文檔來自技高網...【技術保護點】
1.一種線程棧性能分析任務的處理方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,
3.根據權利要求1所述的方法,其特征在于,所述根據所述頻次自適應調整當前線程棧性能分析任務中的初始權重值,得到目標權重值包括:
4.根據權利要求3所述的方法,其特征在于,所述根據所述頻次和所述預設規則自適應調整當前線程棧性能分析任務中的初始權重值,得到目標權重值包括:
5.根據權利要求4所述的方法,其特征在于,根據判斷結果,對所述初始權重值執行減法操作或者加法操作包括:
6.根據權利要求3至5中任意一項所述的方法,其特征在于,所述目標超時水位閾值的確定方法包括:
7.根據權利要求6所述的方法,其特征在于,在所述根據預設參數自適應調整所述初始值,得到所述目標超時水位閾值之后,所述方法還包括:
8.根據權利要求3至5中任意一項所述的方法,其特征在于,所述方法還包括:
9.根據權利要求1所述的方法,其特征在于,所述方法還包括:
10.一種線程棧性能分析任務的處理系統,其特
...【技術特征摘要】
1.一種線程棧性能分析任務的處理方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,
3.根據權利要求1所述的方法,其特征在于,所述根據所述頻次自適應調整當前線程棧性能分析任務中的初始權重值,得到目標權重值包括:
4.根據權利要求3所述的方法,其特征在于,所述根據所述頻次和所述預設規則自適應調整當前線程棧性能分析任務中的初始權重值,得到目標權重值包括:
5.根據權利要求4所述的方法,其特征在于,根據判斷結果,對所述初始權重值執行減法操作或者加法操作包括:
...【專利技術屬性】
技術研發人員:陳學龍,郭君,魏陽,胡左生,
申請(專利權)人:上海鋼聯電子商務股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。