TWI781767B - 用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法 - Google Patents
用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法 Download PDFInfo
- Publication number
- TWI781767B TWI781767B TW110134972A TW110134972A TWI781767B TW I781767 B TWI781767 B TW I781767B TW 110134972 A TW110134972 A TW 110134972A TW 110134972 A TW110134972 A TW 110134972A TW I781767 B TWI781767 B TW I781767B
- Authority
- TW
- Taiwan
- Prior art keywords
- software component
- performance
- workload
- auxiliary software
- prediction
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000008859 change Effects 0.000 title claims abstract description 30
- 238000011156 evaluation Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 230000001373 regressive effect Effects 0.000 claims description 4
- 238000000714 time series forecasting Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims description 3
- 230000001932 seasonal effect Effects 0.000 claims description 3
- 241000728173 Sarima Species 0.000 claims 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 claims 1
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本發明揭露一種用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法,該方法包含步驟:提供包含一主軟體組件與至少一輔助軟體組件的一軟體系統;在該軟體系統的一變化引進前,分別並依序收集有關於一工作負載與每一輔助軟體組件的性能指標;計算收集的有關於該工作負載及每一輔助軟體組件的性能指標間之相關係數;如果該相關係數的絕對值小於一閾值,以該些收集的有關於該對應的輔助軟體組件的性能指標建立一預測模型;依序記錄有關於該對應的輔助軟體組件的性能指標;輸入收集的有關於該對應的輔助軟體組件的性能指標收集至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標;及使用該些記錄的性能指標來計算一性能差異值。
Description
本發明關於一種用於分析由於軟體系統組件內容變化而造成性能影響的方法,特別是一種用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法。
當一個包含多個軟體組件的軟體系統部署在如伺服器集群等計算設備上,以滿足工作負載的要求時,軟體系統的變化常用於提高軟體系統的性能。變化的典型場景是軟體升級或組件配置參數的調整。即使將一種變化應用於其中一個軟體組件,也可能不可避免地發生一些變化影響,並對同一應用程序中的其它軟體組件造成性能和/或資源使用的漣漪效應。對於軟體系統的開發運作團隊來說,一個關鍵的問題是了解當軟體系統引入該變化時的變化影響。
軟體應用系統中的性能指標,例如記憶體利用率、CPU利用率、輸入輸出吞吐量、響應時間、每秒請求數、延遲等,可以被監控,而真正的”變化影響”很難衡量。這是因為由於工作負載的動態性和變異性,不能保證在引進變化的前與後,會有相同的工作負載,因而無法加以比較其變化影響。
一種用於分析由於軟體系統組件內容變化而造成性能影響的傳統方法如圖1所示。 由四個獨立的軟體組件組成的一個軟體應用程序雲服務被部署用來為一個主工作負載提供服務。軟體組件之間存在數據請求和/或響應,它們是相關軟體組件的影響來源。雲服務可以是一個企業資源規劃(ERP),該主工作負載來自一外部系統,例如在工廠中的計算機主機,由一軟體組件1負責處理。軟體組件1處理所有的操作請求和對該外部系統的響應。其餘軟體組件中的每一個都支援特定的工作功能,並具有與其它軟體組件的內部數據請求和響應。安裝在服務器上的一性能指標收集器,持續監控所有軟體組件的性能指標。在這種情況下,主工作負載的該些性能指標就是軟體組件1的性能指標。如果ERP管理員想知道軟體組件2升級後,所有軟體組件都受到什麼影響,傳統方法可以將實際運行性能指標與當前的性能指標進行比較,並使用比較結果檢查變化影響,其可用於調整軟體組件的配置參數或進一步升級的參考。這通常藉由基準程式來實現。這種方法的局限性在於,為了進行有意義的比較,需要找出的變化前後的運行週期中幾乎相同的工作負載性能指標。否則,比較結果會不可信,這是因為不同的工作負載模式通常會導致系統中軟體組件不同的運行性能指標。這在生產環境中並不是一件容易的事,因為工作負載會動態變化。因此,這種類型的基準程式無法準確描述由引入到系統中的變化產生的影響。
為了提供一種精確的方式來評估變化影響以節省運行成本,本發明公開了一種創新方法。
本段文字提取和編譯本發明的某些特點。其它特點將被揭露於後續段落中。其目的在涵蓋附加的申請專利範圍之精神和範圍中,各式的修改和類似的排列。
依照本發明的一種態樣,一種用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法包含步驟:a) 提供一軟體系統部署在一計算硬體環境中,該軟體系統包含滿足來自一工作負載的請求的一主軟體組件,及處理該主軟體組件的特定工作的至少一輔助軟體組件;b) 在該軟體系統的一變化引進前,分別並依序收集有關於該工作負載與每一輔助軟體組件的性能指標;c) 計算收集的有關於該工作負載的性能指標及有關於每一輔助軟體組件的性能指標間的相關係數;d) 如果該相關係數的絕對值大於一閾值,以該些收集的有關於該工作負載的性能指標及該些收集的有關於對應的輔助軟體組件的性能指標建立一預測模型,用以預測在未來的一段時間內該對應的輔助軟體組件的性能指標;e) 在一評估期間內依序記錄有關於該對應的輔助軟體組件及該工作負載的性能指標,該評估期間開始於該軟體系統的該變化引進時;f) 輸入步驟b)中收集的有關於該工作負載及該對應的輔助軟體組件的性能指標至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標;及g) 使用該些記錄的有關於該對應的輔助軟體組件的性能指標及該些預測的該對應的輔助軟體組件的性能指標以計算一性能差異值。
依照本發明的另一種態樣,一種用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法 包含步驟:a) 提供一軟體系統部署在一計算硬體環境中,該軟體系統包含滿足來自一工作負載的請求的一主軟體組件,及處理該主軟體組件的特定工作的至少一輔助軟體組件;b) 在該軟體系統的一變化引進前,分別並依序收集有關於該工作負載與每一輔助軟體組件的性能指標;c) 計算收集的有關於該工作負載的性能指標及有關於每一輔助軟體組件的性能指標間的相關係數;d) 如果該相關係數的絕對值小於一閾值,以該些收集的有關於該對應的輔助軟體組件的性能指標建立一預測模型,用以預測在未來的一段時間內該對應的輔助軟體組件的性能指標;e) 在一評估期間內依序記錄有關於該對應的輔助軟體組件的性能指標,該評估期間開始於該軟體系統的該變化引進時;f) 輸入步驟b)中收集的有關於該對應的輔助軟體組件的性能指標收集至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標;及g) 使用該些記錄的有關於該對應的輔助軟體組件的性能指標及該些預測的該對應的輔助軟體組件的性能指標以計算一性能差異值。
最好,該軟體系統的該變化可為軟體系統升級、軟體系統應用配置參數調整、安裝新的輔助軟體組件,或刪除現有的輔助軟體組件。
最好,該計算硬體環境可為工作站主機或伺服器集群。
最好,該性能指標可為已使用記憶體數量、已使用CPU數量、輸入輸出吞吐量、響應時間、每秒請求數,或延遲。
最好,該性能差異值可為平均百分比誤差(Mean Percentage Error)。
最好,用於建立該預測模型的該些收集的性能指標分為兩類。
最好,該預測模型是由一時間序列預測演算法建立的。
最好,該時間序列預測演算法是差分整合移動平均自迴歸(Auto Regressive Integrated Moving Average,ARIMA)演算法或季節差分整合移動平均自迴歸(Seasonal Auto Regressive Integrated Moving Average,SARIMA)演算法。
根據本發明,工作負載的性能指標與每個軟體組件的性能指標之間的相關性被考慮在內,可以建立預測模型來預測某個軟體組件的某種性能指標在未來的發展。比較預測的性能指標與真實的性能指標,可以評估所述軟體組件的變化影響,結果還可用於進一步的變化並節省運行成本。
本發明將藉由參照下列的實施方式而更具體地描述。
請先參閱圖4,該圖繪示了用於依照本發明的基於預測的方法來分析由於軟體系統組件內容變化而造成性能的影響的一軟體系統的部署框架。圖4顯示軟體組件的三種運算關係。軟體系統包含了一主軟體組件A、一第一輔助軟體組件1、一第二輔助軟體組件2及一第三輔助軟體組件3,部署在一計算硬體環境。計算硬體環境是指強大的計算硬體,能夠處理來自一工作負載的複雜計算請求。計算硬體環境可以是,但不限於工作站主機和伺服器集群。在該計算硬體環境中有數量眾多的中央處理器(CPU)、數量龐大的動態隨機存取記憶體(DRAM)模塊(或簡稱記憶體),及資源有限的輸入輸出吞吐量。CPU和DRAM是工作負載的資源,通過主軟體組件A使用,具體可細分為供第一輔助軟體組件1、第二輔助軟體組件2,及第三輔助軟體組件3的實際使用量。輸入輸出吞吐量是計算硬體環境對輸入與輸出資料的一種綜合效率值。工作負載可能會佔用大量輸入輸出吞吐量,三個輔助軟體組件共享相同數量的輸入輸出吞吐量。相似地,響應時間、每秒請求數與延遲是響應工作負載的指標,都有來自每一輔助軟體組件的貢獻。在本發明中,性能指標是指已使用記憶體數量、已使用CPU數量、輸入輸出吞吐量、響應時間、每秒請求數,與延遲,並用來分析”變化”對所有軟體組件的影響。 在本發明的實施方式中,有關於該工作負載的延遲(秒)及輔助軟體組件占有的已使用CPU數量用來進行說明。軟體系統的變化可能有不同的類型。舉例來說,它可以是軟體系統升級、軟體系統應用配置參數調整、安裝新的輔助軟體組件、刪除現有的輔助軟體組件等。
在圖4中,主軟體組件A是與外部系統中工作負載相互作用的元件。主軟體組件A的性能指標等同於工作負載的性能指標。主軟體組件A接收工作負載的請求、執行對應的程序操作,並將響應返回給工作負載的特定來源。舉例來說,工作負載可能是某公司的電子郵件請求,而主軟體組件A是運行在公司服務器上的電子郵件模組。依照本發明,軟體系統具有技術架構:除了包含完成工作負載請求的主軟體組件A外,軟體系統還有至少一個輔助軟體組件處理主軟體組件A的特定工作。在圖4中,第一輔助軟體組件1直接為主軟體組件A”工作”,第一輔助軟體組件1對所有電子郵件進行數據檢索。第二輔助軟體組件2為第一輔助軟體組件1”工作”,管理所有電子郵件的電子郵件內容數據庫。 意即,第二輔助軟體組件2間接為主軟體組件A”工作”。第三輔助軟體組件3為第二個輔助軟體組件2”工作”且在主軟體組件A的命令下,執行對一外部資料中心的資料存取。來自主軟體組件A的請求由第一輔助軟體組件1完成。主軟體組件A與第一輔助軟體組件1之間、第一輔助軟體組件1與第二輔助軟體組件2之間,及第二輔助軟體組件2與第三輔助軟體組件3之間有著資料(請求和響應)傳遞。
計算硬體環境中還安裝了一個性能指標收集器B,它可以是一個獨立的數據監控軟體,用來收集來自每一軟體組件之有關於軟體組件的性能指標。要強調的是,性能指標收集器B能收集有關於該工作負載的性能指標是因為它們和主軟體組件A的性能指標相同。
請參閱圖2,該圖是依照本發明用於分析由於軟體系統組件內容變化而造成性能影響的基於預測方法的流程圖。該基於預測的方法的第一步驟為提供一軟體系統部署在一計算硬體環境中,該軟體系統包含滿足來自一工作負載的請求的一主軟體組件,及處理該主軟體組件的特定工作的至少一輔助軟體組件(S01)。這一步驟只是為了定義如上所述的一個適用的架構。
該基於預測的方法的第二步驟為在該軟體系統的一變化引進前,分別並依序收集有關於該工作負載與每一輔助軟體組件的性能指標(S02)。 如上所述,有關於該工作負載的延遲及輔助軟體組件占有的已使用CPU數量被用來進行說明。這是利用兩個不同的性能指標之間的表現關係來預測其中一個的未來表現。在其它實施例中,僅一項性能指標的表現就足以預測其未來。一個例子如圖5所示,該圖也表列了相關係數和性能差異值的計算數據和結果。性能指標收集器B依序 由T1到T5,收集有關於該工作負載(主軟體組件A)的性能指標(延遲),數據分別是2、5、4、2,與3。相鄰時點的時間間隔相同,舉例來說,5秒,但這不受本發明的限制,只要所選擇的時間間隔能夠利用較少的硬體資源或在變化影響分析上有較好的表現即可。變化,例如,升級第一輔助軟體組件1,發生於T6。性能指標收集器B也分別並依序由T1到T5收集有關於第一輔助軟體組件1、第二輔助軟體組件2,與第三輔助軟體組件3的性能指標(已使用CPU數量)。對應的數據顯示於項目說明No.2到No.4的時點欄位中。
該基於預測的方法的第三步驟為計算收集的有關於該工作負載的性能指標及有關於每一輔助軟體組件的性能指標間的相關係數(S03)。相關係數是兩組變量之間某種類型相關性的數值度量。根據其計算公式,相關係數在-1和1之間變化。取項目說明No.1與No.2的T1到T5的資料來計算,相關係數為0.81。相似地,取項目說明No.1與No.3的T1到T5的資料來計算,相關係數為-0.18。取項目說明No.1與No.4的T1到T5的資料來計算,相關係數為0.96。
基於步驟S03的結果,該基於預測的方法有以下不同的步驟。 如果該相關係數的絕對值大於一閾值,第四步驟為以該些收集的有關於該工作負載的性能指標及該些收集的有關於對應的輔助軟體組件的性能指標建立一預測模型,用以預測在未來的一段時間內該對應的輔助軟體組件的性能指標(S04)。此處,閾值限制了工作負載和每個輔助軟體組件之間硬體資源使用或性能趨勢的關係。在本例中,該閾值設為0.7,這表示趨勢在同向或反向應該非常接近,表明收集的有關於該工作負載的性能指標與收集的有關於該對應的輔助軟體組件的性能指標間有著強相關。在其它實施例中,該閾值可以是0到1之間的任意數,本發明不限制之。從圖5可知,收集的有關於該工作負載的性能指標與收集的有關於該第一輔助軟體組件1的性能指標間的相關係數,及收集的有關於該工作負載的性能指標與收集的有關於該第三輔助軟體組件3的性能指標間的相關係數達到此要求。依照本發明的精神,構建預測模型的方式不受限制,可以使用任何現有的資料預估模型,即使是簡單的統計公式。較精確的預測模型是首選,因為它可以節省資源使用或提供更好的結果。如果需要,可以使用機器學習預測模型。最好,是由一時間序列預測演算法建立的,該時間序列預測演算法可以是ARIMA或SARIMA。在本實施例中,預測模型由ARIMA所建立。建立預測模型的先決條件是輸入必須是T6前,收集的有關於該工作負載的性能指標及收集的有關於該對應的輔助軟體組件的性能指標。很明顯地,用於建立預測模型之收集的性能指標分為兩類。
接著,基於步驟S04的結果,該基於預測的方法的第五步驟為在一評估期間內依序記錄有關於該對應的輔助軟體組件及該工作負載的性能指標,該評估期間開始於該軟體系統的該變化引進時(S05)。 如上所述,兩個輔助軟體組件,第一輔助軟體組件1與第三輔助軟體組件3,即步驟S05中所謂的對應的輔助軟體組件。因此,與其有關的性能指標由性能指標收集器B所記錄。此處使用的動詞“記錄”和步驟S02中使用的動詞”收集”表示相同的事情,其都描述了性能指標收集器B從軟體組件中獲取數據。不同的動詞在不同的步驟中分別用於描述性能指標。在本實施例中,評估期間從T6開始到T10結束。T6到T10記錄的有關於該工作負載的性能指標為1、3、7、2,與1。有5個性能指標數據有關於第一輔助軟體組件1或第三輔助軟體組件3由性能指標收集器B所記錄。它們是第一輔助軟體組件1的2、3、4、1,與2,及第三輔助軟體組件3的1、1、3、1,與1。
該基於預測的方法的第六步驟為輸入步驟S02中收集的有關於該工作負載及該對應的輔助軟體組件的性能指標至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標(S06)。在圖5中,在變化施加前輸入的有關於該工作負載的性能指標為2、5、4、2,與3,輸入的有關於第一輔助軟體組件1的性能指標為2、3、2、1,與2,輸入的有關於第三輔助軟體組件3的性能指標為1、3、2、1,與2。這些都是在應用施加之前收集的。
該基於預測的方法的最後一個步驟為使用該些記錄的有關於該對應的輔助軟體組件的性能指標及該些預測的該對應的輔助軟體組件的性能指標以計算一性能差異值(S07)。性能差異值是用來描述預測值與觀測值之間的趨勢和差異的近似大小,產生性能差異值的方法有很多。在本實施例中,使用平均百分比誤差(Mean Percentage Error,MPE)。MPE是百分比誤差的計算平均值,通過該百分比誤差,不同於實際數量之模型的預測可以被預測到。MPE的公式為:
MPE(x, y)=
× 其中yi指所有觀察到的數據,x
i是對應到y
i的預測值,而k是估計變量的不同次數。在本實施例中,y
i是在項目說明No.8或No.10,由T6到T10的數字。因此,k為5因為記錄了5組數字。x
i為在項目說明No.11或No.13,由T6到T10的數字。用上面的相關數據計算,記錄的有關於第一輔助軟體組件1的性能指標與預測的第一輔助軟體組件1的性能指標之MPE為50.00%,而記錄的有關於第三輔助軟體組件3的性能指標與預測的第三輔助軟體組件3的性能指標之MPE為-30.00%。
請參閱圖6,該圖是顯示有關於工作負載的性能指標、收集的/記錄的有關於第一輔助軟體組件1的性能指標,以及預測的第一輔助軟體組件1的性能指標隨時間變化的圖表。在T6之前,工作負載的趨勢與收集的關於第一輔助軟體組件1的性能指標的趨勢相似,波峰和波谷出現在相同時點。根據上述步驟得到一個預測(如點線所示)。記錄的有關於第一輔助軟體組件1的性能指標與預測的第一輔助軟體組件1的性能指標是不同的,並有不同的趨勢。平均來說,變化導致預測的第一輔助軟體組件1的性能指標50.00%高於它們應有的水平。相似地,請見圖8,該圖是顯示有關於工作負載的性能指標、收集的/記錄的有關於第三輔助軟體組件3的性能指標,以及預測的第三輔助軟體組件3的性能指標隨時間變化的圖表。在T6之前,工作負載的趨勢與收集的關於第三輔助軟體組件3的性能指標的趨勢相似。根據上述步驟也得到一個預測(如點線所示)。記錄的有關於第三輔助軟體組件3的性能指標與預測的第三輔助軟體組件3的性能指標是不同的,並有不同的趨勢。平均來說,變化導致預測的第三輔助軟體組件3的性能指標30.00%低於它們應有的水平。一旦獲得了性能差異值,就可以預見由變化引起的性能指標的影響量,可以對計算硬體環境進行必要的調整。
在相關係數的絕對值小於閾值的條件下,本發明有另一種方式來分析由於軟體系統組件內容變化而造成性能的影響。請參閱圖3,該圖是依照本發明用於分析由於軟體系統組件內容變化而造成性能影響的基於預測方法的另一流程圖。
如果該相關係數的絕對值小於一閾值,替代的第四步驟是以該些收集的有關於該對應的輔助軟體組件的性能指標建立一預測模型,用以預測在未來的一段時間內該對應的輔助軟體組件的性能指標(S04’)。此處,閾值維持0.7不變。相關係數的絕對值小於0.7也表明收集的有關於該工作負載的性能指標與收集的有關於該對應的輔助軟體組件的性能指標間有著弱相關或是沒有相關。由圖5可知,收集的有關於該工作負載的性能指標與收集的有關於第二輔助軟體組件2的性能指標間的相關係數達到此要求。預測模型由ARIMA所建立。建立預測模型的先決條件是輸入必須是T6前收集的有關於第二輔助軟體組件2的性能指標。
接著,基於步驟S04’的結果,該基於預測的方法的替代的第五步驟是在一評估期間內依序記錄有關於該對應的輔助軟體組件的性能指標,該評估期間開始於該軟體系統的該變化引進時(S05’)。此處,第二輔助軟體組件2即步驟S05’中所謂的對應的軟體組件。因此,有關於第二輔助軟體組件2的性能指標由性能指標收集器B所記錄。T6到T10記錄的有關於第一輔助軟體組件2的性能指標為3、2、3、2,與3。
該基於預測的方法的替代的第六步驟是輸入步驟S02中收集的有關於該對應的輔助軟體組件的性能指標收集至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標(S06’)。在圖5中,輸入的性能指標為2、2、3、3,與4。
該基於預測的方法的替代的最後一步驟是使用該些記錄的有關於該對應的輔助軟體組件的性能指標及該些預測的該對應的輔助軟體組件的性能指標以計算一性能差異值(S07’)。 步驟S07和步驟S07'完全相同,但計算數據的生成方式不同。MPE仍用作性能差異值。依照該公式,y
i是在項目說明No.9,由T6到T10的數字。k是5。x
i為在項目說明No.11或No.13,由T6到T10的數字。用上面的相關數據計算,記錄的有關於第二輔助軟體組件2的性能指標與預測的第二輔助軟體組件2的性能指標之MPE為90.00%。
請參閱圖7,該圖是顯示有關於工作負載的性能指標、收集的/記錄的有關於第二輔助軟體組件2的性能指標,以及預測的該第二輔助軟體組件2的性能指標隨時間變化的圖表。在T6之前,工作負載的趨勢與收集的關於第二輔助軟體組件2的性能指標的趨勢不相似。根據上述替代的步驟得到一個預測(如點線所示)。記錄的有關於第二輔助軟體組件2的性能指標與預測的第二輔助軟體組件2的性能指標是不同的,並有不同的趨勢。平均來說,變化導致預測的第二輔助軟體組件2的性能指標90.00%高於它們應有的水平。
在本實施例中,時點一個接一個連續地到來。實作上,T5和T6之間可以有中斷。意即,建立預測模型的數據可以在變化引入的更早時收集。此外,因為工作負載模式很可能基於一天中的某個時間或一周中的某天,有利於軟體系統在一天中的相似時間(或一周中的某天)建立預測模型,以便進行每一分析。收集的/記錄的性能指標可在其它時間獲取。
對變化影響的分析有以下的優點。首先,受變化影響的軟體組件及它的影響值可以被可以識別。對開發運作團隊來說,他們想知道,在推出一個新軟件後一個或多個軟體組件的變化,軟體系統的表現是得是失,工程團隊可以確認結果是否符合預期或是否有任何異常,這是對工程團隊的反饋。第二,很容易評估是否應該針對這種變化調整某些系統參數。舉例來說,資料庫/後端服務的配置設置可能會在計算硬體環境中添加一個新的集群節點、數個CPU或記憶體模組。 運營團隊還可以通過量化的結果進行分析,幫助他們評估他們所做的變化是否達到了他們的預期。如果性能影響太大,一個可能的動作可能是回滾所做的變化。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1:第一輔助軟體組件
2:第二輔助軟體組件
3:第三輔助軟體組件
A:主軟體組件
B:性能指標收集器
S01~S07:步驟
S04’~S07’:步驟
圖1繪示了用於分析由於軟體系統組件內容變化而造成性能影響的傳統方法的軟體系統的部署框架。
圖2是依照本發明用於分析由於軟體系統組件內容變化而造成性能影響的基於預測方法的流程圖。
圖3是依照本發明用於分析由於軟體系統組件內容變化而造成性能影響的基於預測方法的另一流程圖。
圖4繪示了用於依照本發明的基於預測的方法來分析由於軟體系統組件內容變化而造成性能的影響的一軟體系統的部署框架。
圖5表列了相關係數和性能差異值的計算數據和結果。
圖6是顯示有關於工作負載的性能指標、收集的/記錄的有關於第一輔助軟體組件的性能指標,以及預測的該第一輔助軟體組件的性能指標隨時間變化的圖表。
圖7是顯示有關於工作負載的性能指標、收集的/記錄的有關於第二輔助軟體組件的性能指標,以及預測的該第二輔助軟體組件的性能指標隨時間變化的圖表。
圖8是顯示有關於工作負載的性能指標、收集的/記錄的有關於第三輔助軟體組件的性能指標,以及預測的該第三輔助軟體組件的性能指標隨時間變化的圖表。
S01~S07:步驟
Claims (9)
- 一種用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法,包含步驟:a)提供一軟體系統部署在一計算硬體環境中,該軟體系統包含滿足來自一工作負載的請求的一主軟體組件,及處理該主軟體組件的特定工作的至少一輔助軟體組件;b)在該軟體系統的一變化引進前,分別並依序收集有關於該工作負載與每一輔助軟體組件的性能指標;c)計算收集的有關於該工作負載的性能指標及有關於每一輔助軟體組件的性能指標間的相關係數,其中相關係數是兩組變量之間相關性的數值度量,該相關係數介於-1和1之間;d)如果該相關係數的絕對值大於一閾值,以該些收集的有關於該工作負載的性能指標及該些收集的有關於對應的輔助軟體組件的性能指標建立一預測模型,用以預測在未來的一段時間內該對應的輔助軟體組件的性能指標;e)在一評估期間內依序記錄有關於該對應的輔助軟體組件及該工作負載的性能指標,該評估期間開始於該軟體系統的該變化引進時;f)將步驟b)所收集到有關於該工作負載及該對應的輔助軟體組件的性能指標輸入至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標;及g)使用該些記錄的有關於該對應的輔助軟體組件的性能指標及該些預測的該對應的輔助軟體組件的性能指標以計算一性能差異值。
- 一種用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法,包含步驟: a)提供一軟體系統部署在一計算硬體環境中,該軟體系統包含滿足來自一工作負載的請求的一主軟體組件,及處理該主軟體組件的特定工作的至少一輔助軟體組件;b)在該軟體系統的一變化引進前,分別並依序收集有關於該工作負載與每一輔助軟體組件的性能指標;c)計算收集的有關於該工作負載的性能指標及有關於每一輔助軟體組件的性能指標間的相關係數,其中相關係數是兩組變量之間相關性的數值度量,該相關係數介於-1和1之間;d)如果該相關係數的絕對值小於一閾值,以該些收集的有關於該對應的輔助軟體組件的性能指標建立一預測模型,用以預測在未來的一段時間內該對應的輔助軟體組件的性能指標;e)在一評估期間內依序記錄有關於該對應的輔助軟體組件的性能指標,該評估期間開始於該軟體系統的該變化引進時;f)將步驟b)所收集到有關於該對應的輔助軟體組件的性能指標輸入至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標;及g)使用該些記錄的有關於該對應的輔助軟體組件的性能指標及該些預測的該對應的輔助軟體組件的性能指標以計算一性能差異值。
- 如請求項1或2所述的基於預測的方法,其中該軟體系統的該變化為軟體系統升級、軟體系統應用配置參數調整、安裝新的輔助軟體組件,或刪除現有的輔助軟體組件。
- 如請求項1或2所述的基於預測的方法,其中該計算硬體環境為工作站主機或伺服器集群。
- 如請求項1或2所述的基於預測的方法,其中該性能指標為已使用記憶體數量、已使用CPU數量、輸入輸出吞吐量、響應時間、每秒請求數,或延遲。
- 如請求項1或2所述的基於預測的方法,其中該性能差異值為平均百分比誤差(Mean Percentage Error)。
- 如請求項1或2所述的基於預測的方法,其中用於建立該預測模型的該些收集的性能指標分為兩類。
- 如請求項1或2所述的基於預測的方法,其中該預測模型是由一時間序列預測演算法建立的。
- 如請求項8所述的基於預測的方法,其中該時間序列預測演算法是差分整合移動平均自迴歸(Auto Regressive Integrated Moving Average,ARIMA)演算法或季節差分整合移動平均自迴歸(Seasonal Auto Regressive Integrated Moving Average,SARIMA)演算法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW110134972A TWI781767B (zh) | 2021-09-17 | 2021-09-17 | 用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法 |
| CN202210029625.5A CN115827401A (zh) | 2021-09-17 | 2022-01-12 | 用于分析由于软件系统组件内容变化而造成性能影响的基于预测的方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW110134972A TWI781767B (zh) | 2021-09-17 | 2021-09-17 | 用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI781767B true TWI781767B (zh) | 2022-10-21 |
| TW202314509A TW202314509A (zh) | 2023-04-01 |
Family
ID=85462552
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW110134972A TWI781767B (zh) | 2021-09-17 | 2021-09-17 | 用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN115827401A (zh) |
| TW (1) | TWI781767B (zh) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201308073A (zh) * | 2011-07-07 | 2013-02-16 | Vce Co Llc | 自動監控與及時資源提供系統 |
| US20170351511A1 (en) * | 2015-12-22 | 2017-12-07 | Opera Solutions Usa, Llc | System and Method for Code and Data Versioning in Computerized Data Modeling and Analysis |
| CN109716346A (zh) * | 2016-07-18 | 2019-05-03 | 河谷生物组学有限责任公司 | 分布式机器学习系统、装置和方法 |
| CN111344668A (zh) * | 2017-11-09 | 2020-06-26 | 国际商业机器公司 | 软件应用的部署配置的动态选择 |
| TW202133055A (zh) * | 2020-02-19 | 2021-09-01 | 先智雲端數據股份有限公司 | 透過多層次相關性建立系統資源預測及資源管理模型的方法 |
-
2021
- 2021-09-17 TW TW110134972A patent/TWI781767B/zh active
-
2022
- 2022-01-12 CN CN202210029625.5A patent/CN115827401A/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201308073A (zh) * | 2011-07-07 | 2013-02-16 | Vce Co Llc | 自動監控與及時資源提供系統 |
| US20170351511A1 (en) * | 2015-12-22 | 2017-12-07 | Opera Solutions Usa, Llc | System and Method for Code and Data Versioning in Computerized Data Modeling and Analysis |
| CN109716346A (zh) * | 2016-07-18 | 2019-05-03 | 河谷生物组学有限责任公司 | 分布式机器学习系统、装置和方法 |
| CN111344668A (zh) * | 2017-11-09 | 2020-06-26 | 国际商业机器公司 | 软件应用的部署配置的动态选择 |
| TW202133055A (zh) * | 2020-02-19 | 2021-09-01 | 先智雲端數據股份有限公司 | 透過多層次相關性建立系統資源預測及資源管理模型的方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202314509A (zh) | 2023-04-01 |
| CN115827401A (zh) | 2023-03-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7689384B1 (en) | Managing the performance of an electronic device | |
| Kansara | The role of observability in modern cloud database architectures | |
| Aiber et al. | Autonomic self-optimization according to business objectives | |
| JP4756675B2 (ja) | コンピュータ資源のキャパシティを予測するためのシステム、方法およびプログラム | |
| US7110913B2 (en) | Apparatus and method for managing the performance of an electronic device | |
| US9424157B2 (en) | Early detection of failing computers | |
| US8756307B1 (en) | Translating service level objectives to system metrics | |
| CN110633194B (zh) | 一种硬件资源在特定环境下的性能评估方法 | |
| US20240303127A1 (en) | Systems and methods for edge system resource capacity performance prediction | |
| CN118012719A (zh) | 容器运行状态监测方法、智能计算云操作系统及计算平台 | |
| Muraña et al. | Characterization, modeling and scheduling of power consumption of scientific computing applications in multicores | |
| US20180314774A1 (en) | System Performance Measurement of Stochastic Workloads | |
| US20240303134A1 (en) | Systems and methods for edge resource demand load estimation | |
| US20240303130A1 (en) | Systems and methods for edge resource demand load scheduling | |
| CN111861012B (zh) | 一种测试任务执行时间预测方法及最优执行节点选择方法 | |
| Willnecker et al. | Optimization of deployment topologies for distributed enterprise applications | |
| TWI781767B (zh) | 用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法 | |
| JP4705484B2 (ja) | 性能監視装置、性能監視方法及びプログラム | |
| Foroni et al. | Moira: A goal-oriented incremental machine learning approach to dynamic resource cost estimation in distributed stream processing systems | |
| CN119359413B (zh) | 一种电商订单分析调控方法及系统 | |
| US20240303129A1 (en) | Systems and methods for continued edge resource demand load estimation | |
| US20240305535A1 (en) | Systems and methods for edge system resource capacity dynamic policy planning framework | |
| CN118069369A (zh) | 一种利用云计算服务器端实现多业务系统的整合方法 | |
| Zhang et al. | Getting more for less in optimized mapreduce workflows | |
| US20230092751A1 (en) | Prediction-based method for analyzing change impact on software components |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| GD4A | Issue of patent certificate for granted invention patent |