TWI781767B - Prediction-based method for analyzing change impact on software components - Google Patents
Prediction-based method for analyzing change impact on software components 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
Images
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本發明關於一種用於分析由於軟體系統組件內容變化而造成性能影響的方法,特別是一種用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法。The present invention relates to a method for analyzing the performance impact due to changes in the content of software system components, and more particularly to a prediction-based method for analyzing the performance impact due to changes in the content of software system components.
當一個包含多個軟體組件的軟體系統部署在如伺服器集群等計算設備上,以滿足工作負載的要求時,軟體系統的變化常用於提高軟體系統的性能。變化的典型場景是軟體升級或組件配置參數的調整。即使將一種變化應用於其中一個軟體組件,也可能不可避免地發生一些變化影響,並對同一應用程序中的其它軟體組件造成性能和/或資源使用的漣漪效應。對於軟體系統的開發運作團隊來說,一個關鍵的問題是了解當軟體系統引入該變化時的變化影響。When a software system consisting of multiple software components is deployed on a computing device such as a server cluster to meet the requirements of a workload, changes to the software system are often used to improve the performance of the software system. Typical scenarios for changes are software upgrades or adjustments to component configuration parameters. Even when a change is applied to one of the software components, some change effects may inevitably occur and cause performance and/or resource usage ripple effects on other software components in the same application. A key issue for the development operations team of a software system is to understand the impact of that change when the software system introduces that change.
軟體應用系統中的性能指標,例如記憶體利用率、CPU利用率、輸入輸出吞吐量、響應時間、每秒請求數、延遲等,可以被監控,而真正的”變化影響”很難衡量。這是因為由於工作負載的動態性和變異性,不能保證在引進變化的前與後,會有相同的工作負載,因而無法加以比較其變化影響。Performance indicators in software application systems, such as memory utilization, CPU utilization, input and output throughput, response time, requests per second, latency, etc., can be monitored, but the real "change impact" is difficult to measure. This is because due to the dynamics and variability of the workload, there is no guarantee that the same workload will be present before and after the change is introduced, so the impact of the change cannot be compared.
一種用於分析由於軟體系統組件內容變化而造成性能影響的傳統方法如圖1所示。 由四個獨立的軟體組件組成的一個軟體應用程序雲服務被部署用來為一個主工作負載提供服務。軟體組件之間存在數據請求和/或響應,它們是相關軟體組件的影響來源。雲服務可以是一個企業資源規劃(ERP),該主工作負載來自一外部系統,例如在工廠中的計算機主機,由一軟體組件1負責處理。軟體組件1處理所有的操作請求和對該外部系統的響應。其餘軟體組件中的每一個都支援特定的工作功能,並具有與其它軟體組件的內部數據請求和響應。安裝在服務器上的一性能指標收集器,持續監控所有軟體組件的性能指標。在這種情況下,主工作負載的該些性能指標就是軟體組件1的性能指標。如果ERP管理員想知道軟體組件2升級後,所有軟體組件都受到什麼影響,傳統方法可以將實際運行性能指標與當前的性能指標進行比較,並使用比較結果檢查變化影響,其可用於調整軟體組件的配置參數或進一步升級的參考。這通常藉由基準程式來實現。這種方法的局限性在於,為了進行有意義的比較,需要找出的變化前後的運行週期中幾乎相同的工作負載性能指標。否則,比較結果會不可信,這是因為不同的工作負載模式通常會導致系統中軟體組件不同的運行性能指標。這在生產環境中並不是一件容易的事,因為工作負載會動態變化。因此,這種類型的基準程式無法準確描述由引入到系統中的變化產生的影響。A traditional approach for analyzing the performance impact due to changes in the content of software system components is shown in Figure 1. A software application cloud service consisting of four separate software components is deployed to serve a primary workload. Data requests and/or responses exist between software components that are sources of influence for related software components. The cloud service can be an enterprise resource planning (ERP), the main workload comes from an external system, such as a computer mainframe in a factory, and is handled by a
為了提供一種精確的方式來評估變化影響以節省運行成本,本發明公開了一種創新方法。In order to provide an accurate way to assess the impact of changes to save operating costs, the present invention discloses an innovative method.
本段文字提取和編譯本發明的某些特點。其它特點將被揭露於後續段落中。其目的在涵蓋附加的申請專利範圍之精神和範圍中,各式的修改和類似的排列。This paragraph extracts and compiles certain features of the present invention. Other features will be disclosed in subsequent paragraphs. It is intended to cover various modifications and similar arrangements within the spirit and scope of the appended claims.
依照本發明的一種態樣,一種用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法包含步驟:a) 提供一軟體系統部署在一計算硬體環境中,該軟體系統包含滿足來自一工作負載的請求的一主軟體組件,及處理該主軟體組件的特定工作的至少一輔助軟體組件;b) 在該軟體系統的一變化引進前,分別並依序收集有關於該工作負載與每一輔助軟體組件的性能指標;c) 計算收集的有關於該工作負載的性能指標及有關於每一輔助軟體組件的性能指標間的相關係數;d) 如果該相關係數的絕對值大於一閾值,以該些收集的有關於該工作負載的性能指標及該些收集的有關於對應的輔助軟體組件的性能指標建立一預測模型,用以預測在未來的一段時間內該對應的輔助軟體組件的性能指標;e) 在一評估期間內依序記錄有關於該對應的輔助軟體組件及該工作負載的性能指標,該評估期間開始於該軟體系統的該變化引進時;f) 輸入步驟b)中收集的有關於該工作負載及該對應的輔助軟體組件的性能指標至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標;及g) 使用該些記錄的有關於該對應的輔助軟體組件的性能指標及該些預測的該對應的輔助軟體組件的性能指標以計算一性能差異值。According to one aspect of the invention, a prediction-based method for analyzing performance impact due to changes in the content of components of a software system comprises the steps of: a) providing a software system for deployment in a computing hardware environment, the software system comprising satisfying a main software component for requests from a workload, and at least one auxiliary software component for processing specific tasks of the main software component; b) separately and sequentially collecting information about the workload before a change in the software system is introduced with the performance metrics for each ancillary software component; c) calculate a correlation coefficient between the collected performance metrics for the workload and the performance metrics for each ancillary software component; d) if the absolute value of the correlation coefficient is greater than one Threshold, using the collected performance indicators related to the workload and the collected performance indicators related to the corresponding auxiliary software components to establish a prediction model for predicting the corresponding auxiliary software components in a period of time in the future e) have sequentially recorded performance metrics for the corresponding auxiliary software component and the workload during an evaluation period that begins when the change to the software system is introduced; f) input step b) into the predictive model to obtain predicted performance metrics for the corresponding auxiliary software component; and g) use the recorded performance metrics for the corresponding auxiliary software component; The performance indicators of the auxiliary software components and the predicted performance indicators of the corresponding auxiliary software components are used to calculate a performance difference value.
依照本發明的另一種態樣,一種用於分析由於軟體系統組件內容變化而造成性能影響之基於預測的方法 包含步驟:a) 提供一軟體系統部署在一計算硬體環境中,該軟體系統包含滿足來自一工作負載的請求的一主軟體組件,及處理該主軟體組件的特定工作的至少一輔助軟體組件;b) 在該軟體系統的一變化引進前,分別並依序收集有關於該工作負載與每一輔助軟體組件的性能指標;c) 計算收集的有關於該工作負載的性能指標及有關於每一輔助軟體組件的性能指標間的相關係數;d) 如果該相關係數的絕對值小於一閾值,以該些收集的有關於該對應的輔助軟體組件的性能指標建立一預測模型,用以預測在未來的一段時間內該對應的輔助軟體組件的性能指標;e) 在一評估期間內依序記錄有關於該對應的輔助軟體組件的性能指標,該評估期間開始於該軟體系統的該變化引進時;f) 輸入步驟b)中收集的有關於該對應的輔助軟體組件的性能指標收集至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標;及g) 使用該些記錄的有關於該對應的輔助軟體組件的性能指標及該些預測的該對應的輔助軟體組件的性能指標以計算一性能差異值。In accordance with another aspect of the invention, a prediction-based method for analyzing performance impact due to changes in the content of components of a software system comprises the steps of: a) providing a software system deployed in a computing hardware environment, the software system comprising a main software component that satisfies a request from a workload, and at least one auxiliary software component that handles a specific job of the main software component; b) separately and sequentially collects information about the job before a change in the software system workload and performance metrics for each auxiliary software component; c) calculate the correlation coefficient between the collected performance metrics for the workload and the performance metrics for each auxiliary software component; d) if the absolute value of the correlation coefficient is less than A threshold value, using the collected performance indicators related to the corresponding auxiliary software component to establish a prediction model for predicting the performance indicator of the corresponding auxiliary software component in a period of time in the future; e) within an evaluation period Sequentially recording the performance indicators about the corresponding auxiliary software component, the evaluation period begins when the change of the software system is introduced; f) inputting the collection of performance indicators about the corresponding auxiliary software component collected in step b) into the predictive model to obtain predicted performance metrics for the corresponding auxiliary software component; and g) using the recorded performance metrics for the corresponding auxiliary software component and the predicted performance metrics for the corresponding auxiliary software component performance index to calculate a performance difference value.
最好,該軟體系統的該變化可為軟體系統升級、軟體系統應用配置參數調整、安裝新的輔助軟體組件,或刪除現有的輔助軟體組件。Preferably, the change of the software system can be software system upgrade, software system application configuration parameter adjustment, installation of new auxiliary software components, or deletion of existing auxiliary software components.
最好,該計算硬體環境可為工作站主機或伺服器集群。Preferably, the computing hardware environment can be a workstation host or server cluster.
最好,該性能指標可為已使用記憶體數量、已使用CPU數量、輸入輸出吞吐量、響應時間、每秒請求數,或延遲。Preferably, the performance indicator may be used memory amount, used CPU amount, I/O throughput, response time, requests per second, or latency.
最好,該性能差異值可為平均百分比誤差(Mean Percentage Error)。Preferably, the performance difference value may be a mean percentage error (Mean Percentage Error).
最好,用於建立該預測模型的該些收集的性能指標分為兩類。Preferably, the collected performance indicators used to build the predictive model fall into two categories.
最好,該預測模型是由一時間序列預測演算法建立的。Preferably, the forecasting model is built by a time series forecasting algorithm.
最好,該時間序列預測演算法是差分整合移動平均自迴歸(Auto Regressive Integrated Moving Average,ARIMA)演算法或季節差分整合移動平均自迴歸(Seasonal Auto Regressive Integrated Moving Average,SARIMA)演算法。Preferably, the time series forecasting algorithm is an Auto Regressive Integrated Moving Average (ARIMA) algorithm or a Seasonal Auto Regressive Integrated Moving Average (SARIMA) algorithm.
根據本發明,工作負載的性能指標與每個軟體組件的性能指標之間的相關性被考慮在內,可以建立預測模型來預測某個軟體組件的某種性能指標在未來的發展。比較預測的性能指標與真實的性能指標,可以評估所述軟體組件的變化影響,結果還可用於進一步的變化並節省運行成本。According to the present invention, the correlation between the performance index of the workload and the performance index of each software component is taken into account, and a prediction model can be established to predict the future development of a certain performance index of a certain software component. Comparing the predicted performance metrics with the actual performance metrics, the impact of changes to said software components can be assessed and the results can be used for further changes and savings in operating costs.
本發明將藉由參照下列的實施方式而更具體地描述。The present invention will be described more specifically by referring to the following embodiments.
請先參閱圖4,該圖繪示了用於依照本發明的基於預測的方法來分析由於軟體系統組件內容變化而造成性能的影響的一軟體系統的部署框架。圖4顯示軟體組件的三種運算關係。軟體系統包含了一主軟體組件A、一第一輔助軟體組件1、一第二輔助軟體組件2及一第三輔助軟體組件3,部署在一計算硬體環境。計算硬體環境是指強大的計算硬體,能夠處理來自一工作負載的複雜計算請求。計算硬體環境可以是,但不限於工作站主機和伺服器集群。在該計算硬體環境中有數量眾多的中央處理器(CPU)、數量龐大的動態隨機存取記憶體(DRAM)模塊(或簡稱記憶體),及資源有限的輸入輸出吞吐量。CPU和DRAM是工作負載的資源,通過主軟體組件A使用,具體可細分為供第一輔助軟體組件1、第二輔助軟體組件2,及第三輔助軟體組件3的實際使用量。輸入輸出吞吐量是計算硬體環境對輸入與輸出資料的一種綜合效率值。工作負載可能會佔用大量輸入輸出吞吐量,三個輔助軟體組件共享相同數量的輸入輸出吞吐量。相似地,響應時間、每秒請求數與延遲是響應工作負載的指標,都有來自每一輔助軟體組件的貢獻。在本發明中,性能指標是指已使用記憶體數量、已使用CPU數量、輸入輸出吞吐量、響應時間、每秒請求數,與延遲,並用來分析”變化”對所有軟體組件的影響。 在本發明的實施方式中,有關於該工作負載的延遲(秒)及輔助軟體組件占有的已使用CPU數量用來進行說明。軟體系統的變化可能有不同的類型。舉例來說,它可以是軟體系統升級、軟體系統應用配置參數調整、安裝新的輔助軟體組件、刪除現有的輔助軟體組件等。Please refer to FIG. 4 first, which illustrates a deployment framework of a software system for analyzing performance impact due to content changes of software system components according to the prediction-based method of the present invention. Figure 4 shows the three operational relationships of software components. The software system includes a main software component A, a first
在圖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之間有著資料(請求和響應)傳遞。In Figure 4, the main software component A is the element that interacts with the workload in the external system. The performance index of the main software component A is equal to the performance index of the workload. The main software component A receives the request of the workload, executes the corresponding program operation, and returns the response to the specific source of the workload. For example, the workload may be a company's email request, and the main software component A is an email module running on the company's server. According to the present invention, the software system has a technical architecture: in addition to the main software component A that completes the workload request, the software system also has at least one auxiliary software component that handles the specific work of the main software component A. In Fig. 4, the first
計算硬體環境中還安裝了一個性能指標收集器B,它可以是一個獨立的數據監控軟體,用來收集來自每一軟體組件之有關於軟體組件的性能指標。要強調的是,性能指標收集器B能收集有關於該工作負載的性能指標是因為它們和主軟體組件A的性能指標相同。A performance indicator collector B is also installed in the computing hardware environment, which can be an independent data monitoring software, and is used to collect performance indicators related to software components from each software component. It is emphasized that performance metrics collector B can collect performance metrics about this workload because they are the same as the performance metrics of main software component A.
請參閱圖2,該圖是依照本發明用於分析由於軟體系統組件內容變化而造成性能影響的基於預測方法的流程圖。該基於預測的方法的第一步驟為提供一軟體系統部署在一計算硬體環境中,該軟體系統包含滿足來自一工作負載的請求的一主軟體組件,及處理該主軟體組件的特定工作的至少一輔助軟體組件(S01)。這一步驟只是為了定義如上所述的一個適用的架構。Please refer to FIG. 2 , which is a flowchart of a prediction-based method for analyzing performance impact due to content changes of software system components according to the present invention. The first step of the prediction-based method is to provide a software system for deployment in a computing hardware environment, the software system comprising a main software component that satisfies a request from a workload, and a software component that handles a specific job of the main software component At least one auxiliary software component (S01). This step is just to define an applicable architecture as described above.
該基於預測的方法的第二步驟為在該軟體系統的一變化引進前,分別並依序收集有關於該工作負載與每一輔助軟體組件的性能指標(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的時點欄位中。The second step of the prediction-based method is to separately and sequentially collect performance metrics about the workload and each auxiliary software component before a change to the software system is introduced ( S02 ). As mentioned above, the latency associated with the workload and the amount of used CPU occupied by the auxiliary software components are used for illustration. This is using the performance relationship between two different performance metrics to predict the future performance of one of them. In other embodiments, the performance of only one performance indicator is sufficient to predict its future. An example is shown in Fig. 5, which also tabulates the calculated data and results of the correlation coefficients and performance difference values. The performance indicator collector B sequentially collects the performance indicators (delay) of the workload (main software component A) from T1 to T5, and the data are 2, 5, 4, 2, and 3 respectively. The time interval between adjacent time points is the same, for example, 5 seconds, but this is not limited by the present invention, as long as the selected time interval can utilize less hardware resources or have better performance in the analysis of the impact of changes. Can. A change, eg, upgrading the first
該基於預測的方法的第三步驟為計算收集的有關於該工作負載的性能指標及有關於每一輔助軟體組件的性能指標間的相關係數(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。The third step of the prediction-based method is to calculate the correlation coefficient between the collected performance indicators about the workload and the performance indicators about each auxiliary software component ( S03 ). A correlation coefficient is a numerical measure of some type of correlation between two sets of variables. According to its calculation formula, the correlation coefficient varies between -1 and 1. Taking the data from T1 to T5 of item description No.1 and No.2 to calculate, the correlation coefficient is 0.81. Similarly, taking the data from T1 to T5 of item description No.1 and No.3 to calculate, the correlation coefficient is -0.18. Taking the data from T1 to T5 of item description No.1 and No.4 to calculate, the correlation coefficient is 0.96.
基於步驟S03的結果,該基於預測的方法有以下不同的步驟。 如果該相關係數的絕對值大於一閾值,第四步驟為以該些收集的有關於該工作負載的性能指標及該些收集的有關於對應的輔助軟體組件的性能指標建立一預測模型,用以預測在未來的一段時間內該對應的輔助軟體組件的性能指標(S04)。此處,閾值限制了工作負載和每個輔助軟體組件之間硬體資源使用或性能趨勢的關係。在本例中,該閾值設為0.7,這表示趨勢在同向或反向應該非常接近,表明收集的有關於該工作負載的性能指標與收集的有關於該對應的輔助軟體組件的性能指標間有著強相關。在其它實施例中,該閾值可以是0到1之間的任意數,本發明不限制之。從圖5可知,收集的有關於該工作負載的性能指標與收集的有關於該第一輔助軟體組件1的性能指標間的相關係數,及收集的有關於該工作負載的性能指標與收集的有關於該第三輔助軟體組件3的性能指標間的相關係數達到此要求。依照本發明的精神,構建預測模型的方式不受限制,可以使用任何現有的資料預估模型,即使是簡單的統計公式。較精確的預測模型是首選,因為它可以節省資源使用或提供更好的結果。如果需要,可以使用機器學習預測模型。最好,是由一時間序列預測演算法建立的,該時間序列預測演算法可以是ARIMA或SARIMA。在本實施例中,預測模型由ARIMA所建立。建立預測模型的先決條件是輸入必須是T6前,收集的有關於該工作負載的性能指標及收集的有關於該對應的輔助軟體組件的性能指標。很明顯地,用於建立預測模型之收集的性能指標分為兩類。Based on the result of step S03, the prediction-based method has the following different steps. If the absolute value of the correlation coefficient is greater than a threshold, the fourth step is to establish a prediction model based on the collected performance indicators related to the workload and the collected performance indicators related to the corresponding auxiliary software components, for Predict the performance index of the corresponding auxiliary software component in a period of time in the future ( S04 ). Here, thresholds limit the relationship between workloads and each auxiliary software component's hardware resource usage or performance trends. In this example, the threshold is set to 0.7, which indicates that the trend should be very close in the same direction or in the opposite direction, indicating that the performance metrics collected on this workload and the performance metrics collected on the corresponding auxiliary software component have a strong correlation. In other embodiments, the threshold may be any number between 0 and 1, which is not limited in the present invention. As can be seen from FIG. 5, the correlation coefficient between the collected performance index about the workload and the collected performance index about the first
接著,基於步驟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。Next, based on the result of step S04, the fifth step of the prediction-based method is to sequentially record performance indicators about the corresponding auxiliary software component and the workload during an evaluation period, the evaluation period starting from the software system when the change is introduced (S05). As mentioned above, the two auxiliary software components, the first
該基於預測的方法的第六步驟為輸入步驟S02中收集的有關於該工作負載及該對應的輔助軟體組件的性能指標至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標(S06)。在圖5中,在變化施加前輸入的有關於該工作負載的性能指標為2、5、4、2,與3,輸入的有關於第一輔助軟體組件1的性能指標為2、3、2、1,與2,輸入的有關於第三輔助軟體組件3的性能指標為1、3、2、1,與2。這些都是在應用施加之前收集的。The sixth step of the prediction-based method is to input the performance indicators related to the workload and the corresponding auxiliary software components collected in step S02 into the prediction model, so as to obtain the predicted performance indicators of the corresponding auxiliary software components (S06). In FIG. 5 , the input performance indicators related to the workload before the change is applied are 2, 5, 4, 2, and 3, and the input performance indicators related to the first
該基於預測的方法的最後一個步驟為使用該些記錄的有關於該對應的輔助軟體組件的性能指標及該些預測的該對應的輔助軟體組件的性能指標以計算一性能差異值(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%。
The last step of the prediction-based method is to use the recorded performance indicators for the corresponding auxiliary software component and the predicted performance indicators for the corresponding auxiliary software component to calculate a performance difference ( S07 ). The performance difference value is used to describe the approximate size of the trend and difference between the predicted value and the observed value. There are many methods to generate the performance difference value. In this embodiment, mean percentage error (Mean Percentage Error, MPE) is used. The MPE is the calculated average of the percentage error by which the model's prediction that differs from the actual quantity can be predicted. The formula for MPE is: MPE(x, y)= x where yi refers to all observed data, xi is the predicted value corresponding to yi , and k is the number of different times to estimate the variable. In this embodiment, y i is a number from T6 to T10 in item specification No.8 or No.10. Therefore, k is 5 because 5 sets of numbers are recorded. x i is the number from T6 to T10 in item description No.11 or No.13. Calculated with the relevant data above, the MPE recorded between the performance index of the first
請參閱圖6,該圖是顯示有關於工作負載的性能指標、收集的/記錄的有關於第一輔助軟體組件1的性能指標,以及預測的第一輔助軟體組件1的性能指標隨時間變化的圖表。在T6之前,工作負載的趨勢與收集的關於第一輔助軟體組件1的性能指標的趨勢相似,波峰和波谷出現在相同時點。根據上述步驟得到一個預測(如點線所示)。記錄的有關於第一輔助軟體組件1的性能指標與預測的第一輔助軟體組件1的性能指標是不同的,並有不同的趨勢。平均來說,變化導致預測的第一輔助軟體組件1的性能指標50.00%高於它們應有的水平。相似地,請見圖8,該圖是顯示有關於工作負載的性能指標、收集的/記錄的有關於第三輔助軟體組件3的性能指標,以及預測的第三輔助軟體組件3的性能指標隨時間變化的圖表。在T6之前,工作負載的趨勢與收集的關於第三輔助軟體組件3的性能指標的趨勢相似。根據上述步驟也得到一個預測(如點線所示)。記錄的有關於第三輔助軟體組件3的性能指標與預測的第三輔助軟體組件3的性能指標是不同的,並有不同的趨勢。平均來說,變化導致預測的第三輔助軟體組件3的性能指標30.00%低於它們應有的水平。一旦獲得了性能差異值,就可以預見由變化引起的性能指標的影響量,可以對計算硬體環境進行必要的調整。Please refer to FIG. 6, which is a graph showing the performance metrics related to the workload, the collected/recorded performance metrics related to the first
在相關係數的絕對值小於閾值的條件下,本發明有另一種方式來分析由於軟體系統組件內容變化而造成性能的影響。請參閱圖3,該圖是依照本發明用於分析由於軟體系統組件內容變化而造成性能影響的基於預測方法的另一流程圖。Under the condition that the absolute value of the correlation coefficient is less than the threshold, the present invention has another way to analyze the performance impact caused by the content change of the software system components. Please refer to FIG. 3 , which is another flowchart of a prediction-based method for analyzing performance impact due to content changes of software system components according to the present invention.
如果該相關係數的絕對值小於一閾值,替代的第四步驟是以該些收集的有關於該對應的輔助軟體組件的性能指標建立一預測模型,用以預測在未來的一段時間內該對應的輔助軟體組件的性能指標(S04’)。此處,閾值維持0.7不變。相關係數的絕對值小於0.7也表明收集的有關於該工作負載的性能指標與收集的有關於該對應的輔助軟體組件的性能指標間有著弱相關或是沒有相關。由圖5可知,收集的有關於該工作負載的性能指標與收集的有關於第二輔助軟體組件2的性能指標間的相關係數達到此要求。預測模型由ARIMA所建立。建立預測模型的先決條件是輸入必須是T6前收集的有關於第二輔助軟體組件2的性能指標。If the absolute value of the correlation coefficient is less than a threshold, the fourth alternative step is to establish a prediction model based on the collected performance indicators related to the corresponding auxiliary software component to predict the corresponding auxiliary software component in a future period of time. Performance indicators of auxiliary software components (S04'). Here, the threshold remains unchanged at 0.7. An absolute value of the correlation coefficient less than 0.7 also indicates a weak or no correlation between the performance metrics collected about the workload and the performance metrics collected about the corresponding auxiliary software component. It can be seen from FIG. 5 that the correlation coefficient between the collected performance index related to the workload and the collected performance index related to the second
接著,基於步驟S04’的結果,該基於預測的方法的替代的第五步驟是在一評估期間內依序記錄有關於該對應的輔助軟體組件的性能指標,該評估期間開始於該軟體系統的該變化引進時(S05’)。此處,第二輔助軟體組件2即步驟S05’中所謂的對應的軟體組件。因此,有關於第二輔助軟體組件2的性能指標由性能指標收集器B所記錄。T6到T10記錄的有關於第一輔助軟體組件2的性能指標為3、2、3、2,與3。Then, based on the result of step S04', an alternative fifth step of the prediction-based method is to sequentially record performance indicators for the corresponding auxiliary software component during an evaluation period that begins with the software system's When the change is introduced (S05'). Here, the second
該基於預測的方法的替代的第六步驟是輸入步驟S02中收集的有關於該對應的輔助軟體組件的性能指標收集至該預測模型中,以獲得預測的該對應的輔助軟體組件的性能指標(S06’)。在圖5中,輸入的性能指標為2、2、3、3,與4。The alternative sixth step of the prediction-based method is to input the performance index about the corresponding auxiliary software component collected in step S02 into the prediction model, so as to obtain the predicted performance index of the corresponding auxiliary software component ( S06'). In Figure 5, the input performance indicators are 2, 2, 3, 3, and 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%。
The alternative final step of the prediction-based method is to use the recorded performance indicators for the corresponding auxiliary software component and the predicted performance indicators for the corresponding auxiliary software component to calculate a performance difference value (S07 '). Step S07 is exactly the same as step S07', but the calculation data is generated in a different way. MPE is still used as a performance differential value. According to this formula, y i is the number from T6 to T10 in Item Description No.9. k is 5. x i is the number from T6 to T10 in item description No.11 or No.13. Calculated with the above relevant data, the MPE between the recorded performance index of the second
請參閱圖7,該圖是顯示有關於工作負載的性能指標、收集的/記錄的有關於第二輔助軟體組件2的性能指標,以及預測的該第二輔助軟體組件2的性能指標隨時間變化的圖表。在T6之前,工作負載的趨勢與收集的關於第二輔助軟體組件2的性能指標的趨勢不相似。根據上述替代的步驟得到一個預測(如點線所示)。記錄的有關於第二輔助軟體組件2的性能指標與預測的第二輔助軟體組件2的性能指標是不同的,並有不同的趨勢。平均來說,變化導致預測的第二輔助軟體組件2的性能指標90.00%高於它們應有的水平。Please refer to FIG. 7, which is a graph showing the performance metrics related to the workload, the collected/recorded performance metrics related to the second
在本實施例中,時點一個接一個連續地到來。實作上,T5和T6之間可以有中斷。意即,建立預測模型的數據可以在變化引入的更早時收集。此外,因為工作負載模式很可能基於一天中的某個時間或一周中的某天,有利於軟體系統在一天中的相似時間(或一周中的某天)建立預測模型,以便進行每一分析。收集的/記錄的性能指標可在其它時間獲取。In this embodiment, the time points successively come one after another. In practice, there can be an interruption between T5 and T6. That is, data for building predictive models can be collected earlier in the introduction of changes. Also, because workload patterns are likely to be based on time of day or day of week, it is beneficial for software systems to build predictive models at similar times of day (or day of week) for each analysis. Collected/recorded performance metrics may be obtained at other times.
對變化影響的分析有以下的優點。首先,受變化影響的軟體組件及它的影響值可以被可以識別。對開發運作團隊來說,他們想知道,在推出一個新軟件後一個或多個軟體組件的變化,軟體系統的表現是得是失,工程團隊可以確認結果是否符合預期或是否有任何異常,這是對工程團隊的反饋。第二,很容易評估是否應該針對這種變化調整某些系統參數。舉例來說,資料庫/後端服務的配置設置可能會在計算硬體環境中添加一個新的集群節點、數個CPU或記憶體模組。 運營團隊還可以通過量化的結果進行分析,幫助他們評估他們所做的變化是否達到了他們的預期。如果性能影響太大,一個可能的動作可能是回滾所做的變化。Analysis of the impact of changes has the following advantages. First, the software component affected by the change and its affected value can be identified. For the DevOps team, they want to know if one or more software components change after a new software release, the performance of the software system is gained or lost, and the engineering team can confirm whether the results are as expected or if there are any abnormalities. It's feedback to the engineering team. Second, it is easy to assess whether certain system parameters should be tuned for this change. For example, configuration settings for database/backend services may add a new cluster node, several CPUs or memory modules to the computing hardware environment. Operations teams can also analyze quantifiable results to help them assess whether the changes they made met their expectations. If the performance impact is too great, one possible course of action might be to roll back the changes made.
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。Although the present invention has been disclosed above in terms of implementation, it is not intended to limit the present invention. Anyone with ordinary knowledge in the technical field may make some changes and modifications without departing from the spirit and scope of the present invention. Therefore, The scope of protection of the present invention should be defined by the scope of the appended patent application.
1:第一輔助軟體組件 2:第二輔助軟體組件 3:第三輔助軟體組件 A:主軟體組件 B:性能指標收集器 S01~S07:步驟 S04’~S07’:步驟 1: The first auxiliary software component 2: The second auxiliary software component 3: The third auxiliary software component A: Main software component B: Performance indicator collector S01~S07: Steps S04'~S07': steps
圖1繪示了用於分析由於軟體系統組件內容變化而造成性能影響的傳統方法的軟體系統的部署框架。FIG. 1 depicts a software system deployment framework for a traditional method of analyzing performance impact due to content changes of software system components.
圖2是依照本發明用於分析由於軟體系統組件內容變化而造成性能影響的基於預測方法的流程圖。2 is a flowchart of a prediction-based method for analyzing performance impact due to changes in the content of software system components in accordance with the present invention.
圖3是依照本發明用於分析由於軟體系統組件內容變化而造成性能影響的基於預測方法的另一流程圖。3 is another flowchart of a prediction-based method for analyzing performance impact due to changes in software system component content in accordance with the present invention.
圖4繪示了用於依照本發明的基於預測的方法來分析由於軟體系統組件內容變化而造成性能的影響的一軟體系統的部署框架。FIG. 4 illustrates a software system deployment framework for analyzing performance impact due to content changes of software system components according to the prediction-based method of the present invention.
圖5表列了相關係數和性能差異值的計算數據和結果。Figure 5 tabulates the calculated data and results of the correlation coefficients and performance difference values.
圖6是顯示有關於工作負載的性能指標、收集的/記錄的有關於第一輔助軟體組件的性能指標,以及預測的該第一輔助軟體組件的性能指標隨時間變化的圖表。6 is a graph showing performance metrics related to a workload, collected/recorded performance metrics related to a first auxiliary software component, and predicted performance metrics of the first auxiliary software component over time.
圖7是顯示有關於工作負載的性能指標、收集的/記錄的有關於第二輔助軟體組件的性能指標,以及預測的該第二輔助軟體組件的性能指標隨時間變化的圖表。7 is a graph showing performance metrics related to a workload, collected/recorded performance metrics related to a second auxiliary software component, and predicted performance metrics of the second auxiliary software component over time.
圖8是顯示有關於工作負載的性能指標、收集的/記錄的有關於第三輔助軟體組件的性能指標,以及預測的該第三輔助軟體組件的性能指標隨時間變化的圖表。8 is a graph showing performance metrics related to a workload, collected/recorded performance metrics related to a third auxiliary software component, and predicted performance metrics of the third auxiliary software component over time.
S01~S07:步驟 S01~S07: Steps
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110134972A TWI781767B (en) | 2021-09-17 | 2021-09-17 | Prediction-based method for analyzing change impact on software components |
CN202210029625.5A CN115827401A (en) | 2021-09-17 | 2022-01-12 | Prediction-based method for analyzing performance impact due to software system component content changes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110134972A TWI781767B (en) | 2021-09-17 | 2021-09-17 | Prediction-based method for analyzing change impact on software components |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI781767B true TWI781767B (en) | 2022-10-21 |
TW202314509A TW202314509A (en) | 2023-04-01 |
Family
ID=85462552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110134972A TWI781767B (en) | 2021-09-17 | 2021-09-17 | Prediction-based method for analyzing change impact on software components |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115827401A (en) |
TW (1) | TWI781767B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201308073A (en) * | 2011-07-07 | 2013-02-16 | Vce Co Llc | Automatic monitoring and just-in-time resource provisioning system |
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 (en) * | 2016-07-18 | 2019-05-03 | 河谷生物组学有限责任公司 | Distributed machines learning system, device and method |
CN111344668A (en) * | 2017-11-09 | 2020-06-26 | 国际商业机器公司 | Dynamic selection of deployment configuration for software applications |
TW202133055A (en) * | 2020-02-19 | 2021-09-01 | 先智雲端數據股份有限公司 | Method for establishing system resource prediction and resource management model through multi-layer correlations |
-
2021
- 2021-09-17 TW TW110134972A patent/TWI781767B/en active
-
2022
- 2022-01-12 CN CN202210029625.5A patent/CN115827401A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201308073A (en) * | 2011-07-07 | 2013-02-16 | Vce Co Llc | Automatic monitoring and just-in-time resource provisioning system |
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 (en) * | 2016-07-18 | 2019-05-03 | 河谷生物组学有限责任公司 | Distributed machines learning system, device and method |
CN111344668A (en) * | 2017-11-09 | 2020-06-26 | 国际商业机器公司 | Dynamic selection of deployment configuration for software applications |
TW202133055A (en) * | 2020-02-19 | 2021-09-01 | 先智雲端數據股份有限公司 | Method for establishing system resource prediction and resource management model through multi-layer correlations |
Also Published As
Publication number | Publication date |
---|---|
CN115827401A (en) | 2023-03-21 |
TW202314509A (en) | 2023-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200151079A1 (en) | System to manage economics and operational dynamics of it systems and infrastructure in a multi-vendor service environment | |
US7689384B1 (en) | Managing the performance of an electronic device | |
Aiber et al. | Autonomic self-optimization according to business objectives | |
JP4756675B2 (en) | System, method and program for predicting computer resource capacity | |
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 | |
Mesbahi et al. | Highly reliable architecture using the 80/20 rule in cloud computing datacenters | |
CN106776288B (en) | A kind of health metric method of the distributed system based on Hadoop | |
JP4705484B2 (en) | Performance monitoring device, performance monitoring method and program | |
Muraña et al. | Characterization, modeling and scheduling of power consumption of scientific computing applications in multicores | |
US20230376800A1 (en) | Predicting runtime variation in big data analytics | |
KR101830936B1 (en) | Performance Improving System Based Web for Database and Application | |
Willnecker et al. | Optimization of deployment topologies for distributed enterprise applications | |
TWI781767B (en) | Prediction-based method for analyzing change impact on software components | |
Foroni et al. | Moira: A goal-oriented incremental machine learning approach to dynamic resource cost estimation in distributed stream processing systems | |
Sfakianakis et al. | Trace-based workload generation and execution | |
US20230092751A1 (en) | Prediction-based method for analyzing change impact on software components | |
Zhang et al. | Getting more for less in optimized mapreduce workflows | |
Verma et al. | RETRACTED ARTICLE: Exponential Relationship Based Approach for Predictions of Defect Density Using Optimal Module Sizes | |
Müller et al. | Capacity management as a service for enterprise standard software | |
Sriraman et al. | Understanding acceleration opportunities at hyperscale | |
JP5906844B2 (en) | Computer parameter tuning program, method, and apparatus | |
CN118069460B (en) | Automatic monitoring and optimizing method and system for application performance | |
Kumar et al. | Estimating model parameters of adaptive software systems in real-time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |