Software performance evaluation method and device, computer equipment and storage medium
The load pressure and resource consumption index matrix are processed through the dimensionality reduction algorithm, which solves the complexity of software performance evaluation and achieves accurate evaluation and optimization of software performance.
Patent Information
- Application Number
- CN202310757546.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-25
- Publication Date
- 2024-12-27
AI Technical Summary
With the development of cloud computing, big data and artificial intelligence, software complexity has increased, and it is difficult for existing technologies to accurately evaluate software performance, especially due to the large number of load pressure and resource consumption indicators and the complex relationship, which makes it difficult to monitor and optimize.
By generating a matrix of load pressure and resource consumption metrics, dimensionality reduction algorithms (such as typical correlation analysis) are used to convert them into fewer specification metric values to evaluate the load pressure and resource consumption of the software, thereby improving the accuracy of evaluating software performance.
Effectively simplify software performance evaluation, improve the accuracy and efficiency of evaluation, can more clearly identify the impact of load pressure and resource consumption, and promote software optimization.
Smart Images

Figure CN119201638A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data mining, and in particular to a method and device for evaluating software performance, a computer device, and a storage medium. Background Art
[0002] People usually need to monitor the relevant indicators that reflect the performance of the software when it is running, so as to optimize the software in time and avoid software or even system crashes. However, with the rapid development of information technologies such as cloud computing, big data, and artificial intelligence, the complexity and scale of software are increasing. Monitoring software performance also needs to consider more factors, such as user behavior and data security. As a result, the number of indicators that need to be monitored is increasing, and the relationship between indicators has become more complicated. The way of directly displaying all indicators in related technologies makes it difficult for people to accurately evaluate the performance of the software. Summary of the invention
[0003] In view of this, the present disclosure provides a method and apparatus for evaluating software performance, a computer device, and a storage medium to address the deficiencies in the related art.
[0004] To achieve the above objectives, this specification provides the following technical solutions:
[0005] According to a first aspect of an embodiment of this specification, a method for evaluating software performance is provided, comprising:
[0006] Collect M load pressure index values and K resource consumption index values of the target software in N preset cycles respectively, and generate an N×M-dimensional load pressure index matrix and an N×K-dimensional resource consumption index matrix; wherein N is the number of the preset cycles, M is the number of the load pressure index values, and K is the number of the resource consumption index values;
[0007] The N×M-dimensional load pressure indicator matrix is reduced in dimension to obtain N×P load pressure standard indicator values, and the N×K-dimensional resource consumption indicator matrix is reduced in dimension to obtain N×Q resource consumption standard indicator values; wherein, P load pressure standard indicator values are obtained by fusing the M load pressure indicator values; Q resource consumption standard indicator values are obtained by fusing the K resource consumption indicator values; wherein, P is less than M, and Q is less than K;
[0008] The load pressure of the target software is evaluated by P load pressure specification index values of each preset cycle in the N preset cycles, and the resource consumption of the target software is evaluated by Q resource consumption specification index values of each preset cycle in the N preset cycles.
[0009] Optionally, reducing the dimension of the N×M-dimensional load pressure indicator matrix to obtain N×P load pressure standard indicator values, and reducing the dimension of the N×K-dimensional resource consumption indicator matrix to obtain N×Q resource consumption standard indicator values includes:
[0010] The N×M-dimensional load pressure indicator matrix and the N×K-dimensional resource consumption indicator matrix are used as input parameters of the dimensionality reduction algorithm to obtain an M×M-dimensional load pressure transformation matrix and a K×K-dimensional resource consumption transformation matrix;
[0011] Based on the first P columns of the load pressure transformation matrix, an M×P-dimensional load pressure transformation sub-matrix is generated; based on the first Q columns of the resource consumption transformation matrix, a K×Q-dimensional resource consumption transformation sub-matrix is generated;
[0012] Based on the product of the load pressure indicator matrix and the load pressure transformation submatrix, an N×P-dimensional load pressure specification indicator matrix is generated; based on the product of the resource consumption indicator matrix and the resource consumption pressure transformation submatrix, an N×Q-dimensional resource consumption specification indicator matrix is generated.
[0013] Optionally, when the dimensionality reduction algorithm is typical association analysis, each element in the load pressure transformation matrix is the weight value of the load pressure index value multiplied by the element; each element in the resource consumption transformation matrix is the weight value of the resource consumption index value multiplied by the element.
[0014] Optionally, the dimensionality reduction is implemented based on any of the following dimensionality reduction algorithms:
[0015] Canonical Correlation Analysis, Kernel Canonical Correlation Analysis, Principal Component Analysis, Local Linear Embedding, and t-distributed Random Neighbor Embedding.
[0016] According to a second aspect of an embodiment of this specification, there is provided a software performance evaluation device, comprising:
[0017] An indicator matrix generation module is used to collect M load pressure indicator values and K resource consumption indicator values of the target software in N preset periods, respectively, to generate an N×M-dimensional load pressure indicator matrix and an N×K-dimensional resource consumption indicator matrix; wherein N is the number of the preset periods, M is the number of the load pressure indicator values, and K is the number of the resource consumption indicator values;
[0018] A standard indicator generation module is used to reduce the dimension of the N×M-dimensional load pressure indicator matrix to obtain N×P load pressure standard indicator values, and reduce the dimension of the N×K-dimensional resource consumption indicator matrix to obtain N×Q resource consumption standard indicator values; wherein, P load pressure standard indicator values are obtained by fusing the M load pressure indicator values; Q resource consumption standard indicator values are obtained by fusing the K resource consumption indicator values; wherein, P is less than M, and Q is less than K;
[0019] A performance evaluation module is used to evaluate the load pressure of the target software through P load pressure specification indicator values of each preset cycle in the N preset cycles, and to evaluate the resource consumption of the target software through Q resource consumption specification indicator values of each preset cycle in the N preset cycles.
[0020] Optionally, the specification indicator generation module is further used to:
[0021] The N×M-dimensional load pressure indicator matrix and the N×K-dimensional resource consumption indicator matrix are used as input parameters of the dimensionality reduction algorithm to obtain an M×M-dimensional load pressure transformation matrix and a K×K-dimensional resource consumption transformation matrix;
[0022] Based on the first P columns of the load pressure transformation matrix, an M×P-dimensional load pressure transformation sub-matrix is generated; based on the first Q columns of the resource consumption transformation matrix, a K×Q-dimensional resource consumption transformation sub-matrix is generated;
[0023] Based on the product of the load pressure indicator matrix and the load pressure transformation submatrix, an N×P-dimensional load pressure specification indicator matrix is generated; based on the product of the resource consumption indicator matrix and the resource consumption pressure transformation submatrix, an N×Q-dimensional resource consumption specification indicator matrix is generated.
[0024] Optionally, when the dimensionality reduction algorithm is typical association analysis, each element in the load pressure transformation matrix is the weight value of the load pressure index value multiplied by the element; each element in the resource consumption transformation matrix is the weight value of the resource consumption index value multiplied by the element.
[0025] Optionally, the dimensionality reduction is implemented based on any of the following dimensionality reduction algorithms:
[0026] Canonical Correlation Analysis, Kernel Canonical Correlation Analysis, Principal Component Analysis, Local Linear Embedding, and t-distributed Random Neighbor Embedding.
[0027] According to a third aspect of an embodiment of this specification, a computer device is provided, comprising a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor, and the processor is prompted by the machine-executable instructions to execute the method described in the first aspect.
[0028] According to a fourth aspect of the embodiments of this specification, there is provided a computer-readable storage medium having computer instructions stored thereon, wherein the computer instructions, when executed by a processor, implement the steps of the method described in the first aspect.
[0029] In the technical solution disclosed in the present invention, the inventors have found through research that the load pressure and resource consumption of the software are the two factors that have the greatest impact on its performance. Two types of indicators reflecting load pressure and resource consumption can be selected to evaluate the software performance, and each similar indicator reflecting load pressure or resource consumption can be regarded as a dimension. By reducing the dimension of a load pressure matrix storing several load pressure indicators, several load pressure indicators are fused to obtain a smaller number of load pressure standard indicator values that can evaluate the load pressure of the software, and by reducing the dimension of a resource consumption matrix storing several resource consumption indicators, several resource consumption indicators are fused to obtain a smaller number of resource consumption standard indicator values that can evaluate the resource consumption of the software, thereby evaluating the load pressure and resource consumption of the software, thereby improving the accuracy of evaluating software performance.
[0030] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 is a flowchart of a method for evaluating software performance according to an embodiment of this specification;
[0032] Figure 2 is a flowchart of another software performance evaluation method according to an embodiment of this specification;
[0033] Figure 3 is a block diagram of a software performance evaluation device according to an embodiment of this specification;
[0034] Figure 4 The figure is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present specification. DETAILED DESCRIPTION
[0035] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with one or more embodiments of this specification. Instead, they are merely examples of devices and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.
[0036] It should be noted that: in other embodiments, the steps of the corresponding method are not necessarily performed in the order shown and described in this specification. In some other embodiments, the steps included in the method may be more or less than those described in this specification. In addition, a single step described in this specification may be decomposed into multiple steps for description in other embodiments; and multiple steps described in this specification may be combined into a single step for description in other embodiments.
[0037] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0038] Software performance is a non-functional characteristic of software, characterized by the timeliness, reliability, stability, etc. of the software in completing the corresponding functions at runtime. Indicators are a measure that describes a specific object or state. They can be numbers, percentages, or other forms of representation, helping people understand and evaluate the development of a problem or field. People usually need to monitor the relevant indicators that reflect the performance of the software when it is running, so as to optimize the software in a timely manner and avoid software or even system crashes.
[0039] In the related technologies, all the collected indicators that reflect the software performance are usually directly displayed to people. However, with the rapid development of information technologies such as cloud computing, big data, and artificial intelligence, the complexity and scale of software are increasing. The monitoring of software performance also needs to consider more factors, such as user behavior, data security, etc., so that the number of indicators that need to be monitored is increasing, and the relationship between indicators becomes more complicated. Even if the related technologies use a visual way to display all indicators, it is difficult for people to find the relationship between the various indicators and the degree of impact on software performance by naked eyes. For example, the CPU utilization rate that reflects the software resource consumption increases, but the memory usage decreases. At this time, it is impossible to determine whether the overall resource consumption of the software has increased or decreased, and it is even more impossible to accurately evaluate whether the performance of the software has improved or deteriorated. Therefore, the method of directly displaying all indicators in the related technologies will make it difficult for people to accurately evaluate the performance of the software.
[0040] The inventor has found through research that the software's load pressure and resource consumption are the two factors that have the greatest impact on its performance. However, there are many indicators that reflect the software's load pressure and resource consumption, and the relationship between the indicators is also complicated. In addition, similar indicators may increase and decrease. For example, the query rate per second that reflects the load pressure has increased, but at the same time the data flow has decreased, so it is not possible to determine whether the overall load pressure of the software has increased or decreased; for example, the CPU utilization rate that reflects resource consumption has increased, but at the same time the memory usage has decreased, so it is not possible to determine whether the overall resource consumption of the software has increased or decreased. Therefore, if these two indicators are directly displayed, it is still difficult for people to evaluate the software's load pressure and resource consumption based on the indicator values by naked eyes, and it is also impossible to accurately evaluate the software's performance.
[0041] Therefore, the inventors came up with the idea that a matrix is a mathematical tool that can conveniently represent and process multidimensional data. Each similar indicator that reflects load pressure or resource consumption can be regarded as a dimension. Dimensionality reduction processing of the matrix can allow similar indicators therein to be merged to obtain fewer or even one indicator that can reflect software load pressure or resource consumption. The indicator value can be used to evaluate the software's load pressure and resource consumption, thereby improving the accuracy of evaluating software performance.
[0042] Figure 1 It is a flowchart of a method for evaluating software performance according to an embodiment of this specification, including:
[0043] Step S101, respectively collect M load pressure index values and K resource consumption index values of the target software in N preset cycles, and generate an N×M-dimensional load pressure index matrix and an N×K-dimensional resource consumption index matrix, where N is the number of the preset cycles, M is the number of the load pressure index values, and K is the number of the resource consumption index values.
[0044] Step S102, reducing the dimension of the N×M-dimensional load pressure indicator matrix to obtain N×P load pressure standard indicator values, and reducing the dimension of the N×K-dimensional resource consumption indicator matrix to obtain N×Q resource consumption standard indicator values; wherein, the P load pressure standard indicator values are obtained by fusing the M load pressure indicator values; the Q resource consumption standard indicator values are obtained by fusing the K resource consumption indicator values; wherein, P is less than M, and Q is less than K.
[0045] Step S103, evaluating the load pressure of the target software by using P load pressure specification index values of each preset period in the N preset periods, and evaluating the resource consumption of the target software by using Q resource consumption specification index values of each preset period in the N preset periods.
[0046] In one embodiment, the preset period can be set as required, such as 1 second, 30 seconds or 1 minute, and this specification does not impose any restrictions on this; when the preset period is longer, in order to improve the accuracy of the data, the preset period can also be divided into several periods, and the load pressure index values or resource consumption index values collected in the several periods can be processed using statistical methods such as taking the median, taking the average, and standardization. The final value is used as the load pressure index value or resource consumption index value collected in the preset period.
[0047] In one embodiment, the load pressure index value may include the values of indicators such as data write traffic, number of queries, number of requests, etc. that can reflect the software load pressure, and the resource consumption index value may include the values of indicators such as CPU utilization, memory usage, disk read and write volume, etc. that can reflect the software resource consumption. This specification does not impose any restrictions on this. In order to simplify the number of indicators, a representative indicator can also be selected from multiple indicators that reflect the same resources. For example, memory utilization and memory usage can both reflect memory consumption. At this time, the memory usage indicator can be selected as a representative to simplify the number of indicators and reduce the amount of data calculation.
[0048] In one embodiment, the dimensionality reduction in step S102 can be implemented based on dimensionality reduction algorithms such as canonical association analysis, kernel canonical association analysis, principal component analysis, local linear embedding, and t-distributed random neighbor embedding, and this specification does not limit this.
[0049] This embodiment reduces the dimension of a load pressure matrix storing several load pressure indicators and fuses several load pressure indicators to obtain a smaller number of load pressure specification indicator values that can better reflect the software load pressure, and reduces the dimension of a resource consumption matrix storing several resource consumption indicators and fuses several resource consumption indicators to obtain a smaller number of resource consumption specification indicator values that can better reflect the software resource consumption, so as to eliminate the limitations of a single indicator and reduce the complexity of multiple indicators, so as to more accurately evaluate the load pressure and resource consumption of the software, thereby improving the accuracy of evaluating software performance. For example, if the load pressure specification indicator value of the 2nd second is less than the load pressure specification indicator value of the 1st second, but the resource consumption specification indicator value of the 2nd second is greater than the resource consumption specification indicator value of the 1st second, it means that the software load pressure has decreased during this period, but the resource consumption has increased, and the software performance has decreased.
[0050] In one embodiment, reducing the dimension of the N×M-dimensional load pressure indicator matrix to obtain N×P load pressure standard indicator values, and reducing the dimension of the N×K-dimensional resource consumption indicator matrix to obtain N×Q resource consumption standard indicator values may include:
[0051] The N×M-dimensional load pressure index matrix and the N×K-dimensional resource consumption index matrix are used as input parameters of the dimensionality reduction algorithm to obtain the M×M-dimensional load pressure transformation matrix and the K×K-dimensional resource consumption transformation matrix;
[0052] Based on the first P columns of the load pressure transformation matrix, an M×P-dimensional load pressure transformation sub-matrix is generated; based on the first Q columns of the resource consumption transformation matrix, a K×Q-dimensional resource consumption transformation sub-matrix is generated;
[0053] Based on the product of the load pressure indicator matrix and the load pressure transformation submatrix, an N×P-dimensional load pressure specification indicator matrix is generated; based on the product of the resource consumption indicator matrix and the resource consumption pressure transformation submatrix, an N×Q-dimensional resource consumption specification indicator matrix is generated.
[0054] The inventor has found through research that there is a correlation between software load pressure and resource consumption with software performance as the hub. For example, when the load pressure remains unchanged, the better the software performance, the fewer resources consumed, and the worse the software performance, the more resources consumed. In addition, typical correlation analysis is an algorithm for mining the correlation between data. It is based on the concept of maximizing the correlation coefficient and finds two corresponding sets of linear projections for a pair of high-dimensional data sets so that the two sets of data points after projection have the greatest correlation, that is, the two sets of projection points are close to each other in the low-dimensional space.
[0055] In the scenario of this specification, when using typical association analysis as a dimensionality reduction algorithm, the corresponding load pressure transformation matrix and resource consumption transformation matrix can be sought for the load pressure indicator matrix and the resource consumption indicator matrix respectively, so that the load pressure specification indicator matrix obtained by multiplying the load pressure indicator matrix and the load pressure transformation matrix, and the resource consumption specification indicator matrix obtained by multiplying the resource consumption indicator matrix and the resource consumption transformation matrix are correlated. Among them, the load pressure specification indicator value in the first column of the load pressure specification indicator matrix and the resource consumption specification indicator value in the first column of the resource consumption specification indicator matrix are the corresponding specification indicator values when the load pressure indicator matrix and the resource consumption indicator matrix have the maximum correlation. Therefore, by using the typical association analysis dimensionality reduction algorithm according to the correlation between load pressure and resource consumption, the load pressure specification indicator value in the load pressure specification indicator matrix and the resource consumption specification indicator value in the resource consumption specification indicator matrix can be obtained, which can more accurately evaluate the load pressure and resource consumption of the software, thereby more accurately evaluating the performance of the software.
[0056] The inventors also found that when the dimensionality reduction algorithm is a typical correlation analysis, the elements in the obtained load pressure transformation matrix can be characterized as the weight of the load pressure index value multiplied by it, that is, the degree of influence of the load pressure index value multiplied by it on the load pressure specification index value, and the elements in the resource consumption transformation matrix can be characterized as the weight of the resource consumption index value multiplied by it, that is, the degree of influence on the resource consumption specification index value. Based on this, the resources associated with the load pressure value or resource consumption index value can be optimized according to the weight from large to small. For example, the weights of the three resource consumption specification index values of CPU utilization, memory usage and hard disk read and write volume decrease in turn, and the three aspects of CPU, memory and hard disk can be optimized in order from high to low priority.
[0057] In one embodiment, when the dimensionality reduction algorithm is typical association analysis, each element in the load pressure transformation matrix can be the weight value of the load pressure index value multiplied by the element; each element in the resource consumption transformation matrix can be the weight value of the resource consumption index value multiplied by the element.
[0058] As an example, let's combine Figure 2 The evaluation method of the above software performance is described in detail:
[0059] First, the M load pressure index values and K resource consumption index values of the target software can be collected once every second through the index collection and update thread, and then the collected M load pressure index values and the K resource consumption index values can be updated to the load pressure index matrix and the resource consumption index matrix respectively through the index collector. At the Nth second, the N×M-dimensional load pressure index matrix X and the N×K-dimensional resource consumption index matrix Y can be generated as shown in the following formula:
[0060]
[0061] The load pressure index matrix X and the resource consumption index matrix Y are used as the input parameters of the dimensionality reduction algorithm included in the dimensionality reduction algorithm library, such as the typical correlation analysis algorithm. The index fusion thread can be used to periodically perform calculations to obtain the M×M-dimensional load pressure transformation matrix a and the K×K-dimensional resource consumption transformation matrix b as shown in the following formula:
[0062]
[0063] Based on the first P columns of the load pressure transformation matrix a, an M×P-dimensional load pressure transformation submatrix a1 is generated as shown in the following formula; based on the first Q columns of the resource consumption transformation matrix b, a K×Q-dimensional resource consumption transformation submatrix b1 is generated as shown in the following formula:
[0064]
[0065] Based on the product of the load pressure indicator matrix X and the load pressure transformation submatrix a1, an N×P-dimensional load pressure specification indicator matrix U is generated as shown in the following formula:
[0066]
[0067] Obtain P load pressure standard index values according to the load pressure standard index matrix U, wherein the P load pressure standard index values are obtained by fusing the M load pressure index values;
[0068] Based on the product of the resource consumption indicator matrix Y and the resource consumption pressure transformation submatrix b1, the N×Q-dimensional resource consumption specification indicator matrix V is generated as shown in the following formula:
[0069]
[0070] According to the resource consumption standard indicator matrix V, Q resource consumption standard indicator values are obtained, and the Q resource consumption standard indicator values are obtained by fusing the K resource consumption indicator values;
[0071] The load pressure specification indicator values in the load pressure specification indicator matrix U can characterize the load pressure of the target software corresponding to the preset period. For example, the load pressure specification indicator values in the first row and first column of the load pressure specification indicator matrix U can be used to know the load pressure of the target software in the 1st second. Similarly, the resource consumption specification indicator values in the resource consumption specification indicator matrix V can characterize the resource consumption of the target software in the preset period. The software performance can be evaluated by the load pressure and resource consumption of the software. For example, if the load pressure specification indicator value of the 2nd second is less than the load pressure specification indicator value of the 1st second, but the resource consumption specification indicator value of the 2nd second is greater than the resource consumption specification indicator value of the 1st second, it means that the load pressure of the software has decreased during this period, but the resource consumption has increased, and the software performance has decreased.
[0072] If the resource consumption index matrix Y has three columns, which store the CPU utilization, memory usage, and disk read / write volume of the target software collected every 1 second, the three values in the first column of the resource consumption transformation matrix b represent the weights of CPU utilization, memory usage, and disk read / write volume when the correlation between the load pressure and resource consumption of the target software is the largest, that is, the influence of CPU utilization, memory usage, and disk read / write volume on the final resource consumption specification index value. If the weight of memory usage is the largest, memory optimization can be prioritized to improve the performance of the target software.
[0073] In one embodiment, in a cloud environment, the load pressure and resource consumption of the software in the cloud server can be evaluated by the above-mentioned software performance evaluation method, thereby improving the accuracy of evaluating software performance to ensure the availability and stability of the cloud server.
[0074] Figure 3 1 is a block diagram of a software performance evaluation device according to an embodiment of this specification, including:
[0075] The indicator matrix generation module 31 is used to collect M load pressure indicator values and K resource consumption indicator values of the target software in N preset periods respectively, and generate an N×M-dimensional load pressure indicator matrix and an N×K-dimensional resource consumption indicator matrix; wherein N is the number of the preset periods, M is the number of the load pressure indicator values, and K is the number of the resource consumption indicator values;
[0076] The standard indicator generation module 32 is used to reduce the dimension of the N×M-dimensional load pressure indicator matrix to obtain N×P load pressure standard indicator values, and reduce the dimension of the N×K-dimensional resource consumption indicator matrix to obtain N×Q resource consumption standard indicator values; wherein, P load pressure standard indicator values are obtained by fusing the M load pressure indicator values; Q resource consumption standard indicator values are obtained by fusing the K resource consumption indicator values; wherein, P is less than M, and Q is less than K;
[0077] The performance evaluation module 33 is used to evaluate the load pressure of the target software through P load pressure specification indicator values of each preset cycle in the N preset cycles, and to evaluate the resource consumption of the target software through Q resource consumption specification indicator values of each preset cycle in the N preset cycles.
[0078] In one embodiment, the standard index generation module 32 may also be used to: use the N×M-dimensional load pressure index matrix and the N×K-dimensional resource consumption index matrix as input parameters of the dimensionality reduction algorithm to obtain an M×M-dimensional load pressure transformation matrix and a K×K-dimensional resource consumption transformation matrix;
[0079] Based on the first P columns of the load pressure transformation matrix, an M×P-dimensional load pressure transformation sub-matrix is generated; based on the first Q columns of the resource consumption transformation matrix, a K×Q-dimensional resource consumption transformation sub-matrix is generated;
[0080] Based on the product of the load pressure indicator matrix and the load pressure transformation submatrix, an N×P-dimensional load pressure specification indicator matrix is generated; based on the product of the resource consumption indicator matrix and the resource consumption pressure transformation submatrix, an N×Q-dimensional resource consumption specification indicator matrix is generated.
[0081] In one embodiment, when the dimensionality reduction algorithm is typical association analysis, each element in the load pressure transformation matrix is the weight value of the load pressure index value multiplied by the element; each element in the resource consumption transformation matrix is the weight value of the resource consumption index value multiplied by the element.
[0082] In one embodiment, the dimensionality reduction of the standard index generation module 32 can be achieved based on dimensionality reduction algorithms such as canonical association analysis, kernel canonical association analysis, principal component analysis, local linear embedding and t-distributed random neighbor embedding, and this specification does not limit this.
[0083] Figure 4 4 is a schematic diagram of a hardware structure of a computer device according to an embodiment of this specification, wherein the computer device includes a processor 401 and a machine-readable storage medium 402 storing machine-executable instructions. The processor 401 and the machine-readable storage medium 402 can communicate via a system bus 403. Furthermore, by reading and executing the machine-executable instructions corresponding to the supply and demand forecasting logic in the machine-readable storage medium 402, the processor 401 can execute the software performance evaluation scheduling method described above.
[0084] The embodiments of the present specification also provide a computer-readable storage medium on which computer instructions are stored. When the instructions are executed by a processor, the steps of the software performance evaluation scheduling method described above are implemented.
[0085] The machine-readable storage medium 402 or computer-readable storage medium mentioned in the present disclosure can be any electronic, magnetic, optical or other physical storage device that can contain or store information, such as executable instructions, data, and the like. For example, the machine-readable storage medium 402 or computer-readable storage medium can include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be a computer-readable instruction, a data structure, a module of a program, or other data. Examples of machine-readable storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, disk storage, quantum memory, graphene-based storage medium or other magnetic storage device or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
[0086] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, a game console, a tablet computer, a wearable device or a combination of any of these devices.
[0087] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0088] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0089] The description of "specific examples" or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of this specification. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.
[0090] Those skilled in the art will readily appreciate other embodiments of the specification after considering the specification and practicing the invention claimed herein. The specification is intended to cover any variations, uses or adaptations of the specification that follow the general principles of the specification and include common knowledge or customary techniques in the art that are not claimed in the specification. The specification and examples are to be considered exemplary only, and the true scope and spirit of the specification are indicated by the following claims.
[0091] It should be understood that the present description is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present description is limited only by the appended claims.
[0092] The above description is only a preferred embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this specification should be included in the scope of protection of this specification.
Claims
1. A software performance evaluation method, comprising: Collect M load pressure index values and K resource consumption index values of the target software in N preset cycles respectively, and generate an N×M-dimensional load pressure index matrix and an N×K-dimensional resource consumption index matrix; wherein N is the number of the preset cycles, M is the number of the load pressure index values, and K is the number of the resource consumption index values; The N×M-dimensional load pressure indicator matrix is reduced in dimension to obtain N×P load pressure standard indicator values, and the N×K-dimensional resource consumption indicator matrix is reduced in dimension to obtain N×Q resource consumption standard indicator values; wherein, P load pressure standard indicator values are obtained by fusing the M load pressure indicator values; Q resource consumption standard indicator values are obtained by fusing the K resource consumption indicator values; wherein, P is less than M, and Q is less than K; The load pressure of the target software is evaluated by P load pressure specification index values of each preset cycle in the N preset cycles, and the resource consumption of the target software is evaluated by Q resource consumption specification index values of each preset cycle in the N preset cycles.
2. According to the method of claim 1, reducing the dimension of the N×M-dimensional load pressure indicator matrix to obtain N×P load pressure standard indicator values, and reducing the dimension of the N×K-dimensional resource consumption indicator matrix to obtain N×Q resource consumption standard indicator values comprises: The N×M-dimensional load pressure indicator matrix and the N×K-dimensional resource consumption indicator matrix are used as input parameters of the dimensionality reduction algorithm to obtain an M×M-dimensional load pressure transformation matrix and a K×K-dimensional resource consumption transformation matrix; Based on the first P columns of the load pressure transformation matrix, generate an M×P-dimensional load pressure transformation sub-matrix; Based on the first Q columns of the resource consumption transformation matrix, a K×Q-dimensional resource consumption transformation sub-matrix is generated; Based on the product of the load pressure indicator matrix and the load pressure transformation submatrix, an N×P-dimensional load pressure specification indicator matrix is generated; based on the product of the resource consumption indicator matrix and the resource consumption transformation submatrix, an N×Q-dimensional resource consumption specification indicator matrix is generated.
3. According to the method described in claim 2, when the dimensionality reduction algorithm is a typical correlation analysis, each element in the load pressure transformation matrix is the weight value of the load pressure index value multiplied by the element; each element in the resource consumption transformation matrix is the weight value of the resource consumption index value multiplied by the element.
4. The method according to claim 1, wherein the dimensionality reduction is implemented based on any one of the following dimensionality reduction algorithms: Canonical Correlation Analysis, Kernel Canonical Correlation Analysis, Principal Component Analysis, Local Linear Embedding, and t-distributed Random Neighbor Embedding.
5. A software performance evaluation device, comprising: An indicator matrix generation module is used to collect M load pressure indicator values and K resource consumption indicator values of the target software in N preset periods, respectively, to generate an N×M-dimensional load pressure indicator matrix and an N×K-dimensional resource consumption indicator matrix; wherein N is the number of the preset periods, M is the number of the load pressure indicator values, and K is the number of the resource consumption indicator values; A standard indicator generation module is used to reduce the dimension of the N×M-dimensional load pressure indicator matrix to obtain N×P load pressure standard indicator values, and reduce the dimension of the N×K-dimensional resource consumption indicator matrix to obtain N×Q resource consumption standard indicator values; wherein, P load pressure standard indicator values are obtained by fusing the M load pressure indicator values; Q resource consumption standard indicator values are obtained by fusing the K resource consumption indicator values; wherein, P is less than M, and Q is less than K; A performance evaluation module is used to evaluate the load pressure of the target software through P load pressure specification indicator values of each preset cycle in the N preset cycles, and to evaluate the resource consumption of the target software through Q resource consumption specification indicator values of each preset cycle in the N preset cycles.
6. The device according to claim 5, wherein the standard indicator generation module is further used for: The N×M-dimensional load pressure indicator matrix and the N×K-dimensional resource consumption indicator matrix are used as input parameters of the dimensionality reduction algorithm to obtain an M×M-dimensional load pressure transformation matrix and a K×K-dimensional resource consumption transformation matrix; Based on the first P columns of the load pressure transformation matrix, generate an M×P-dimensional load pressure transformation sub-matrix; Based on the first Q columns of the resource consumption transformation matrix, a K×Q-dimensional resource consumption transformation sub-matrix is generated; Based on the product of the load pressure indicator matrix and the load pressure transformation submatrix, an N×P-dimensional load pressure specification indicator matrix is generated; based on the product of the resource consumption indicator matrix and the resource consumption pressure transformation submatrix, an N×Q-dimensional resource consumption specification indicator matrix is generated.
7. According to the device according to claim 6, when the dimensionality reduction algorithm is typical association analysis, each element in the load pressure transformation matrix is the weight value of the load pressure index value multiplied by the element; each element in the resource consumption transformation matrix is the weight value of the resource consumption index value multiplied by the element.
8. The device according to claim 5, wherein the dimension reduction is implemented based on any one of the following dimension reduction algorithms: Canonical Correlation Analysis, Kernel Canonical Correlation Analysis, Principal Component Analysis, Local Linear Embedding, and t-distributed Random Neighbor Embedding.
9. A computer device, comprising a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor, and the processor is prompted by the machine-executable instructions to execute the method according to any one of claims 1 to 4.
10. A computer-readable storage medium having computer instructions stored thereon, wherein the computer instructions, when executed by a processor, implement the steps of the method according to any one of claims 1 to 4.
