Software system performance analysis methods and equipment

By displaying the trained machine model in an interactive interface and utilizing its predictive optimization strategy, the problem of insufficient accuracy and efficiency in existing software system performance analysis methods is solved, achieving more efficient software system optimization.

CN115543792BActive Publication Date: 2026-07-31AGRICULTURAL BANK OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
AGRICULTURAL BANK OF CHINA
Filing Date
2022-09-26
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

Existing performance analysis methods for software systems offer limited performance improvements and lack effective means to enhance the accuracy and efficiency of optimization strategies for software systems.

Method used

By displaying multiple trained machine models in the interactive interface, receiving the target machine model selected by the user, and inputting performance status data, the system uses the machine model to predict optimization strategies and displays the optimization strategies to optimize the performance of the software system.

Benefits of technology

It improved the accuracy and efficiency of software system optimization strategies, reduced labor costs, avoided errors caused by human factors, and achieved a more comprehensive performance improvement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115543792B_ABST
    Figure CN115543792B_ABST
Patent Text Reader

Abstract

This disclosure provides a method and apparatus for performance analysis of a software system, comprising: displaying multiple trained machine models in an interactive interface; receiving a target machine model selected by a user from the multiple trained machine models; and receiving performance status data of the software system input by the user in the interactive interface, the performance status data including: resource status data of the software system, task processing performance data of the software system, and operating environment data of the software system; predicting optimization strategies corresponding to the performance status data through the target machine model, the optimization strategies being used to optimize the software system; and displaying the optimization strategies in the interactive interface. The performance status data is used to accurately describe the performance of the software system from multiple dimensions, which can improve the accuracy of the optimization strategies. Furthermore, the machine model can comprehensively learn the relationship between the performance status data and the optimization strategies, thereby obtaining a more comprehensive optimization strategy based on the performance status data, which can better improve the performance of the software system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer software technology, and in particular to a method and apparatus for performance analysis of a software system. Background Technology

[0002] Computer software systems are used to provide services to users through software; they can be simply referred to as software systems. For example, a software system can be an internet system, used to provide users with various news, shopping services, social networking services, and so on via the network.

[0003] In existing technologies, software systems are typically complex systems comprising multiple servers, such as distributed software systems. These different servers cooperate to improve the performance of the software system. During the operation of the software system, software development engineers can analyze the performance test results to determine whether the software system needs optimization and how to optimize it.

[0004] However, the above solutions offer limited performance improvements to the software system. Summary of the Invention

[0005] This disclosure provides a software system performance analysis method and apparatus to improve the performance of the software system.

[0006] In a first aspect, embodiments of this disclosure provide a performance analysis method for a software system, the method comprising:

[0007] Display multiple trained machine models in the interactive interface;

[0008] The system receives a target machine model selected by the user from the plurality of trained machine models, as well as performance status data of the software system input by the user in the interactive interface. The performance status data includes: resource status data of the software system, task processing performance data of the software system, and operating environment data of the software system.

[0009] The optimization strategy corresponding to the performance status data is predicted by the target machine model, and the optimization strategy is used to optimize the software system.

[0010] The optimization strategy is displayed in the interactive interface.

[0011] Optionally, before displaying multiple trained machine models in the interactive interface, the method further includes:

[0012] The interactive interface displays multiple supported machine models;

[0013] Receive the machine model to be trained selected by the user from the plurality of supported machine models;

[0014] The selected machine model to be trained is trained to obtain the trained machine model.

[0015] Optionally, the method further includes:

[0016] The interactive interface displays at least one of the following model status data: the prediction progress of the target machine model for the optimization strategy, the training progress of the machine model to be trained, and the accuracy of the trained machine model.

[0017] Optionally, the step of predicting the optimization strategy corresponding to the performance state data through the target machine model includes:

[0018] Calculate the similarity between the performance status data and the sample performance status data in the sample set;

[0019] From the sample labels corresponding to the K most similar sample performance status data, select the sample label with the largest number of samples as the predicted label corresponding to the performance status data;

[0020] The optimization strategy corresponding to the predicted label is determined as the optimization strategy corresponding to the performance status data.

[0021] Optionally, training the selected machine model to be trained to obtain the trained machine model includes:

[0022] The sample performance status data in the sample set is divided into multiple subsets;

[0023] The weak classifier is trained sequentially through each of the aforementioned subsets, with each subsequent subset training the weak classifier obtained from the previous subset.

[0024] The weak classifiers trained from each of the subsets are merged into a strong classifier, which is then used as the trained machine model.

[0025] Optionally, training the selected machine model to be trained to obtain the trained machine model includes:

[0026] The sample performance status data in the sample set is divided into multiple subsets;

[0027] Multiple isolated trees are trained through each of the aforementioned subsets, with each subset used to train one isolated tree, so that the multiple isolated trees are used as the trained machine model, and the training of different isolated trees is independent of each other;

[0028] The optimization strategy for predicting the performance status data using the target machine model includes:

[0029] The vector corresponding to the performance status data is input into each of the isolated trees to obtain the predicted label;

[0030] The predicted labels obtained from each isolated tree are weighted and averaged to obtain the predicted labels.

[0031] The optimization strategy corresponding to the predicted label is used as the optimization strategy for the performance status data.

[0032] Optionally, training the selected machine model to be trained to obtain the trained machine model includes:

[0033] The vector of sample performance status data from the sample set is input into the decision tree to obtain the predicted label;

[0034] The loss value is determined based on the predicted label and the sample label corresponding to the sample performance status data;

[0035] If the loss value does not meet the preset convergence condition, the decision tree is adjusted to return to the step of inputting the vector of sample performance status data in the sample set into the decision tree to obtain the predicted label, until the loss value meets the preset convergence condition, and the current decision tree is used as the trained decision tree.

[0036] In a second aspect, embodiments of this disclosure provide a performance analysis apparatus for a software system, comprising:

[0037] The trained model display module is used to display multiple trained machine models in the interactive interface;

[0038] The target model selection module is used to receive the target machine model selected by the user from the plurality of trained machine models, as well as the performance status data of the software system input by the user in the interactive interface. The performance status data includes: resource status data of the software system, task processing performance data of the software system, and operating environment data of the software system.

[0039] An optimization strategy prediction module is used to predict the optimization strategy corresponding to the performance status data through the target machine model, and the optimization strategy is used to optimize the software system;

[0040] An optimization strategy display module is used to display the optimization strategy in the interactive interface.

[0041] Optionally, it also includes:

[0042] A trainable model display module is used to display multiple supportable machine models in the interactive interface before displaying multiple trained machine models in the interactive interface.

[0043] The model to be trained receiving module is used to receive the machine model to be trained selected by the user from the plurality of supportable machine models;

[0044] The model training module is used to train the selected machine model to be trained to obtain the trained machine model.

[0045] Optionally, the device further includes:

[0046] The model status data display module is used to display at least one of the following model status data in the interactive interface: the prediction progress of the target machine model to the optimization strategy, the training progress of the machine model to be trained, and the accuracy of the trained machine model.

[0047] Optionally, the optimization strategy prediction module is further configured to:

[0048] Calculate the similarity between the performance status data and the sample performance status data in the sample set;

[0049] From the sample labels corresponding to the K most similar sample performance status data, select the sample label with the largest number of samples as the predicted label corresponding to the performance status data;

[0050] The optimization strategy corresponding to the predicted label is determined as the optimization strategy corresponding to the performance status data.

[0051] Optionally, the model training module is further configured to:

[0052] The sample performance status data in the sample set is divided into multiple subsets;

[0053] The weak classifier is trained sequentially through each of the aforementioned subsets, with each subsequent subset training the weak classifier obtained from the previous subset.

[0054] The weak classifiers trained from each of the subsets are merged into a strong classifier, which is then used as the trained machine model.

[0055] Optionally, the model training module is further configured to:

[0056] The sample performance status data in the sample set is divided into multiple subsets;

[0057] Multiple isolated trees are trained through each of the aforementioned subsets, with each subset used to train one isolated tree, so that the multiple isolated trees are used as the trained machine model, and the training of different isolated trees is independent of each other;

[0058] The optimization strategy for predicting the performance status data using the target machine model includes:

[0059] The vector corresponding to the performance status data is input into each of the isolated trees to obtain the predicted label;

[0060] The predicted labels obtained from each isolated tree are weighted and averaged to obtain the predicted labels.

[0061] The optimization strategy corresponding to the predicted label is used as the optimization strategy for the performance status data.

[0062] Optionally, the model training module is further configured to:

[0063] The vector of sample performance status data from the sample set is input into the decision tree to obtain the predicted label;

[0064] The loss value is determined based on the predicted label and the sample label corresponding to the sample performance status data;

[0065] If the loss value does not meet the preset convergence condition, the decision tree is adjusted to return to the step of inputting the vector of sample performance status data in the sample set into the decision tree to obtain the predicted label, until the loss value meets the preset convergence condition, and the current decision tree is used as the trained decision tree.

[0066] Thirdly, embodiments of this disclosure also provide an electronic device, including: at least one processor and a memory;

[0067] The memory stores computer-executed instructions;

[0068] The at least one processor executes computer execution instructions stored in the memory, causing the electronic device to implement the method described in the first aspect.

[0069] Fourthly, embodiments of this disclosure also provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a computing device, cause the computing device to implement the method described in the first aspect.

[0070] Fifthly, embodiments of this disclosure also provide a computer program product for performing the method described in the first aspect.

[0071] The software system performance analysis method and apparatus provided in this disclosure include: displaying multiple trained machine models in an interactive interface; receiving a target machine model selected by a user from the multiple trained machine models; and performance status data of the software system input by the user in the interactive interface, the performance status data including: resource status data of the software system, task processing performance data of the software system, and operating environment data of the software system; predicting optimization strategies corresponding to the performance status data through the target machine model, the optimization strategies being used to optimize the software system; and displaying the optimization strategies in the interactive interface. On one hand, the performance status data is used to describe the performance of the software system from multiple dimensions to accurately represent the performance of the software system, which can improve the accuracy of the optimization strategies and better improve the performance of the software system. On the other hand, the machine model can comprehensively learn the relationship between the performance status data and the optimization strategies to obtain a more comprehensive optimization strategy based on the performance status data, which can also better improve the performance of the software system. Attached Figure Description

[0072] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the embodiments of the present disclosure.

[0073] Figure 1 This is a schematic diagram of the structure of the software system provided in the embodiments of this disclosure;

[0074] Figure 2 This is a flowchart of the steps of a performance analysis method for a software system provided in an embodiment of this disclosure;

[0075] Figure 3 This is a schematic diagram of the structure of an interactive interface provided in an embodiment of this disclosure;

[0076] Figure 4 This is a schematic diagram illustrating the relationship between a vector of performance status data and a vector of K sample performance status data provided in an embodiment of this disclosure;

[0077] Figure 5 This is a schematic diagram of the training process of a strong classifier provided in an embodiment of this disclosure;

[0078] Figure 6 This is a schematic diagram illustrating the training and application process of a random forest according to an embodiment of this disclosure;

[0079] Figure 7 This is a layered schematic diagram of the performance analysis tool for the software system provided in this embodiment of the disclosure;

[0080] Figure 8 This is a schematic diagram of the structure of a performance analysis device for a software system provided in an embodiment of this disclosure;

[0081] Figure 9 This is a structural block diagram of an electronic device provided in an embodiment of this disclosure.

[0082] The accompanying drawings have illustrated specific embodiments of the present disclosure, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the present disclosure in any way, but rather to illustrate the concepts of the present disclosure to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0083] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with those of this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the embodiments of this disclosure as detailed in the appended claims.

[0084] The embodiments disclosed herein can be applied to software systems to analyze the software system and obtain optimization strategies, enabling development engineers to optimize the software system according to the optimization strategies to improve the performance of the software system. Figure 1 This is a schematic diagram of the structure of the software system provided in the embodiments of this disclosure. Figure 1 An example software system is provided with four servers: S1, S2, S3, and S4. Servers S1, S2, S3, and S4 are servers that process data access requests, including but not limited to receiving data access requests and returning response data. Access clients are used to send data access requests to the servers for processing and to receive response data returned by the servers.

[0085] This disclosure embodiment can predict the optimization strategy of a software system based on its performance status data using a machine model. On one hand, the performance status data includes data describing the software system's performance from multiple dimensions, accurately representing its performance and helping to improve the accuracy of the optimization strategy, thus better enhancing the software system's performance. On the other hand, the machine model can comprehensively learn the relationship between performance status data and optimization strategies, obtaining a more comprehensive optimization strategy based on the performance status data, which can also better improve the software system's performance.

[0086] Furthermore, compared to development engineers analyzing and determining optimization strategies, the machine model predicting optimization strategies in this disclosure can save labor costs and improve the efficiency of determining optimization strategies. It can also avoid errors caused by human factors, thus helping to improve accuracy.

[0087] Figure 2 This is a flowchart illustrating the steps of a performance analysis method for a software system provided in this embodiment. Figure 2 The performance analysis method for the software system shown can be derived from... Figure 1 The management client in the middle can be used to execute the command, or any other client. Figure 1 The management client shown can be used for... Figure 1 The software system is managed, for example, by configuring the number of servers and server performance parameters included in the software system, adding servers, and deleting servers. In this embodiment, the management client can also be used to obtain performance status data of the software system for analysis and optimization strategies. Of course, the performance analysis method of the software system in this embodiment can also be executed by other clients, and this embodiment does not limit the device used to execute the performance analysis method of the software system.

[0088] Please refer to Figure 2 As shown, the performance analysis methods for the above software system include:

[0089] S201: Display multiple trained machine models in the interactive interface.

[0090] Figure 3 This is a schematic diagram of the structure of an interactive interface provided in an embodiment of this disclosure. (Refer to...) Figure 3 As shown, the interactive interface displays several trained machine models: K-nearest neighbors, decision tree, and random forest, along with the corresponding prompt "Please select the target machine model" to guide the user in choosing the target machine model for the prediction optimization strategy from these three trained machine models.

[0091] This disclosure provides users with multiple trained machine models through an interactive interface, allowing users to select the target machine model for identifying and predicting labels. This enables users to flexibly select the target machine model according to the actual application scenario, which helps to improve the matching degree between the target machine model and the scenario.

[0092] It should be noted that the trained machine models mentioned above are pre-trained machine models, from which users can select a target machine model. Alternatively, users can select one from the supported machine models as the training model to be retrained and then used as the target machine model. The selected training model can be either a trained or untrained machine model.

[0093] For example, refer to Figure 3 As shown, the interactive interface displays several supported machine models: K-nearest neighbors, decision tree, random forest, and Adaboost. Users can select a machine model to be trained from these supported models to train the selected machine model and obtain a trained machine model.

[0094] The supported machine models refer to all machine models that can be supported in this embodiment. When more machine models can be supported, the newly added supported machine models can be added. Figure 3 In region R1 shown. Of course, it can also be found from... Figure 3 In the area R1 shown, the supported machine models are deleted, and the deleted machine models are no longer supported machine models.

[0095] Understandably, when the user selects a trained machine model, the training can continue to improve its accuracy. Conversely, when the user selects an untrained machine model, training can continue until the untrained machine model is complete and a trained machine model is obtained. Figure 3 The trained machine model will be newly displayed in area R2. For example, if a user selects Adaboost as the machine model to be trained from area R1, then Adaboost can be displayed in area R2 after training is completed.

[0096] In some implementations, at least one of the following model status data may also be displayed in the above-mentioned interactive interface: the prediction progress of the target machine model to the optimization strategy, the training progress of the machine model to be trained, and the accuracy of the trained machine model.

[0097] Reference Figure 3 As shown, the training progress is displayed in region R3, and the prediction progress is displayed in region R4. Both can be used... Figure 3 The progress bar shown can also be represented as a percentage. Figure 3 The accuracy of the machine model being trained at the end of training is displayed in region R5. Figure 3 Accuracy can be expressed as a percentage, for example, 93.1%. Accuracy can be determined based on predicted labels and sample labels, representing the degree of consistency between the two. Specifically, at the end of training the machine model, the model obtains predicted labels for the sample performance state data in the sample set. These predicted labels and sample labels can then be compared, and the percentage of consistent predicted labels is used as the accuracy. For example, if the sample set includes M sample performance state data, then M predicted labels and M sample labels will be obtained, with one predicted label corresponding to one sample label. If N predicted labels and their corresponding sample labels are consistent, then the accuracy of the machine model can be N / M.

[0098] It should be noted that the prediction progress, training progress, and accuracy can all be displayed with the corresponding machine model name to better guide the user.

[0099] The above sample set is obtained based on historical performance status data. Based on experience, historical performance status data can be used as sample performance status data in the sample set, and a sample label can be assigned to each sample performance status data. We can save the sample set to a sample data file, which can be a text file (.txt), with adjacent performance status data separated by delimiters.

[0100] In some implementations, the above sample set can be referenced as shown in Table 1, which provides five sample performance data points as an example.

[0101] Table 1

[0102] A1 B1 C1 D1 1 A2 B2 C2 D2 2 A3 B3 C3 D3 3 A4 B4 C4 D4 1 A5 B5 C5 D5 2

[0103] S202: Receive the target machine model selected by the user from multiple trained machine models, as well as the performance status data of the software system input by the user in the interactive interface. The performance status data includes: resource status data of the software system, task processing performance data of the software system, and operating environment data of the software system.

[0104] The resource status data includes: the CPU (central processing unit) utilization rate of the software system's servers, the server's CPU usage trend, the server's memory utilization rate, the server's input-output (I / O) performance data, and the server's network performance data. Processing performance data includes: task response time, task processing success rate, and the number of tasks processed per unit time. The runtime environment data includes: the number of database connection pools that the software system relies on, and the status data of the virtual servers used by the software system.

[0105] The aforementioned processing performance data can be obtained by performing performance tests on the software system. Performance testing can be implemented using automated testing tools. Specifically, the normal working conditions, peak working conditions, and abnormal load working conditions of the software system can be simulated to test various aspects of the system's performance and obtain multiple processing performance data points.

[0106] S203: Optimization strategies are predicted based on the performance status data of the target machine model. These optimization strategies are used to optimize the software system.

[0107] Specifically, the performance status data can first be standardized to obtain a vector of performance status data. Then, the vector of performance status data can be input into the target machine model to obtain the predicted label. Finally, the optimization strategy corresponding to the predicted label can be used as the optimization strategy corresponding to the performance status data.

[0108] The correspondence between predicted labels and optimization strategies is preset. For example, as shown in Table 2 below, five sets of correspondences between optimization strategies and labels are given. Other correspondences can also be set.

[0109] Table 2

[0110]

[0111]

[0112] When the trained machine model is the K nearest neighbor algorithm, the optimization strategy for predicting the performance status data through the target machine model includes: first, calculating the similarity between the performance status data and the sample performance status data in the sample set; then, selecting the sample label with the largest number of samples from the sample labels corresponding to the K sample performance status data with the highest similarity as the predicted label corresponding to the performance status data; finally, determining the optimization strategy corresponding to the predicted label as the optimization strategy corresponding to the performance status data.

[0113] The process of determining the similarity between performance status data and sample performance status data in the sample set can include: first, converting both the performance status data and the sample performance status data into initial vectors; then, normalizing these initial vectors by dividing them by their own magnitude, using the resulting vector as the performance status data vector; the same method can be used to obtain the sample performance status data vector; finally, inputting the performance status data vector and the sample performance status data vector into a similarity function to obtain the similarity between the performance status data and the sample performance status data. The similarity function can be cosine similarity, Euclidean distance, etc.

[0114] After obtaining the above similarity, we can obtain the K sample labels corresponding to the K sample performance status data with the highest similarity. Some of these K sample labels may be the same, and some sample labels may be different. Figure 4 This is a schematic diagram illustrating the relationship between a vector of performance status data and a vector of K sample performance status data provided in an embodiment of this disclosure. (Refer to...) Figure 4 As shown, K can be 10. The circle represents the vector V1 corresponding to the performance status data, the triangle represents the vector V2 corresponding to the first-class sample status data, the square represents the vector V3 corresponding to the first-class sample status data, and the ellipse represents the vector V4 corresponding to the first-class sample status data. V2 to V4 are the vectors of the K nearest samples of performance status data to V1. Figure 4 As can be seen from V2 to V4, V3 appears the most frequently, which means that V4 corresponds to the most sample state data. Therefore, the sample label corresponding to the sample state data of V4 is the predicted label corresponding to the performance state data.

[0115] When the trained machine model is a strong classifier corresponding to Adaboost, the machine model to be trained is also a strong classifier. Its training process includes: first, dividing the sample performance status data in the sample set into multiple subsets; then, training weak classifiers sequentially through each subset, with each subset continuing to train the weak classifiers trained by the previous subset; finally, merging the weak classifiers trained through each subset into a strong classifier, so that the trained strong classifier can be used as the trained machine model.

[0116] Figure 5 This is a schematic diagram illustrating the training process of a strong classifier provided in an embodiment of this disclosure. (Refer to...) Figure 5 As shown, the sample set can be divided into three subsets, ST1, ST2, and ST3. The initial weak classifier CR1 is trained using the performance data from subset ST1 to obtain weak classifier CR2. Weak classifier CR2 is then trained using the performance data from subset CR2 to obtain weak classifier CR3. Finally, weak classifiers CR4 are merged into a strong classifier CR.

[0117] The weak and strong classifiers mentioned above can be understood as multiple mathematical functions, with the strong classifier being a weighted result of the weak classifiers.

[0118] The training process of the aforementioned weak classifier may include: First, inputting the vector of sample performance state data into the weak classifier to obtain the predicted label corresponding to the sample performance state data; then, inputting the predicted label and the sample label corresponding to the sample performance state data into the loss function to obtain the loss value; finally, determining whether the loss value meets the preset convergence condition. If the loss value does not meet the preset convergence condition, the parameters of the weak classifier are adjusted to enter the step of inputting the vector of sample performance state data into the weak classifier to obtain the predicted label corresponding to the sample performance state data, and performing the next iteration until the loss value meets the preset convergence condition, at which point the current weak classifier is taken as the trained weak classifier.

[0119] The loss function can be a cross-entropy loss function, a mean squared loss function, etc. The aforementioned preset convergence conditions may include: the loss value is less than or equal to a preset loss value threshold, and / or, the loss value no longer decreases after multiple iterations.

[0120] After training a strong classifier through the above process, for the performance state data of the optimization strategy to be predicted, the vector of the performance state data can be input into the strong classifier to obtain the predicted label, and then the optimization strategy corresponding to the predicted label can be used as the optimization strategy for the performance state data.

[0121] When the trained machine model is an isolated tree corresponding to the random forest algorithm, the machine model to be trained is also an isolated tree. The training process includes: first, dividing the sample performance state data in the sample set into multiple subsets; then, training multiple isolated trees through each subset, with each subset used to train one isolated tree, so that multiple isolated trees serve as the trained machine model, and the training of different isolated trees is independent of each other. Therefore, for the performance state data of the optimization strategy to be predicted, the vector of the performance state data can be input into each isolated tree to obtain the predicted label. Then, the predicted labels obtained from each isolated tree are weighted and averaged to obtain the final predicted label. Finally, the optimization strategy corresponding to the predicted label is used as the optimization strategy for the performance state data.

[0122] Figure 6 This is a schematic diagram illustrating the training and application process of a random forest according to an embodiment of this disclosure. (Refer to...) Figure 6 As shown, the sample set is divided into subsets ST1, ST2, and ST3. Isolated tree T1 is trained using subset ST1, isolated tree T2 using subset ST2, and isolated tree T3 using subset ST3. The training of T1 to T3 is independent and does not affect each other. After obtaining the three isolated trees T1 to T3, for the performance state data of the optimization strategy to be predicted, the vector of this performance state data can be input into each of the isolated trees T1 to T3 to obtain prediction labels L1, L2, and L3. The weighted average of L1, L2, and L3 is used as the prediction label L, and the optimization strategy corresponding to L is used as the optimization strategy for the performance state data.

[0123] The training process of the aforementioned isolated tree may include: First, inputting the vector of sample performance state data into the isolated tree to obtain the predicted label corresponding to the sample performance state data; then, inputting the predicted label and the sample label corresponding to the sample performance state data into the loss function to obtain the loss value; finally, determining whether the loss value meets the preset convergence condition. If the loss value does not meet the preset convergence condition, the isolated tree is adjusted to enter the step of inputting the vector of sample performance state data into the isolated tree to obtain the predicted label corresponding to the sample performance state data, and performing the next iteration until the loss value meets the preset convergence condition, at which point the current isolated tree is taken as the trained isolated tree.

[0124] In this embodiment, the predicted labels for performance state data are obtained from multiple independent isolated trees using the aforementioned random forest algorithm. This avoids excessive reliance on any single isolated tree for the predicted labels. Furthermore, randomly dividing the sample set into subsets and using these subsets as training subsets for each isolated tree prevents excessive correlation between isolated trees, thus increasing the contribution of each isolated tree to the predicted labels. Predicting labels using unrelated isolated trees improves the accuracy of the predicted labels.

[0125] When the trained machine model is a decision tree, the machine model to be trained is also a decision tree. Its training process includes: first, inputting the vector of sample performance state data from the sample set into the decision tree to obtain predicted labels; then, determining the loss value based on the predicted labels and the corresponding sample labels of the sample performance state data; finally, determining whether the loss function satisfies the preset convergence condition. If the loss value does not satisfy the preset convergence condition, the decision tree is adjusted to return to the step of inputting the vector of sample performance state data from the sample set into the decision tree to obtain predicted labels, until the loss value satisfies the preset convergence condition. The current decision tree is then used as the trained decision tree.

[0126] After obtaining the decision tree, for the performance state data of the optimization strategy to be predicted, the vector of the performance state data can be input into the decision tree to obtain the prediction label, and then the optimization strategy corresponding to the prediction label can be used as the optimization strategy of the performance state data.

[0127] S204: Display optimization strategies in the interactive interface.

[0128] like Figure 3 As shown, optimization strategies can be displayed in zone R6. Of course, the machine model predicting the optimization strategies can also be displayed in zone R6 for better feedback. Optimization strategies can include: optimizing database indexes, optimizing database lock resource contention, optimizing garbage collection mechanisms, optimizing log isolation levels, and optimizing program logic, etc.

[0129] Of course, optimization strategies can also be stored in optimization strategy files. The file format supports txt text format and csv comma-separated value file format, which testers can view and retrieve at any time.

[0130] In summary, the performance analysis methods for the software systems described in the embodiments of this disclosure can be integrated to form a performance analysis tool for a software system. This tool can be divided into multiple layers. Figure 7 This is a layered schematic diagram of the performance analysis tool for the software system provided in this embodiment. (Refer to...) Figure 7As shown, the performance analysis tools for a software system are mainly divided into three layers: a visualization layer, a core functionality layer, and a data layer. This allows for layered management and maintenance of the software system's performance analysis tools, simplifying management and reducing maintenance costs.

[0131] The visualization layer is used for user interaction and includes, but is not limited to: interactive interface visualization, data visualization, intelligent prediction visualization, and other attribute graphs. For example, the aforementioned interactive interface visualization could be used to display the interactive interface in a performance analysis tool. Data visualization could be used to display optimization strategies and other data within the interactive interface. Intelligent prediction visualization refers to displaying prediction progress within the interactive interface. Other attribute graphs can be used to display other attributes within the interactive interface.

[0132] The core functional layer is divided into raw data processing, model training, and intelligent prediction and analysis. Raw data processing involves converting the performance status data of samples in the sample set into vectors. Model training is used to train the machine learning model to obtain a trained machine learning model. Intelligent prediction and analysis is used to predict optimization strategies based on the target machine learning model selected by the user.

[0133] The data layer is divided into two parts: an anomaly data repository and the organization, management, and storage of data files. The anomaly data repository is used to store performance status data when the software system encounters anomalies, while the organization, management, and storage of data files are used to manage and store this performance status data.

[0134] Corresponding to the above method embodiments, Figure 8 This is a schematic diagram of the structure of a performance analysis device for a software system provided in an embodiment of this disclosure. Please refer to... Figure 8 The performance analysis device 400 of the aforementioned software system includes:

[0135] The trained model display module 401 is used to display multiple trained machine models in the interactive interface.

[0136] The target model selection module 402 is used to receive the target machine model selected by the user from the plurality of trained machine models, as well as the performance status data of the software system input by the user in the interactive interface. The performance status data includes: resource status data of the software system, task processing performance data of the software system, and operating environment data of the software system.

[0137] The optimization strategy prediction module 403 is used to predict the optimization strategy corresponding to the performance status data through the target machine model, and the optimization strategy is used to optimize the software system.

[0138] The optimization strategy display module 404 is used to display the optimization strategy in the interactive interface.

[0139] Optionally, it also includes:

[0140] A trainable model display module is used to display multiple supportable machine models in the interactive interface before displaying multiple trained machine models in the interactive interface.

[0141] The training model receiving module is used to receive the training machine model selected by the user from the plurality of supportable machine models.

[0142] The model training module is used to train the selected machine model to be trained to obtain the trained machine model.

[0143] Optionally, the device further includes:

[0144] The model status data display module is used to display at least one of the following model status data in the interactive interface: the prediction progress of the target machine model to the optimization strategy, the training progress of the machine model to be trained, and the accuracy of the trained machine model.

[0145] Optionally, the optimization strategy prediction module 403 is further configured to:

[0146] Calculate the similarity between the performance status data and the sample performance status data in the sample set.

[0147] From the sample labels corresponding to the K most similar sample performance status data, select the sample label with the largest number of samples as the predicted label corresponding to the performance status data.

[0148] The optimization strategy corresponding to the predicted label is determined as the optimization strategy corresponding to the performance status data.

[0149] Optionally, the model training module is further configured to:

[0150] The sample performance status data in the sample set is divided into multiple subsets;

[0151] The weak classifier is trained sequentially through each of the aforementioned subsets, with each subsequent subset training the weak classifier obtained from the previous subset.

[0152] The weak classifiers trained from each of the subsets are merged into a strong classifier, which is then used as the trained machine model.

[0153] Optionally, the model training module is further configured to:

[0154] The sample performance status data in the sample set is divided into multiple subsets.

[0155] Multiple isolated trees are trained using each of the aforementioned subsets, with each subset used to train one isolated tree, so that the multiple isolated trees can be used as the trained machine model, and the training of different isolated trees is independent of each other.

[0156] The optimization strategy prediction module is also used for:

[0157] The vector corresponding to the performance status data is input into each of the isolated trees to obtain the predicted label.

[0158] The predicted labels obtained from each isolated tree are weighted and averaged to obtain the predicted labels.

[0159] The optimization strategy corresponding to the predicted label is used as the optimization strategy for the performance status data.

[0160] Optionally, the model training module is further configured to:

[0161] The vector of sample performance status data from the sample set is input into the decision tree to obtain the predicted label.

[0162] The loss value is determined based on the predicted label and the sample label corresponding to the sample performance status data.

[0163] If the loss value does not meet the preset convergence condition, the decision tree is adjusted to return to the step of inputting the vector of sample performance status data in the sample set into the decision tree to obtain the predicted label, until the loss value meets the preset convergence condition, and the current decision tree is used as the trained decision tree.

[0164] The above-described apparatus embodiment is an embodiment corresponding to the foregoing method embodiment, and has the same technical effects as the method embodiment. A detailed description of this apparatus embodiment can be found in the detailed description of the foregoing method embodiment, and will not be repeated here.

[0165] Figure 9 This is a structural block diagram of an electronic device provided in an embodiment of the present disclosure. The electronic device 600 includes a memory 602 and at least one processor 601.

[0166] Among them, memory 602 stores computer-executed instructions.

[0167] At least one processor 601 executes computer execution instructions stored in memory 602, causing electronic device 600 to implement the performance analysis method of the aforementioned software system.

[0168] In addition, the electronic device may also include a receiver 603 and a transmitter 604, wherein the receiver 603 is used to receive information from other devices or equipment and forward it to the processor 601, and the transmitter 604 is used to send information to other devices or equipment.

[0169] This disclosure also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a computing device, enable the computing device to implement a performance analysis method for a software system.

[0170] This disclosure also provides a computer program product for executing the performance analysis method of the above-described software system.

[0171] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0172] The sequence numbers of the embodiments disclosed above are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0173] The above are merely preferred embodiments of the present disclosure and do not limit the patent scope of the present disclosure. Any equivalent structural or procedural transformations made based on the description and drawings of the present disclosure, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of the present disclosure.

Claims

1. A method of performance analysis of a software system, characterized by, The method includes: Display multiple trained machine models in the interactive interface; The system receives a target machine model selected by the user from the plurality of trained machine models, as well as performance status data of the software system input by the user in the interactive interface. The performance status data includes: resource status data of the software system, task processing performance data of the software system, and operating environment data of the software system. The optimization strategy corresponding to the performance status data is predicted by the target machine model, and the optimization strategy is used to optimize the software system. The optimization strategy is displayed in the interactive interface; The optimization strategy for predicting the performance status data using the target machine model includes: The performance status data is standardized to obtain a vector of performance status data. The vector of performance status data is input into the target machine model to obtain a predicted label. The optimization strategy corresponding to the predicted label is used as the optimization strategy corresponding to the performance status data. The correspondence between the predicted label and the optimization strategy is preset.

2. The method according to claim 1, characterized in that, Before displaying multiple trained machine models in the interactive interface, the process also includes: The interactive interface displays multiple supported machine models; Receive the machine model to be trained selected by the user from the plurality of supported machine models; The selected machine model to be trained is trained to obtain the trained machine model.

3. The method according to claim 2, characterized in that, The method further includes: The interactive interface displays at least one of the following model status data: the prediction progress of the target machine model to the optimization strategy, the training progress of the machine model to be trained, and the accuracy of the trained machine model.

4. The method according to any one of claims 1 to 3, characterized in that, The optimization strategy for predicting the performance status data using the target machine model includes: Calculate the similarity between the performance status data and the sample performance status data in the sample set; From the sample labels corresponding to the K most similar sample performance status data, select the sample label with the largest number of samples as the predicted label corresponding to the performance status data; The optimization strategy corresponding to the predicted label is determined as the optimization strategy corresponding to the performance status data.

5. The method according to claim 2, characterized in that, The step of training the selected machine model to be trained to obtain the trained machine model includes: The sample performance status data in the sample set is divided into multiple subsets; The weak classifier is trained sequentially through each of the aforementioned subsets, and the weak classifier trained by the previous subset is trained by the next subset. The weak classifiers trained from each of the subsets are merged into a strong classifier, which is then used as the trained machine model.

6. The method according to claim 2, characterized in that, The step of training the selected machine model to be trained to obtain the trained machine model includes: The sample performance status data in the sample set is divided into multiple subsets; Multiple isolated trees are trained through each of the aforementioned subsets, with each subset used to train one isolated tree, so that the multiple isolated trees are used as the trained machine model, and the training of different isolated trees is independent of each other; The optimization strategy for predicting the performance status data using the target machine model includes: The vector corresponding to the performance status data is input into each of the isolated trees to obtain the predicted label; The predicted labels obtained from each isolated tree are weighted and averaged to obtain the predicted labels. The optimization strategy corresponding to the predicted label is used as the optimization strategy for the performance status data.

7. The method according to claim 2, characterized in that, The step of training the selected machine model to be trained to obtain the trained machine model includes: The vector of sample performance status data from the sample set is input into the decision tree to obtain the predicted label; The loss value is determined based on the predicted label and the sample label corresponding to the sample performance status data; If the loss value does not meet the preset convergence condition, the decision tree is adjusted to return to the step of inputting the vector of sample performance status data in the sample set into the decision tree to obtain the predicted label, until the loss value meets the preset convergence condition, and the current decision tree is used as the trained decision tree.

8. A performance analysis device for a software system, characterized in that, include: The trained model display module is used to display multiple trained machine models in the interactive interface; The target model selection module is used to receive the target machine model selected by the user from the plurality of trained machine models, as well as the performance status data of the software system input by the user in the interactive interface. The performance status data includes: the resource status data of the software system, the task processing performance data of the software system, and the operating environment data of the software system. An optimization strategy prediction module is used to predict the optimization strategy corresponding to the performance status data through the target machine model, and the optimization strategy is used to optimize the software system; An optimization strategy display module is used to display the optimization strategy in the interactive interface; The optimization strategy prediction module is specifically used to standardize the performance status data to obtain a vector of the performance status data, input the vector of the performance status data into the target machine model to obtain a prediction label, and use the optimization strategy corresponding to the prediction label as the optimization strategy corresponding to the performance status data. The correspondence between the prediction label and the optimization strategy is preset.

9. An electronic device, characterized in that, include: At least one processor and memory; The memory stores computer-executed instructions; The at least one processor executes computer execution instructions stored in the memory, causing the electronic device to perform the method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a computing device, cause the computing device to implement the method as described in any one of claims 1 to 7.