System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數據庫,特別是涉及一種數據庫調優方法、介質、產品及設備。
技術介紹
1、數據庫系統在運行過程中經常會遇到各種性能問題。一般可以通過linux系統命令pstack(一個用于查看linux進程調用棧的命令行工具)查看數據庫進程的堆棧,分析數據庫進程出現性能問題時,典型的函數調用關系是什么,從而進行有針對性性能調優。不過pstack工具不太好跟蹤執行時間非常短的函數調用堆棧,那些函數由于執行時間段往往無法被pstack捕獲到。此問題一般會通過perf(linux內置性能分析工具)產生火焰圖來解決。
2、但是上述方案中pstack和perf均需要手工去采樣,無法做到自動采樣函數調用堆棧,尤其是偶發性的性能問題已經發生了又難以復現的時候。因此需要一種在沒有pstack和perf等性能工具的環境下,使得數據庫系統也具備相關性能調優的能力的方法。
技術實現思路
1、鑒于上述問題,本專利技術提出了一種克服上述問題或者至少部分地解決上述問題的數據庫調優方法、介質、產品及設備。
2、本專利技術的一個目的是使得數據庫能夠分析不同時間段內的數據庫進程堆棧信息。
3、本專利技術一個進一步的目的是使得數據庫能夠在不借助外部工具的情況下分析數據庫進程的堆棧信息。
4、本專利技術又一個進一步的目的是使得數據庫能夠基于數據庫堆棧信息分析可能的性能瓶頸并對其進行調優。
5、特別地,本專利技術提供了一種數據庫調優方法,包括:
6、獲取
7、響應于調優指令,通過預設進程堆棧統計表確定問題堆棧,預設進程堆棧統計表用于記錄不同時間數據庫的數據庫實例中運行的進程及堆棧;
8、在預設堆棧信息表中獲取問題堆棧對應的問題堆棧信息,預設堆棧信息表用于記錄堆棧對應的堆棧信息,堆棧信息表示進程執行過程中的函數調用歷史;
9、根據問題堆棧信息確定目標堆棧序列,堆棧序列用于記錄函數的執行順序;
10、根據目標堆棧序列確定可優化操作。
11、可選地,預設堆棧信息表用于記錄堆棧標識和堆棧信息,堆棧信息包括堆棧層級以及堆棧層級對應的函數名稱;
12、預設進程堆棧統計表用于記錄采樣時間戳、進程標識、進程名稱以及堆棧標識。
13、可選地,通過預設進程堆棧統計表確定問題堆棧的步驟包括:在預設進程堆棧統計表中查詢出現次數符合預設條件的堆棧作為問題堆棧,并獲取問題堆棧對應的堆棧標識;
14、在預設堆棧信息表中獲取問題堆棧對應的問題堆棧信息的步驟包括:在預設堆棧信息表中根據問題堆棧對應的堆棧標識查詢得到問題堆棧信息;對問題堆棧信息進行格式化處理,從而將問題堆棧信息轉換為可閱讀狀態。
15、可選地,根據目標堆棧序列確定可優化操作的步驟包括:
16、獲取目標堆棧序列對應的業務sql;
17、根據業務sql以及目標堆棧序列分析得到可優化操作。
18、可選地,預設進程堆棧統計表和預設堆棧信息表的建立過程包括:
19、間隔設定周期,采集數據庫的數據庫實例中各個進程對應的原始堆棧信息;
20、對原始堆棧信息進行簡化處理,并將處理結果記錄至預設進程堆棧統計表和預設堆棧信息表中。
21、可選地,采集數據庫的數據庫實例中各個進程對應的原始堆棧信息的步驟包括:獲取數據庫實例的進程列表;逐一根據進程列表中的進程標識查詢得到對應的原始堆棧信息;
22、對原始堆棧信息進行簡化處理的步驟包括:去除原始堆棧信息中與性能分析無關的信息,保留堆棧層級以及每個堆棧層級對應的函數名稱。
23、可選地,將處理結果記錄至預設堆棧信息表中的步驟包括:判斷預設堆棧信息表中是否已經存在堆棧標識;若否,則根據堆棧標識在預設堆棧信息表中插入新條目,并將堆棧標識和堆棧信息記錄至新條目中;
24、將堆棧標識和堆棧信息記錄至新條目中的步驟包括:將堆棧標識對應的堆棧信息以數組的方式組裝為字符串;將堆棧標識和字符串記錄至新條目中。
25、根據本專利技術的另一個方面,還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,計算機程序被處理器執行時實現上述任一種的數據庫調優方法的步驟。
26、根據本專利技術的又一個方面,還提供了一種計算機程序產品,其包括計算機程序,該計算機程序被處理器執行時實現上述任一種的數據庫調優方法的步驟。
27、根據本專利技術的再一個方面,還提供了一種計算機設備,包括存儲器、處理器及存儲在存儲器上并在處理器上運行的機器可執行程序,并且處理器執行機器可執行程序時實現上述任一種的數據庫調優方法的步驟。
28、本專利技術的數據庫調優方法,首先獲取數據庫的調優指令;響應于調優指令,通過預設進程堆棧統計表確定問題堆棧;在預設堆棧信息表中獲取問題堆棧對應的問題堆棧信息;根據問題堆棧信息確定目標堆棧序列,堆棧序列用于記錄函數的執行順序;根據目標堆棧序列確定可優化操作。通過此方法,可以使得數據庫能夠在不借助外部工具的情況下分析不同時間段內的數據庫進程堆棧信息并基于數據庫堆棧信息分析可能的性能瓶頸并對其進行調優。
29、根據下文結合附圖對本專利技術具體實施例的詳細描述,本領域技術人員將會更加明了本專利技術的上述以及其他目的、優點和特征。
本文檔來自技高網...【技術保護點】
1.一種數據庫調優方法,包括:
2.根據權利要求1所述的數據庫調優方法,其中,
3.根據權利要求2所述的數據庫調優方法,其中,
4.根據權利要求2所述的數據庫調優方法,其中,
5.根據權利要求2所述的數據庫調優方法,其中,
6.根據權利要求5所述的數據庫調優方法,其中,
7.根據權利要求5所述的數據庫調優方法,其中,
8.一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現權利要求1至7任一項所述的數據庫調優方法的步驟。
9.一種計算機程序產品,包括計算機程序,該計算機程序被處理器執行時實現權利要求1至7中任一項所述的數據庫調優方法的步驟。
10.一種計算機設備,包括存儲器、處理器及存儲在所述存儲器上并在所述處理器上運行的機器可執行程序,并且所述處理器執行所述機器可執行程序時實現根據權利要求1至7任一項所述的數據庫調優方法的步驟。
【技術特征摘要】
1.一種數據庫調優方法,包括:
2.根據權利要求1所述的數據庫調優方法,其中,
3.根據權利要求2所述的數據庫調優方法,其中,
4.根據權利要求2所述的數據庫調優方法,其中,
5.根據權利要求2所述的數據庫調優方法,其中,
6.根據權利要求5所述的數據庫調優方法,其中,
7.根據權利要求5所述的數據庫調優方法,其中,
8.一種計算機可讀存儲介質,其上存...
【專利技術屬性】
技術研發人員:王勝利,尹強,
申請(專利權)人:中電科金倉北京科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。