System performance test method and device, electronic equipment and storage medium

By conducting stress testing and timing sequence analysis on the system, combined with performance prediction model, the problem of low manual evaluation efficiency in the prior art is solved, and accurate prediction of system transaction processing capabilities is achieved.

CN120492295APending Publication Date: 2025-08-15QILU SECURITIES
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510569973.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-30
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

Existing performance testing methods rely on manual evaluation, resulting in inefficient testing and inability to accurately predict system transaction processing capabilities.

Method used

By stress testing on the system, the timing sequence is obtained, the timing subsequence is divided according to the preset time window, joint feature extraction is performed, and the performance prediction model is input to determine the system's prediction transaction processing capability.

Benefits of technology

Accurate prediction of system transaction processing capabilities is achieved, and testing efficiency and accuracy are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120492295A_ABST
    Figure CN120492295A_ABST
Patent Text Reader

Abstract

The invention provides a system performance test method and device, electronic equipment and a storage medium, and the method comprises the steps: carrying out the pressure test of a system, and obtaining a time sequence corresponding to a test time period of the system; the time sequence is used for representing a plurality of test data items corresponding to the system in a plurality of unit times, and each test data item is used for representing the actual transaction processing capability of the system in the corresponding unit time; determining a plurality of time sequence subsequences corresponding to the time sequence according to a preset time window; for any time sequence sub-sequence, performing joint feature extraction on a plurality of test data items contained in the time sequence sub-sequence to obtain a sequence joint feature corresponding to the time sequence sub-sequence; and inputting the sequence joint feature corresponding to each time sequence sub-sequence into a preset performance prediction model, and determining the predicted transaction processing capability of the system according to the performance prediction model. According to the embodiment of the invention, the transaction processing capability of the system can be accurately predicted.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of software testing, and in particular to a system performance testing method and device, an electronic device, and a computer-readable storage medium. Background Art

[0002] Performance testing is an important part of the software testing process. Through performance testing, we can evaluate the system's transaction processing capabilities, discover system bottlenecks, optimize system performance, and thus improve user experience.

[0003] In existing performance testing methods, test engineers can only determine the system's predicted transaction processing capability through manual evaluation based on the test data obtained during the system testing process. This not only has low testing efficiency, but also fails to accurately predict the system's transaction processing capability. Summary of the Invention

[0004] The present disclosure provides a system performance testing method and device, electronic equipment, and computer-readable storage medium, which can extract features based on the timing sequence corresponding to the system during the test period to achieve accurate prediction of the system's transaction processing capability.

[0005] In a first aspect, the present disclosure provides a method for testing system performance, which includes: performing a stress test on the system to obtain a timing sequence corresponding to the system in a test period; wherein the test period includes multiple unit times, and the timing sequence is used to characterize multiple test data items corresponding to the system in the multiple unit times, and each test data item is used to characterize the actual transaction processing capability of the system in the corresponding unit time; according to a preset time window, determining multiple timing subsequences corresponding to the timing sequence, each timing subsequence is used to characterize multiple test data items corresponding to the time length of the preset time window; for any timing subsequence, performing joint feature extraction on the multiple test data items contained in the timing subsequence to obtain a sequence joint feature corresponding to the timing subsequence; inputting the sequence joint feature corresponding to each timing subsequence into a preset performance prediction model, and determining the predicted transaction processing capability of the system according to the performance prediction model.

[0006] In a second aspect, the present disclosure provides a system performance testing device, which includes: an acquisition module for performing a stress test on the system and obtaining a timing sequence corresponding to the system in a test period; wherein the test period includes multiple unit times, and the timing sequence is used to characterize multiple test data items corresponding to the system in multiple unit times, and each test data item is used to characterize the actual transaction processing capability of the system in the corresponding unit time; a division module for determining multiple timing subsequences corresponding to the timing sequence according to a preset time window, and each timing subsequence is used to characterize multiple test data items corresponding to the time length of the preset time window; an extraction module for performing joint feature extraction on the multiple test data items contained in any timing subsequence to obtain a sequence joint feature corresponding to the timing subsequence; a prediction module for inputting the sequence joint feature corresponding to each timing subsequence into a preset performance prediction model, and determining the predicted transaction processing capability of the system according to the performance prediction model.

[0007] In a third aspect, the present disclosure provides an electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores one or more computer programs executable by the at least one processor, and one or more of the computer programs are executed by the at least one processor to enable the at least one processor to perform the above-mentioned system performance testing method.

[0008] In a fourth aspect, the present disclosure provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the above-mentioned system performance testing method when executed by a processor.

[0009] The method for testing the system performance provided by the embodiment of the present disclosure is as follows: first, a stress test is performed on the system, and a timing sequence corresponding to the system in the test period is obtained, where the timing sequence is used to characterize a plurality of test data items corresponding to a plurality of unit times of the system, and each test data item is used to characterize the actual transaction processing capability of the system in the corresponding unit time; secondly, a plurality of timing subsequences corresponding to the timing sequence are determined according to a preset time window, and each timing subsequence is used to characterize a plurality of test data items corresponding to the time length of the preset time window; then, for any timing subsequence, a joint feature extraction is performed on the plurality of test data items contained in the timing subsequence to obtain a sequence joint feature corresponding to the timing subsequence; finally, the sequence joint feature corresponding to each timing subsequence is input into a preset performance prediction model, thereby determining the predicted transaction processing capability of the system according to the performance prediction model. It can be seen that the method for testing the system performance provided by the embodiment of the present disclosure can jointly analyze the sequence joint features of each timing subsequence corresponding to the system according to the performance prediction model to achieve an accurate prediction of the transaction processing capability of the system.

[0010] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The accompanying drawings are used to provide a further understanding of the present disclosure and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the present disclosure and do not constitute a limitation of the present disclosure. The above and other features and advantages will become more apparent to those skilled in the art by describing detailed example embodiments with reference to the accompanying drawings. In the accompanying drawings:

[0012] Figure 1 This is a time series diagram of the transaction processing capability of the system under test;

[0013] Figure 2 An application scenario diagram of the system performance testing method and apparatus provided in an embodiment of the present disclosure;

[0014] Figure 3 A flowchart of a system performance testing method provided in an embodiment of the present disclosure;

[0015] Figure 4 A schematic diagram of a system performance testing method provided for this example;

[0016] Figure 5 This is a schematic diagram of the test platform architecture;

[0017] Figure 6 A block diagram of a system performance testing device provided in an embodiment of the present disclosure;

[0018] Figure 7 A block diagram of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0019] To enable those skilled in the art to better understand the technical solutions of the present disclosure, exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding. These details should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0020] In the absence of conflict, the various embodiments of the present disclosure and the various features therein may be combined with each other.

[0021] As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0022] The terms used herein are only used to describe specific embodiments and are not intended to limit the present disclosure. As used herein, the singular forms "a" and "the" are also intended to include the plural forms, unless the context clearly indicates otherwise. It will also be understood that when the terms "comprising" and / or "made of" are used in this specification, the presence of the features, wholes, steps, operations, elements and / or components is specified, but the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or groups thereof is not excluded. Similar words such as "connected" or "connected" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect.

[0023] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted as having an idealized or overly formal meaning unless expressly defined as such herein.

[0024] In the technical solutions disclosed herein, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals. The use of user data in this technical solution complies with relevant national laws and regulations (for example, the "Information Security Technology Personal Information Security Specification", etc.). For example: corresponding prescribed measures are taken to control access to personal information; the display of personal information is subject to prescribed restrictions; the purpose of using personal information does not exceed the scope of direct or reasonable connection; when using personal information, clear identity reference is eliminated to avoid precise positioning of specific individuals.

[0025] In existing performance testing methods, a time series graph of the system's transaction processing capability is often generated so that test engineers can view the changing trend of the transaction processing capability of the tested system through the graph, thereby analyzing the predicted transaction processing capability of the tested system. Figure 1 This is a time series diagram of the transaction processing capability of the system under test, refer to Figure 1 The horizontal axis represents the test time of the system under test, and the vertical axis represents the transaction processing capacity of the system under test during that test time, such as the TPS (Transactions Per Second) value. Test engineers need to manually analyze the changing patterns of the curves in the timing diagram to estimate the system's predicted transaction processing capacity, such as a maximum TPS level of around 15,000. This performance testing method is not only time-consuming and labor-intensive, but can also result in inaccurate predicted transaction processing capacity.

[0026] In view of this, the embodiment of the present disclosure provides a method for testing system performance. First, a stress test is performed on the system, and a timing sequence corresponding to the system in the test period is obtained. The timing sequence is used to characterize multiple test data items corresponding to the system in multiple unit times, and each test data item is used to characterize the actual transaction processing capacity of the system in the corresponding unit time; secondly, according to a preset time window, multiple timing subsequences corresponding to the timing sequence are determined, and each timing subsequence is used to characterize multiple test data items corresponding to the time length of the preset time window; then, for any timing subsequence, a joint feature extraction is performed on the multiple test data items contained in the timing subsequence to obtain a sequence joint feature corresponding to the timing subsequence; finally, by inputting the sequence joint feature corresponding to each timing subsequence into a preset performance prediction model, the predicted transaction processing capacity of the system is determined according to the performance prediction model. It can be seen that the method for testing system performance provided by the embodiment of the present disclosure can jointly analyze the sequence joint features of each timing subsequence corresponding to the system according to the performance prediction model to achieve accurate prediction of the system transaction processing capacity.

[0027] Figure 2This is an application scenario diagram of the system performance testing method and device provided in the embodiments of the present disclosure.

[0028] like Figure 2 As shown, an application scenario of an embodiment of the present disclosure may include a terminal device 101, a network 103, and a server 102. The network 103 is used as a medium for providing a communication link between the terminal device 101 and the server 102. The network 103 may include various connection types, such as wired or wireless communication links or fiber optic cables.

[0029] The user can use the terminal device 101 to interact with the server 102 via the network 103 to receive or send messages, etc. Various communication client applications can be installed on the terminal device 101, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples).

[0030] The terminal device 101 may be any electronic device having a display screen and supporting web browsing, including but not limited to a smart phone, a tablet computer, a laptop computer, a desktop computer, and the like.

[0031] The server 102 may be a server that provides various services, such as a background management server (for example only) that supports websites browsed by users using the terminal device 101. The background management server may analyze and process received user requests and other data, and feed back the processing results (e.g., web pages, information, or data obtained or generated according to user requests) to the terminal device.

[0032] It should be noted that the system performance testing method and apparatus provided in the embodiments of the present disclosure can be executed by the server 102. Accordingly, the system performance testing method and apparatus provided in the embodiments of the present disclosure can be set in the server 102. The system performance testing method and apparatus provided in the embodiments of the present disclosure can also be executed by a server or server cluster that is different from the server 102 and can communicate with the terminal device 101 and / or the server 102. Accordingly, the system performance testing method and apparatus provided in the embodiments of the present disclosure can also be set in a server or server cluster that is different from the server 102 and can communicate with the terminal device 101 and / or the server 102.

[0033] It should be understood that Figure 2 The number of terminal devices, networks and servers in the embodiment is merely illustrative. Any number of terminal devices, networks and servers may be provided as required.

[0034] Figure 3 This is a flow chart of a method for testing system performance provided by an embodiment of the present disclosure. Figure 3 , the method comprising:

[0035] Step S310: Perform a stress test on the system to obtain a timing sequence corresponding to the system during the test period.

[0036] Among them, the system is the test object for stress testing. It can be an executable entity composed of software, hardware, network, etc., such as a Web application, service platform, software system, etc., which can carry business logic in a specific environment to facilitate verification of its transaction processing capabilities.

[0037] The test period refers to the time range during which the system is stress-tested. A test period can include multiple time units. A time unit is the time unit used to monitor the dynamic changes in the system's transaction processing capacity within the test period. Each time unit corresponds to a test data item, which represents the system's actual transaction processing capacity within that time unit.

[0038] It should be noted that the test period and the duration corresponding to the unit time can be adaptively set according to actual test needs, and the embodiments of the present disclosure do not limit this.

[0039] Exemplarily, the test period is from 9:00 to 10:00, and a unit time is determined every 1 minute. Therefore, there are 60 unit times corresponding to this test period, such as 9:01 and 9:02. Each unit time corresponds to a test data item, which is used to characterize the actual transaction processing capacity of the system corresponding to the unit time.

[0040] It should be noted that the actual transaction processing capability of the system can be represented by associated data values related to the transaction processing capability, for example, the number of transactions processed by the system per second or per minute, such as the TPS value, or the total number of transactions actually processed by the system, etc. The embodiments of the present disclosure do not limit this.

[0041] Accordingly, the time series sequence corresponding to the test period of the system includes the test data items corresponding to each unit time in the test period. Furthermore, the multiple test data items included in the time series sequence can be arranged in sequence according to the time sequence corresponding to the unit time.

[0042] Step S320: determining a plurality of time series subsequences corresponding to the time series sequence according to the preset time window, wherein each time series subsequence is used to represent a plurality of test data items corresponding to the time length of the preset time window.

[0043] The time series subsequence is a local segment divided from the time series sequence according to a preset time window. The length of the preset time window is used to determine the number of test data items included in the time series subsequence.

[0044] In an optional implementation, the preset time window can be a preset multiple of the unit time. For example, if a unit time is determined every 5 minutes, the time length corresponding to the preset time window is 30 minutes. Thus, one preset time window can correspond to 6 unit times, and accordingly, one time series subsequence can be composed of 6 test data items corresponding to 6 unit times.

[0045] It should be noted that the preset time window can be one or more. Accordingly, when there are multiple preset time windows, the time length corresponding to each preset time window is different, and the number of test data items contained in the multiple time series subsequences may also be different.

[0046] It should also be noted that there may be interleaved data items between multiple time series subsequences, and this embodiment of the present disclosure does not impose any limitation on this.

[0047] Exemplarily, the time series sequence includes test data items z1, z2, z3, z4, and z5 corresponding to unit times t1, t2, t3, t4, and t5. Based on the preset time window, multiple time series subsequences are determined: time series subsequence T1 {z1, z2, z3}, time series subsequence T2 {z2, z3, z4}, and time series subsequence T3 {z3, z4, z5}. Thus, there are cross-test data items z2 and z3 between T1 and T2, and cross-test data items z3 and z4 between T2 and T3.

[0048] Step S330: for any time series subsequence, perform joint feature extraction on multiple test data items contained in the time series subsequence to obtain a sequence joint feature corresponding to the time series subsequence.

[0049] Among them, according to preset indicators, the indicator features corresponding to multiple test data items contained in the time series subsequence can be extracted. Correspondingly, the sequence joint features can be determined based on the indicator features corresponding to the multiple test data items. For example, polynomial fitting is performed on the multiple test data items contained in the time series subsequence to obtain the polynomial fitting features, and the time information features corresponding to the multiple test data items are extracted, etc., so as to obtain the sequence joint features corresponding to the time series subsequence based on the polynomial fitting features and the time information features. The embodiments of the present disclosure are not limited to this.

[0050] Step S340: inputting the sequence joint features corresponding to each time series subsequence into a preset performance prediction model, and determining the predicted transaction processing capability of the system according to the performance prediction model.

[0051] Among them, the system's predicted transaction processing capability is used to characterize the system's transaction processing potential, such as the system's maximum TPS level value, or the maximum number of transactions that the system can process within a preset time.

[0052] In order to improve the data accuracy of the system's predicted transaction processing capability, the predicted transaction processing capability should be determined by analyzing and evaluating the changing trends and volatility of each test data item in the time series.

[0053] It can be seen that the difference between the predicted transaction processing capacity in the embodiment of the present disclosure and the actual transaction processing capacity mentioned above is that the actual transaction processing capacity is an observed value, while the predicted transaction processing capacity is a quantitative evaluation value obtained by analyzing and evaluating the actual transaction processing capacity based on the performance prediction model.

[0054] Among them, the preset performance prediction model is a trained time series data prediction model, such as the Ridge regression model, LSTM (long short-term memory network), Transformer model, etc.

[0055] In an optional implementation, the preset performance prediction model can be trained in the following manner: obtaining a training time series sequence corresponding to the system, wherein the training time series sequence includes multiple training test data items corresponding to multiple unit times; determining multiple training time series subsequences corresponding to the training time series sequence based on a preset time window, each time series subsequence is used to represent multiple training test data items corresponding to the time length of the preset time window; for any training time series subsequence, performing joint feature extraction on the multiple training test data items contained in the training time series subsequence to obtain training sample features corresponding to the training time series subsequence; inputting the training sample features corresponding to each training time series subsequence into the initial performance prediction model to obtain a transaction processing capacity prediction value predicted by the model, comparing the transaction processing capacity prediction value with the transaction processing capacity label value corresponding to the training time series sequence, and optimizing the training parameters of the initial performance prediction model based on the comparison results to obtain a preset performance prediction model.

[0056] The initial performance prediction model can be a time series data prediction model, such as a Ridge regression model, an LSTM (Long Short-Term Memory Network), a Transformer model, etc., which is not limited in the present embodiment. The training sample features corresponding to the training time series subsequences are input into the initial performance prediction model, and parameter tuning is performed to train the optimal performance prediction model, i.e., the preset performance prediction model, so as to determine the predicted transaction processing capability of the system based on the preset performance prediction model.

[0057] The embodiment of the present disclosure provides a method for testing system performance. First, a stress test is performed on the system, and a timing sequence corresponding to the system in the test period is obtained. The timing sequence is used to characterize multiple test data items corresponding to the system in multiple unit times, and each test data item is used to characterize the actual transaction processing capacity of the system in the corresponding unit time; secondly, according to a preset time window, multiple timing subsequences corresponding to the timing sequence are determined, and each timing subsequence is used to characterize multiple test data items corresponding to the time length of the preset time window; then, for any timing subsequence, a joint feature extraction is performed on the multiple test data items contained in the timing subsequence to obtain a sequence joint feature corresponding to the timing subsequence; finally, by inputting the sequence joint feature corresponding to each timing subsequence into a preset performance prediction model, the predicted transaction processing capacity of the system is determined according to the performance prediction model. It can be seen that the method for testing system performance provided by the embodiment of the present disclosure can jointly analyze the sequence joint features of each timing subsequence corresponding to the system according to the performance prediction model to achieve accurate prediction of the system transaction processing capacity.

[0058] In an optional implementation, multiple time series subsequences corresponding to the time series sequence are determined based on a preset time window, including: for any test data item included in the time series sequence, determining the time range corresponding to the time series subsequence with the test data item as the starting data based on the unit time corresponding to the test data item and the time length of the preset time window; in the time series sequence, searching for associated test data items whose unit time is within the time range, and determining the time series subsequence with the test data item as the starting data based on the associated test data items.

[0059] For example, for any test data item corresponding to the unit time t i , define a preset time window W i The time length of the preset time window corresponds to m unit time. Correspondingly, the time range of the time series subsequence starting with the test data item is t i to t i+m-1 , so that we can calculate the unit time t i to t i+m-1 The corresponding associated test data item z i to z i+m-1 , determine the time series subsequence starting with the test data item.

[0060] It should be noted that, for any test data item, the corresponding preset time window may be the same or different, and the embodiments of the present disclosure do not limit this. It should also be noted that, when determining a timing subsequence, a timing subsequence with the test data item as the starting data may be determined for each test data item, or only some test data items may be selected, and timing subsequences with the test data item as the starting data may be determined for only some test data items.

[0061] In the embodiment of the present disclosure, by constructing a time series subsequence with the test data item as the starting data for any test data item, the fine granularity of the division of the time series subsequence is improved, thereby improving the time series fine granularity of the sequence joint feature.

[0062] In one optional implementation, to improve the feature representation capability of sequence joint features, the sequence joint features corresponding to the time series subsequences can be obtained by extracting indicator features corresponding to the time series subsequences and performing high-order transformations on the indicator features. Accordingly, joint feature extraction is performed on multiple test data items contained in the time series subsequences to obtain the sequence joint features corresponding to the time series subsequences, including: extracting indicator features corresponding to the multiple test data items contained in the time series subsequences according to preset indicators; and performing high-order transformations on the indicator features to obtain the sequence joint features corresponding to the time series subsequences.

[0063] The preset indicators include at least one of a polynomial fitting indicator, a time information indicator, and a numerical variation indicator. The polynomial fitting indicator is an indicator parameter used to describe the polynomial fitting characteristics corresponding to the multiple test data items contained in the time series subsequence. The time information indicator is an indicator parameter used to describe the time distribution characteristics corresponding to the multiple test data items contained in the time series subsequence, such as the unit time corresponding to the multiple test data items. The numerical variation indicator is an indicator parameter used to describe the data value fluctuation characteristics corresponding to the multiple test data items contained in the time series subsequence.

[0064] Thus, by extracting features from the multiple test data items contained in the time series subsequence according to the preset indicators, the indicator features corresponding to the time series subsequence can be obtained. It should be noted that when there are multiple preset indicators, the indicator features are composed of the indicator feature items corresponding to each preset indicator. For example, the indicator features are composed of the indicator feature items corresponding to the polynomial fitting indicator, the time information indicator, and the numerical change indicator.

[0065] Among them, the high-order transformation of the indicator features refers to generating high-order terms or interaction terms of the indicator features to capture the potential nonlinear relationships and complex interaction effects in the features, thereby improving the expressive power of the features. For example, for the indicator feature X = {x1, x2, ..., x n}, where x1, x2, ... x nFor each indicator feature item that constitutes the indicator feature, high-order features, that is, sequence joint features, can be obtained by performing power operations, combined products, etc. on the indicator features, such as x1 2 ,x1x2,x2 3 wait.

[0066] It can be seen that the embodiment of the present disclosure first extracts the indicator features, i.e., basic features, of each test data item in the time series subsequence, thereby improving the feature diversity of the sequence joint features. Then, by performing high-order transformation on the basic features, the final sequence joint features are obtained, so that the complex nonlinear relationships and interactions between the basic features can be captured, thereby improving the adaptability of the sequence joint features to complex transaction processing capability prediction scenarios, thereby improving the prediction effect of the performance prediction model on transaction processing capability.

[0067] In an optional implementation, when the preset indicator includes a polynomial fitting indicator, the indicator feature includes: an indicator feature item corresponding to the polynomial fitting indicator; according to the preset indicator, extracting the indicator features corresponding to multiple test data items contained in the time series subsequence, including: determining the polynomial fitting order corresponding to the time series subsequence according to the polynomial fitting indicator; performing polynomial fitting on the multiple test data items contained in the time series subsequence according to the polynomial fitting order to obtain a fitting coefficient corresponding to the polynomial fitting order; and determining the indicator feature item corresponding to the polynomial fitting indicator according to the fitting coefficient.

[0068] The polynomial fitting index may include a correspondence between the number of data items of different test data items and the polynomial fitting order, so that the polynomial fitting order corresponding to the time series subsequence can be determined according to the polynomial fitting index.

[0069] The polynomial fit order represents the degree of the highest-order term in the polynomial. A polynomial fit order that is too high can lead to overfitting. For example, a quartic polynomial may locally coincide with data points but globally deviate from the true trend. A polynomial fit order that is too low can lead to underfitting, such as a linear model failing to capture nonlinear fluctuations. Therefore, the polynomial fit order can be determined based on the number of test data items in the time series subsequence.

[0070] Furthermore, after determining the polynomial fitting order, a polynomial fitting can be performed on multiple test data items included in the time series subsequence according to the polynomial fitting order. For example, the unit time corresponding to the test data item is used as the independent variable, and the data value of the test data item is used as the dependent variable, thereby obtaining fitting coefficients corresponding to the polynomial fitting order. The fitting coefficients are the coefficients corresponding to the independent variables in the fitted polynomial.

[0071] For example, when the polynomial fitting order is 2, the fitted polynomial is y=a0x2 +a1x+a2, where a0, a1, and a2 are fitting coefficients. Accordingly, the fitting coefficients can be used as the characteristic item corresponding to the polynomial fitting index.

[0072] For example, a polynomial fitting is performed on multiple test data items in a time series subsequence according to a polynomial fitting order n, and n+1 fitting coefficients are obtained and recorded as a0, a1, ..., a n , and take the fitting coefficient as the indicator feature item corresponding to the polynomial fitting index in the indicator feature.

[0073] In the embodiment of the present disclosure, by performing polynomial fitting on the test data items in the time series subsequence and using the fitting coefficient as the indicator characteristic item, the intrinsic data change pattern corresponding to the actual transaction processing capacity represented by the test data items in the time series subsequence can be effectively extracted, so that the performance prediction model can capture the data change pattern of the time series subsequence, thereby improving the model's prediction accuracy for predicting transaction processing capacity.

[0074] In an optional implementation, when the preset indicator includes a numerical change indicator, the indicator feature includes: an indicator feature item corresponding to the numerical change indicator; according to the preset indicator, extracting the indicator features corresponding to multiple test data items contained in the time series subsequence, including: finding the maximum test data item contained in the time series sequence, comparing the numerical difference between each test data item contained in the time series subsequence and the maximum test data item, and obtaining a first indicator feature item corresponding to the numerical change indicator in the indicator feature based on the numerical difference; calculating the data discreteness between the multiple test data items contained in the time series subsequence, and obtaining a second indicator feature item corresponding to the numerical change indicator in the indicator feature based on the data discreteness.

[0075] The maximum test data item contained in the time series is the test data item with the largest value. The numerical difference between each test data item contained in the time series subsequence and the maximum test data item can be compared by calculating the data difference / data ratio between the test data item and the maximum test data item.

[0076] For example, when the test data item is represented by TPS value, any unit time t in the time series subsequence i The corresponding test data item is TPS(t i ), the corresponding maximum test data item in the time series is the maximum TPS value, which is recorded as TPS max , then the difference between the two values can be Therefore, it is used as the first indicator feature item corresponding to the numerical change indicator.

[0077] The data dispersion between the multiple test data items included in the time series subsequence is used to characterize the degree of data dispersion between the multiple test data items. For example, the data dispersion can be determined by calculating the standard deviation, variance, etc. between the multiple test data items. For example, by calculating the standard deviation σ between each test data item in the time series subsequence i , and obtain the data dispersion, which is then used as the second indicator feature item corresponding to the numerical change indicator in the indicator feature.

[0078] In the embodiment of the present disclosure, by comparing the numerical difference between each test data item and the maximum test data item, and calculating the data dispersion between the test data items, and constructing indicator feature items based on the data difference and data dispersion, the sequence joint feature can effectively characterize the relative distribution and fluctuation characteristics of each test data item, thereby enabling the performance prediction model to effectively capture the data change scale of each test data item to improve the prediction accuracy.

[0079] In an optional implementation, when the preset indicator includes a time information indicator, the indicator feature includes: an indicator feature item corresponding to the time information indicator; according to the preset indicator, extracting the indicator features corresponding to multiple test data items contained in the time series subsequence, including: extracting the unit time corresponding to each test data item contained in the time series subsequence, and determining the indicator feature item corresponding to the time information indicator based on the unit time corresponding to each test data item.

[0080] Among them, the unit time can be directly vectorized to obtain the indicator feature item corresponding to the time information indicator, or the index information corresponding to the unit time in the time series can be determined, thereby determining the indicator feature item corresponding to the time information indicator based on the index information. The embodiments of the present disclosure do not limit this.

[0081] In the embodiment of the present disclosure, by determining the indicator feature item corresponding to the time information indicator based on the unit time corresponding to the test data item, the structured feature construction of the time dimension is achieved, thereby enhancing the performance prediction model's ability to capture the inherent laws of the test data item.

[0082] In an optional implementation, the indicator feature includes multiple indicator feature items, and the indicator feature is subjected to a high-order transformation to obtain a sequence joint feature corresponding to the time series subsequence, including: cross-combining the multiple indicator feature items included in the indicator feature according to a preset cross-term transformation order to obtain a high-order cross-term corresponding to the indicator feature; for each indicator feature item, generating a high-order polynomial corresponding to the indicator feature item according to a preset polynomial transformation order; and obtaining a sequence joint feature corresponding to the time series subsequence based on the high-order cross-term and the high-order polynomial.

[0083] The preset cross-term transformation order is used to characterize the cross dimension of the feature. For example, when the preset cross-term transformation order is 3, the indicator feature items are subjected to a three-dimensional cross combination (such as a cross product) to generate a 3rd-order cross term.

[0084] For example, for the above indicator feature X={x1,x2,……,x n The resulting third-order cross terms can be x1x2x3, x1x2x4, x1x3x4, x2x3x4, and so on. The order of the cross term transformation determines the depth of expression of the combined effects between the indicator feature terms. The higher the order, the stronger the cross term's ability to represent complex relationships.

[0085] The preset polynomial transformation order is used to represent the power corresponding to the polynomial. It should be noted that when generating a high-order polynomial based on the preset polynomial transformation order, only the polynomial corresponding to the transformation order can be generated, or higher-order polynomials corresponding to a lower-order polynomial than the preset polynomial transformation order can be generated simultaneously.

[0086] For example, for the above indicator feature X={x1,x2,……,x n}, when the preset polynomial transformation order is 3, only 3rd order polynomial can be generated, such as x1 3 、x2 3 、x3 3 etc., and can also generate higher-order polynomials below 3rd order, i.e. 2nd order polynomials, such as x1 2 、x2 2 、x3 2 wait.

[0087] Therefore, based on the high-order cross terms and high-order polynomials, the sequence joint features corresponding to the time series subsequences can be obtained.

[0088] In the disclosed embodiment, by generating high-order cross terms and high-order polynomials corresponding to the indicator features, the feature space can be expanded, the deep nonlinear correlations between the indicator feature items can be revealed, and the dynamic interaction modeling between the indicator feature items can be realized, so that the performance prediction model can learn more complex nonlinear relationships and improve the prediction performance of the model.

[0089] For ease of understanding, the following lists the sequence joint features X corresponding to a time subsequence i Example:

[0090]

[0091] Among them, p is the preset polynomial transformation order, q is the preset cross-term transformation order. n is the polynomial fitting order, a0, a1, ..., a n is the fitting coefficient. iis the standard deviation corresponding to each test data item in the time series subsequence, is any unit time t in the time series subsequence i The corresponding test data item TPS(t i ) corresponds to the maximum test data item TPS in the time series max The numerical difference between them, i is the unit time t corresponding to each test data item i The index value of is the high-order cross term corresponding to the indicator feature, that is:

[0092]

[0093] It should be noted that in addition to the above examples, the sequence joint features can also have multiple feature composition forms, which are not limited in the embodiments of the present disclosure. For example, the sequence joint features only include high-order polynomials and high-order cross terms corresponding to the fitting coefficients.

[0094] It should also be noted that, in the case of a training performance prediction model, the training sample features corresponding to the training time series sequence can be obtained by referring to the above-mentioned sequence joint feature construction method. That is, performing joint feature extraction on multiple test data items contained in the training time series subsequence to obtain the training sample features corresponding to the training time series subsequence can include: extracting training indicator features corresponding to the multiple training test data items contained in the training time series subsequence according to preset indicators; and performing high-order transformation on the training indicator features to obtain the training sample features corresponding to the training time series subsequence; wherein the preset indicators include at least one of a polynomial fit indicator, a time information indicator, and a numerical change indicator.

[0095] The specific implementation methods of extracting training indicator features and performing high-order transformation on the training indicator features can refer to the above description of extracting indicator features and performing high-order transformation on the indicator features, and will not be repeated here.

[0096] In an optional implementation, in order to improve the sequence quality of the timing sequence corresponding to the test period and avoid including invalid stress test data in the timing sequence, when stress testing the system, the transaction processing capacity can be dynamically predicted through a performance prediction model to obtain the intermediate value of the transaction processing capacity prediction. Based on the fluctuation of the intermediate value of the transaction processing capacity prediction, the number of stress threads to be subsequently stress tested in the test script can be dynamically adjusted, so that in subsequent stress tests, stress tests can be performed based on the updated number of stress threads to obtain a complete timing sequence.

[0097] Accordingly, the test period includes multiple test sub-periods, each test sub-period includes at least one unit time, the timing sequence includes a timing sequence corresponding to each test sub-period, and the system is stress tested. Obtaining the timing sequence corresponding to the system in the test period includes: for the i-th test sub-period, according to the number of stress threads corresponding to each unit time in the i-th test sub-period in the test script, the system is stress tested, and the timing sequence corresponding to the system in the i-th test sub-period is obtained; according to the performance prediction model and the timing sequence corresponding to the i-th test sub-period, the i-th transaction processing capacity prediction value is obtained; when the difference in predicted value between the i-th transaction processing capacity prediction value and the im-th transaction processing capacity prediction value is less than a preset threshold, the number of stress threads corresponding to the i+n-th test sub-period in the test script is updated to reduce the number of stress threads corresponding to the i+n-th test sub-period, wherein i, m, and n are natural numbers.

[0098] The number of stress threads is used to adjust the intensity of concurrent requests during stress testing, defining the degree of stress during the test. Before reaching a system bottleneck, the number of requests sent to the system per unit time increases with the number of stress threads. However, when reaching a system bottleneck, the number of requests sent to the system per unit time may remain constant or even decrease as stress threads increase. Therefore, the relationship between the number of stress threads and the number of requests sent to the system per unit time depends on the current system load.

[0099] It should be noted that the test script includes the number of stress threads corresponding to multiple unit times, so that when the stress test is actually performed, the system can be dynamically stress tested according to the number of stress threads corresponding to each unit time.

[0100] It should also be noted that during stress testing, a daemon process can be set up to predict transaction processing capacity at regular intervals (i.e., test sub-periods) based on the performance prediction model and the sequence characteristics corresponding to the currently obtained time series. Accordingly, the length of each test sub-period can be determined based on the inference speed of the performance prediction model. Thus, for the i-th test sub-period, a stress test is performed based on the number of stress threads corresponding to the i-th test sub-period in the test script, resulting in the time series corresponding to the i-th test sub-period.

[0101] The i-th transaction processing capacity prediction value can be predicted using the performance prediction model and the time series corresponding to the i-th test sub-period. This predicted value is the predicted median value of the transaction processing capacity, representing the transaction processing capacity value predicted based on the partial time series during the stress test.

[0102] It should be noted that when predicting the transaction processing capacity for the i-th test sub-period based on the performance prediction model, the prediction can be made based on the sequence features corresponding to all currently obtained time series, that is, based on the time series corresponding to the i-th test sub-period and the test sub-periods before it. The feature extraction method for the time series can refer to the feature extraction method for the time series corresponding to the above-mentioned test period and is not further described here.

[0103] For example, for the 1st to 3rd test sub-periods, the corresponding time series are sequence 1 to sequence 3. Accordingly, when predicting for the 3rd test sub-period, the feature extraction method for the time series of the test period can be used for each sequence from sequence 1 to sequence 3 to obtain the sequence features corresponding to each sequence. Then, the sequence features corresponding to all current sequences are input into the performance prediction model to obtain the third transaction processing capacity prediction value.

[0104] In an optional implementation, before obtaining the i-th transaction processing capacity prediction value based on the performance prediction model and the timing sequence corresponding to the i-th test sub-period, it can also be determined whether there is an update to the number of stress threads corresponding to the i-th test sub-period in the test script. If there is an update to the number of stress threads, there is no need to obtain the i-th transaction processing capacity prediction value based on the performance prediction model and the timing sequence corresponding to the i-th test sub-period.

[0105] In the embodiment of the present disclosure, when there is an update in the number of stress threads corresponding to the i-th test sub-period, it indicates that the system has reached the test bottleneck before the i-th test sub-period. In this case, there is no need to predict the median value of the transaction processing capacity for the i-th test sub-period, and it is only necessary to stress test the system according to the updated number of stress threads.

[0106] If the number of stress threads corresponding to the i-th test sub-period is not updated, it is necessary to predict the i-th transaction processing capacity prediction value and compare it with the im-th transaction processing capacity prediction value to determine the difference in their prediction values. If the difference in the prediction values is less than the preset threshold, it is determined that the system has reached the test bottleneck and the number of stress threads corresponding to the i+n-th test sub-period in the test script is reduced. If the difference in the prediction values is not less than the preset threshold, the number of stress threads in the subsequent test sub-periods is not updated, that is, for the i+n-th test sub-period, the system is still stress tested according to the original number of stress threads in the test sub-period in the test script.

[0107] The values of m and n can be adaptively set based on actual adjustment needs. For example, if there are 10 test sub-periods and i is 5, then m and n can be any value less than 5. This allows for a difference comparison based on one or more transaction processing capacity predictions before the i-th test sub-period. If the system reaches a test bottleneck, the number of stress threads corresponding to one or more test sub-periods after the i-th test sub-period can be reduced.

[0108] An exemplary process for adjusting the number of stress threads is as follows: Assume that the test script begins executing, and the number of stress threads increases in a step-by-step manner. During the stress test, a daemon process executes periodic calculations (i.e., for each test sub-period) to generate a predicted transaction processing capacity value y-hat based on the performance prediction model and the current feature vector. As the stress test progresses, y-hat itself becomes a time series. Therefore, for the i-th test sub-period, if it is determined that y-hat varies only slightly over time (for example, given an observation window m, the coefficient of variation of the y-hat values corresponding to the i-th test sub-period and the m preceding test sub-periods does not exceed a preset threshold ∈. The threshold ∈ represents a tolerance and can be set based on business needs), the system is considered to have reached a bottleneck, and the number of stress threads no longer needs to be increased in a step-by-step manner. Therefore, the number of stress threads corresponding to subsequent test sub-periods can be reduced until the number of threads is reduced to 0, and the stress test ends, ultimately resulting in a time series corresponding to a complete test period.

[0109] In an optional implementation method, the number of stress threads corresponding to the i+nth test sub-period in the test script is updated, including: determining the peak number of stress threads based on the number of stress threads corresponding to each unit time in the i-th test sub-period; and updating the number of stress threads corresponding to each unit time in the i+nth test sub-period based on the peak number of stress threads, so that the number of stress threads corresponding to each unit time in the i+nth test sub-period is less than the peak number of stress threads.

[0110] Among them, the peak number of stress threads is used to characterize the maximum number of stress threads in the updated test script. Specifically, the maximum value can be selected according to the corresponding number of stress threads between each unit in the i-th test sub-period to obtain the peak number of stress threads. Accordingly, after determining the peak number of stress threads, the number of stress threads after the i-th test sub-period can be reduced. For example, taking the peak number of stress threads as the starting point, the number of stress threads corresponding to the updated i+n-th test sub-period can be determined in a step-by-step manner.

[0111] In an optional implementation, the number of stress threads in the test script can be dynamically adjusted according to the predicted transaction capacity to improve the test efficiency. Accordingly, the predicted transaction processing capacity is represented by a preset capacity value; the system is stress tested, including: the system is stress tested according to the number of stress threads corresponding to the multiple unit times included in the test script; after determining the predicted transaction processing capacity of the system, the system performance test is also used to: compare the multiple test data items in the timing sequence with the preset capacity value to determine whether there is a target test data item matching the preset capacity value in the timing sequence; if it is determined that there is a target test data item matching the preset capacity value in the timing sequence, according to the first strategy, the number of stress threads in the test script is updated to reduce the number of stress threads; if it is determined that there is no target test data item matching the preset capacity value in the timing sequence, according to the second strategy, the number of stress threads in the test script is updated to increase the number of stress threads; wherein, the system performance test is also used to: re-stress the system according to the updated test script to re-determine the predicted transaction processing capacity of the system.

[0112] The test script can be dynamically configured based on the predicted test scenario. For example, different test scenarios have corresponding test scripts, which may include benchmark test scenarios, capacity test scenarios, and stability test scenarios. The test script contains the number of stress threads corresponding to multiple unit times, and the number of stress threads corresponding to different test scenarios may be configured differently. Therefore, when a stress test is required for a preset test scenario, the system stress test is achieved by loading and running the test script corresponding to the preset test scenario.

[0113] Among them, the preset capacity value is used to characterize the system's predicted transaction processing capability, that is, the system's transaction processing potential. For example, the preset capacity value can be the maximum TPS performance value, the maximum number of transactions processed by the system within a preset time, etc., and the embodiments of the present disclosure do not limit this.

[0114] Thus, by comparing the test data item with the preset capability value, it can be determined whether there is a target test data item that matches the preset capability value, wherein the above matching form can be an exact match or a range match, which is not limited in the embodiment of the present disclosure.

[0115] For example, the preset capability value is 14000. In the case of exact matching, the data value of the target test data item is also 14000. In the case of range matching, the test data item with a data value in the range of (13800, 14200) can be determined as the target test data item.

[0116] Accordingly, when it is determined that the target test data item exists, the number of stress threads in the test script can be updated according to the first strategy to reduce the number of stress threads and avoid the situation where the corresponding number of stress threads is configured too high during the test. When it is determined that the target test data item does not exist, the number of stress threads in the test script can be updated according to the second strategy to increase the number of stress threads and avoid the situation where the number of stress threads cannot achieve the expected test effect.

[0117] Correspondingly, after updating the test script, the system can be stress-tested again according to the updated test script to re-determine the system's predicted transaction processing capability. For example, the predicted transaction processing capability obtained from multiple predictions can be averaged to obtain the final predicted transaction processing capability, thereby improving the credibility of the data value of the predicted transaction processing capability.

[0118] It should be noted that in a stress testing scenario, the number of stress threads is generally increased gradually in the form of step-by-step pressure, thereby increasing the number of stress test requests sent to the system to increase the number of request transactions to be processed by the system, and after the number of stress threads reaches a peak, the number of stress threads is gradually reduced to complete the stress test.

[0119] In an embodiment of the present disclosure, when there is no target test data item that matches the preset capability value in the timing sequence, it indicates that the peak number of stress threads in the test script does not meet the test expectations. Therefore, the second strategy can be used to increase the number of stress threads in the test script. When there is a target test data item that matches the preset capability value in the timing sequence, it indicates that the peak number of stress threads in the test script may exceed the actual test requirements. Therefore, the first strategy can be used to reduce the number of stress threads in the test script to reduce invalid stress testing behaviors and improve test efficiency. That is, in an embodiment of the present disclosure, the number of stress threads in the test script is dynamically adjusted according to the predicted transaction processing capacity to achieve data adaptability between the number of stress threads in the test script and the test scenario.

[0120] In an optional implementation, according to the first strategy, the number of stress threads in the test script is updated, including: searching for a matching unit time corresponding to a matching test data item from multiple unit times; and updating the number of stress threads corresponding to a unit time after the matching unit time in the test script based on the number of stress threads corresponding to the matching unit time, so that the number of stress threads corresponding to the unit time after the matching unit time is less than the number of stress threads corresponding to the matching unit time.

[0121] In the stress test scenario, there may be two situations in which the number of stress threads changes. One is that the number of stress threads increases continuously with the change of unit time. The other is that after the number of stress threads reaches a peak, the number of stress threads gradually decreases with the change of unit time.

[0122] Therefore, the embodiment of the present disclosure searches for the matching unit time corresponding to the matching test data item, determines the corresponding number of stress threads based on the matching unit time, and updates the number of stress threads corresponding to the unit time after the matching unit time in the test script based on the number of stress threads, so that the number of stress threads corresponding to the unit time after the matching unit time in the test script is less than the number of stress threads corresponding to the matching unit time.

[0123] That is, the embodiment of the present disclosure redetermines the peak value of the number of stress threads in the test script based on the number of stress threads corresponding to the matching unit time. Regardless of whether it is a stress test mode in which the number of stress threads increases continuously with the change of unit time, or a stress test mode in which the number of stress threads gradually decreases with the change of unit time after the number of stress threads increases to a peak value, the number of stress threads corresponding to each unit time in the test script can be made not to exceed the number of stress threads corresponding to the matching unit time, thereby achieving data adaptation between the number of stress threads in the test script and the test scenario.

[0124] In an optional implementation method, the number of pressure threads corresponding to the unit time after the matching unit time in the test script is updated according to the number of pressure threads corresponding to the matching unit time, including: taking the number of pressure threads corresponding to the matching unit time as the maximum number of pressure threads; taking the maximum number of pressure threads as the starting value, performing data decrement processing according to a preset decrement value to obtain a pressure thread update value; and updating the number of pressure threads corresponding to the unit time after the matching unit time according to the pressure thread update value.

[0125] The embodiment of the present disclosure takes the number of pressure threads corresponding to the matching unit time as the maximum number of pressure threads, and uses the maximum number of pressure threads as the starting value, and performs data decrement processing according to a preset decrement value, and updates the number of pressure threads corresponding to the unit time after the matching unit time in the test script based on the pressure thread update value obtained by the decrement, thereby realizing a step-by-step decrease in the number of pressure threads corresponding to the matching unit time, thereby realizing a smooth transition of the number of pressure threads in the test script, ensuring efficient use of resources, and maintaining the stability of the pressure test.

[0126] To facilitate understanding, the following describes the specific implementation details of the above embodiment using a specific example:

[0127] Performance testing is a crucial step in the software testing process. It helps assess system transaction processing capabilities, identify bottlenecks, and optimize performance, ultimately improving user experience. To improve the efficiency of performance test engineers, standardize performance testing processes, and manage performance testing assets, implementing a production performance testing system is a common practice.

[0128] Currently, there are a variety of performance testing tools available in the software testing field, including JMeter, LoadRunner, Gatling, Locust, etc. Among them, the two most widely used tools are JMeter and LoadRunner.

[0129] Apache JMeter is an open source stress testing tool project of the Apache Foundation, which provides the ability to generate distributed loads, execute test scripts, and collect performance results. Compared with another commonly used performance testing tool LoadRunner, JMeter is lighter and easier to use. It is also open source and free, and supports secondary development, so it is more flexible to use. However, compared with LoadRunner, JMeter has fewer reports, and the result analysis is not as detailed as LoadRunner, which cannot meet the needs in some scenarios. Despite this, JMeter has become the first choice for enterprises and individual developers due to its flexibility and scalability. Therefore, integrating the system backend with JMeter, that is, using JMeter as a performance test script executor, developing backend services based on JMeter, and supplementing other functions of the software testing system, is an effective and common software performance testing system design. However, this performance testing system has some problems:

[0130] It's impossible to effectively estimate a system's transaction processing capabilities, such as identifying its maximum TPS level. For step-by-step stress testing scenarios, existing performance testing systems often only display TPS time series graphs, allowing testers to view TPS trends and analyze the maximum TPS level of the system under test. However, these systems lack the ability to automatically identify the maximum TPS level of the system under test. Testers must manually analyze the graphs, which is not only time-consuming and labor-intensive, but also prone to human error.

[0131] It should be noted that the maximum TPS level is the TPS value representing the system's maximum transaction processing capacity. Due to the existence of sample noise, the maximum TPS level is usually not equal to the maximum TPS value in the time series.

[0132] During performance testing, to determine the maximum TPS level for a single interface or the system, the test is conducted by continuously increasing the number of stressed threads. The maximum TPS level is then determined by using the performance test engineer's evaluation report to generate a time series graph of the maximum TPS for that interface or system. This method requires testers to determine the maximum TPS level through visual observation and subjective judgment, which is susceptible to the influence of personal experience and judgment, potentially leading to inaccurate identification results. Furthermore, manual analysis of TPS curves is not only time-consuming but also extremely inefficient when dealing with large amounts of test data, making it difficult to make quick judgments.

[0133] Therefore, this example provides a system performance testing method. Through a preset performance prediction model, the system's performance is predicted for the time series corresponding to the test period, and the system's predicted transaction processing capability, such as the system's maximum TPS level, is determined, thereby improving testing efficiency.

[0134] Figure 4 A schematic diagram of a system performance test method provided for this example, refer to Figure 4 , the method comprising:

[0135] Step S401: performing a stress test on the system according to the number of stress threads corresponding to the number of unit times included in the test script, and obtaining a timing sequence corresponding to the system in the test period.

[0136] The timing sequence may be a timing sequence obtained by monitoring the continuous change in the number of stress threads during the test period. The number of stress threads is used to represent the number of stress test requests sent to the system per unit time.

[0137] The timing sequence may include multiple test data items corresponding to the system in multiple unit times, and each test data item is used to characterize the actual transaction processing capability of the system in the corresponding unit time, such as the system TPS value monitored in the unit time.

[0138] Step S402: determining a plurality of time series subsequences corresponding to the time series sequence according to the preset time window, wherein each time series subsequence is used to represent a plurality of test data items corresponding to the time length of the preset time window.

[0139] Specifically, when predicting the transaction processing capacity corresponding to a time series, such as the maximum TPS level, it is necessary to consider the changing trend and volatility of each test data item in the time series, such as the TPS value.

[0140] In order to better describe the above changing trends and fluctuations, for each unit time such as timestamp t i , define a preset time window W i , the window contains the i to ti+m-1 There are m unit times in total, so the time series subsequence contains m test data items corresponding to m unit times, such as TPS values.

[0141] Step S403: for any time series subsequence, extract the index features corresponding to the multiple test data items contained in the time series subsequence according to the preset index, perform high-order transformation on the index features, and obtain the sequence joint features corresponding to the time series subsequence.

[0142] The preset indicators include at least one of a polynomial fitting indicator, a time information indicator, and a numerical change indicator.

[0143] For example, when the test data items are characterized by TPS values, the following indicator feature items can be extracted to obtain the indicator features, that is, the basic features:

[0144] 1. The percentage of each TPS value in the time series subsequence to the maximum TPS value in the time series: Assuming that the unit time t i The corresponding TPS value is recorded as TPS(t i ), the maximum TPS is recorded as TPS max , the percentage is expressed as

[0145] 2. Index value corresponding to unit time: the index value of unit time in the time series, denoted as i;

[0146] 3. Polynomial fitting coefficients: Perform n-order polynomial fitting on each TPS value in the time series subsequence, and obtain n+1 coefficients, which are recorded as a0, a1, ..., a n ;

[0147] 4. Standard deviation: Calculate the standard deviation between each TPS value in the time series subsequence, denoted as σ i ;

[0148] Furthermore, by performing a high-order transformation on the indicator features, the sequence joint features can be obtained. For example, the p-order cross terms and p-order polynomials of the basic features are calculated and added to the sequence joint features. represents all p-order cross terms, then for:

[0149]

[0150] For example, if p>1 and n>1, then the sequence joint feature X i as follows:

[0151]

[0152] It should be noted that the preset performance prediction model can be obtained by training an initial performance prediction model, such as a Ridge regression model, based on a training time series sequence. Accordingly, the training time series sequence can be subjected to feature extraction in accordance with the above-mentioned feature extraction method to obtain the training sample features corresponding to each training time series subsequence. Accordingly, the preset time window length m, the degree of the fitting polynomial n, the basic feature cross terms, and the degree of the polynomial p can all be hyperparameters during training. Thus, the processed data set, i.e., the training sample features, is input into the initial performance prediction model for hyperparameter tuning to train the optimal performance prediction model, i.e., the preset performance prediction model.

[0153] Step S404: inputting the sequence joint features corresponding to each time series subsequence into a preset performance prediction model, and determining the predicted transaction processing capability of the system according to the performance prediction model. The predicted transaction processing capability is represented by a preset capability value.

[0154] Step S405: Compare the multiple test data items in the time series sequence with the preset capability value to determine whether there is a target test data item in the time series sequence that matches the preset capability value.

[0155] Step S406: when it is determined that there is a target test data item matching the preset capability value in the timing sequence, the number of stress threads in the test script is updated according to the first strategy to reduce the number of stress threads.

[0156] Step S407: when it is determined that there is no target test data item matching the preset capability value in the timing sequence, the number of stress threads in the test script is updated according to the second strategy to increase the number of stress threads.

[0157] Step S408: re-stress testing the system according to the updated test script to re-determine the system's predicted transaction processing capability.

[0158] It is understood that the above-mentioned various method embodiments mentioned in this disclosure can be combined with each other to form combined embodiments without violating the principle logic. Due to space limitations, this disclosure will not go into details. It is understood by those skilled in the art that in the above-mentioned methods of specific implementation, the specific execution order of each step should be determined by its function and possible internal logic.

[0159] It should be noted that the system performance test provided by the embodiments of the present disclosure may be executed in a test platform. Accordingly, the test platform may include a transaction processing capability identification module for implementing the above-mentioned system performance test method.

[0160] In an optional implementation, in order to facilitate maintenance of the test script, multiple functional modules can be set in the test platform to facilitate configuration of the test script. Figure 5 This is a schematic diagram of the test platform architecture, refer to Figure 5 , the test platform includes:

[0161] Test scenario management module, used to manage test scenarios;

[0162] Script processing module, used to modify the script content of the test script;

[0163] Scenario execution module, used to execute the test script corresponding to the test scenario;

[0164] The monitoring module is used to collect and store performance data generated during the execution of test scenarios and generate a visual interface corresponding to the performance data;

[0165] The scenario report generation module is used to generate performance test reports based on test data, preset transaction processing capabilities and test report templates.

[0166] The test scenario management module includes the functions of adding, modifying, deleting and querying test scenarios. The test scenario management module may further include:

[0167] The basic information management module manages the basic information of test scenarios. This includes the scenario type, project, version, and name. Scenario types include benchmark, capacity, and stability. The specific behaviors that a test scenario should meet are implemented in the performance test scripts corresponding to the test scenario.

[0168] The file upload module is used to upload the test script file and related data files corresponding to the test scenario; after the file is uploaded successfully, the test scenario and the uploaded file can establish a corresponding relationship through the database field.

[0169] It should be noted that the addition and modification of test scenarios can support association with a test script; there is no limit to the association method of test scripts, and a performance test script file can be directly uploaded when adding and modifying test scenarios; or the performance test script content can be directly edited on the front end and saved into the database, that is, the test script content is equivalent to a test script file at this time.

[0170] The script processing module may further include:

[0171] The pressure thread parameter setting module is used to configure the number of pressure threads in the test script; the number of pressure threads can include: the maximum number of threads, the number of threads increased by each gradient before reaching the maximum number of threads, the duration after reaching the maximum number of threads, and the number of threads reduced by each gradient after reaching the maximum number of threads.

[0172] The data file path specification module is used to standardize the data file path in the test script to ensure that the data file path in the test script is consistent with the file path corresponding to the data file copied by the test system to the distributed pressure machine;

[0173] The backend listener module analyzes the test script content and adds a backend listener. A backend listener is a test script component that sends real-time test data during the test process to the data storage module. Real-time test data includes TPS, average response time, slowest response time, fastest response time, 95th percentile response time, and 99th percentile response time.

[0174] There are two main ways to implement the scene execution module:

[0175] 1. Command method

[0176] 2. Integrate JMeter dependencies and execute by calling methods in the StandardJMeterEngine class.

[0177] The monitoring module may further include:

[0178] The monitoring data storage module is used to store the monitoring data collected or received during the execution of the test script. Since the stored monitoring data contains time information, the monitoring data storage module should be implemented based on a time series database. For example, the time series database can be Prometheus, influxDB, Whisper, etc., or Kafka can be used to store data streams.

[0179] The monitoring data visualization module is used to visualize monitoring data. You can use data visualization tools such as Graphite and Grafana to visualize the monitoring data.

[0180] The transaction processing capability identification module may be a submodule of the scenario report generation module. In addition, the scenario report generation module may further include:

[0181] The request log storage module is used to store request results generated during test script execution, for example, in file format or by storing the request log in a time series database or message queue. The stored request result fields include at least one of the following: timestamp, request address, request success, response time, number of bytes sent, number of bytes responded, connection establishment time, server response information, and the current number of stressed threads.

[0182] The scenario report generation module is used to read the request log and calculate the performance indicators, and generate a performance test scenario report based on the preset scenario report template; for example, a JMeter command can be used to execute the request log file based on the aforementioned test script to generate a performance test report.

[0183] The batch report summary module is used to summarize multiple scenario reports and generate a summary report based on the preset summary report template.

[0184] In addition, the present disclosure also provides a system performance testing device, an electronic device, and a computer-readable storage medium, all of which can be used to implement any system performance testing method provided by the present disclosure. The corresponding technical solutions and descriptions are referred to the corresponding records in the method section and will not be repeated here.

[0185] Figure 6 A block diagram of a system performance testing device provided in an embodiment of the present disclosure.

[0186] Reference Figure 6 The embodiment of the present disclosure provides a system performance testing device 60, which includes:

[0187] An acquisition module 61 is configured to perform a stress test on a system and acquire a time series corresponding to the system during a test period; wherein the test period includes multiple unit times, and the time series is used to represent multiple test data items corresponding to the system during the multiple unit times, each test data item being used to represent the actual transaction processing capacity of the system during the corresponding unit time;

[0188] a partitioning module 62 for determining, according to a preset time window, a plurality of time series subsequences corresponding to the time series sequence, each time series subsequence being used to represent a plurality of test data items corresponding to a time length of the preset time window;

[0189] An extraction module 63 is configured to perform joint feature extraction on a plurality of test data items contained in any time series subsequence to obtain a sequence joint feature corresponding to the time series subsequence;

[0190] The prediction module 64 is configured to input the sequence joint feature corresponding to each time series subsequence into a preset performance prediction model, and determine the predicted transaction processing capability of the system according to the performance prediction model.

[0191] In an optional implementation, the dividing module 62 determines, according to a preset time window, a plurality of time series subsequences corresponding to the time series sequence, including:

[0192] For any test data item contained in the time series sequence, determine the time range corresponding to the time series subsequence with the test data item as the starting data based on the unit time corresponding to the test data item and the time length of the preset time window; in the time series sequence, search for associated test data items whose unit time is within the time range, and determine the time series subsequence with the test data item as the starting data based on the associated test data items.

[0193] In an optional implementation, the extraction module 63 performs joint feature extraction on the multiple test data items included in the time series subsequence to obtain a sequence joint feature corresponding to the time series subsequence, including:

[0194] Extracting, according to preset indicators, indicator features corresponding to a plurality of test data items included in the time series subsequence;

[0195] Performing a high-order transformation on the indicator features to obtain a sequence joint feature corresponding to the time series subsequence;

[0196] The preset indicators include at least one of a polynomial fitting indicator, a time information indicator, and a numerical change indicator.

[0197] In an optional implementation, when the preset indicator includes a polynomial fitting indicator, the indicator feature includes: an indicator feature item corresponding to the polynomial fitting indicator; and extracting the indicator features corresponding to the plurality of test data items included in the time series subsequence according to the preset indicator includes:

[0198] Determining the polynomial fitting order corresponding to the time series subsequence according to the polynomial fitting index;

[0199] Performing polynomial fitting on a plurality of test data items included in the time series subsequence according to the polynomial fitting order to obtain fitting coefficients corresponding to the polynomial fitting order;

[0200] According to the fitting coefficient, the indicator feature item corresponding to the polynomial fitting index is determined.

[0201] In an optional implementation, when the preset indicator includes a numerical change indicator, the indicator feature includes: an indicator feature item corresponding to the numerical change indicator; and extracting the indicator features corresponding to the plurality of test data items included in the time series subsequence according to the preset indicator includes:

[0202] Finding a maximum test data item included in the time series sequence, comparing the numerical difference between each test data item included in the time series subsequence and the maximum test data item, and obtaining a first indicator feature item corresponding to the numerical change indicator in the indicator feature according to the numerical difference;

[0203] The data dispersion between the plurality of test data items included in the time series subsequence is calculated, and a second indicator feature item corresponding to the numerical value change indicator in the indicator feature is obtained according to the data dispersion.

[0204] In an optional implementation, the indicator feature includes multiple indicator feature items, and performing a high-order transformation on the indicator feature to obtain a sequence joint feature corresponding to the time series subsequence includes:

[0205] According to a preset cross-term transformation order, a plurality of indicator feature items included in the indicator feature are cross-combined to obtain a high-order cross-term corresponding to the indicator feature;

[0206] For each indicator feature item, generate a high-order polynomial corresponding to the indicator feature item according to a preset polynomial transformation order;

[0207] A sequence joint feature corresponding to the time series subsequence is obtained according to the high-order cross term and the high-order polynomial.

[0208] In an optional implementation, the predicted transaction processing capability is represented by a preset capability value; and the stress testing of the system includes: performing stress testing on the system according to a plurality of stress thread numbers corresponding to a plurality of unit times included in a test script; the number of stress threads is used to represent the number of stress test requests sent to the system per unit time;

[0209] After determining the predicted transaction processing capability of the system, the apparatus is further configured to:

[0210] Comparing a plurality of test data items in the time series with the preset capability value to determine whether there is a target test data item in the time series that matches the preset capability value;

[0211] When it is determined that there is a target test data item matching the preset capability value in the timing sequence, updating the number of stress threads in the test script according to a first strategy so as to reduce the number of stress threads;

[0212] When it is determined that there is no target test data item matching the preset capability value in the timing sequence, updating the number of stress threads in the test script according to a second strategy so as to increase the number of stress threads;

[0213] The device is further configured to re-stress the system according to the updated test script to re-determine the predicted transaction processing capability of the system.

[0214] In an optional implementation, updating the number of stress threads in the test script according to the first strategy includes:

[0215] searching for a matching unit time corresponding to the matching test data item from the plurality of unit times;

[0216] According to the number of pressure threads corresponding to the matching unit time, the number of pressure threads corresponding to the unit time after the matching unit time in the test script is updated so that the number of pressure threads corresponding to the unit time after the matching unit time is less than the number of pressure threads corresponding to the matching unit time.

[0217] Each module in the above-mentioned system performance test device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the corresponding operations of each module.

[0218] Figure 7 A block diagram of an electronic device provided in an embodiment of the present disclosure.

[0219] Reference Figure 7 An embodiment of the present disclosure provides an electronic device, which includes: at least one processor 701; at least one memory 702, and one or more I / O interfaces 703 connected between the processor 701 and the memory 702; wherein the memory 702 stores one or more computer programs that can be executed by the at least one processor 701, and the one or more computer programs are executed by the at least one processor 701 to enable the at least one processor 701 to perform the above-mentioned system performance testing method.

[0220] Each module in the above-mentioned electronic device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each module.

[0221] The present disclosure also provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the above-mentioned system performance testing method. The computer-readable storage medium may be a volatile or non-volatile computer-readable storage medium.

[0222] An embodiment of the present disclosure also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the above-mentioned system performance testing method.

[0223] It will be understood by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In a hardware implementation, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or may be implemented as hardware, or may be implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable storage medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium).

[0224] As is well known to those skilled in the art, the term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information (such as computer-readable program instructions, data structures, program modules or other data). Computer storage media includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), flash memory or other memory technology, portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, as is well known to those skilled in the art, communication media typically contains computer-readable program instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.

[0225] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0226] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, and conventional procedural programming languages such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., utilizing an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions. The electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.

[0227] The computer program product described herein may be implemented in hardware, software, or a combination thereof. In one embodiment, the computer program product is implemented as a computer storage medium. In another embodiment, the computer program product is implemented as a software product, such as a software development kit (SDK).

[0228] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0229] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0230] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0231] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction contains one or more executable instructions for realizing the prescribed logical function. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the prescribed function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0232] Example embodiments have been disclosed herein, and although specific terms are employed, they are used and should be interpreted only in a general illustrative sense and not for purposes of limitation. In some instances, it will be apparent to those skilled in the art that, unless otherwise expressly indicated, features, characteristics, and / or elements described in conjunction with a particular embodiment may be used alone or in combination with features, characteristics, and / or elements described in conjunction with other embodiments. Therefore, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the scope of the present disclosure as set forth in the appended claims.

Claims

1. A method for testing system performance, characterized in that: include: Performing a stress test on the system to obtain a time series corresponding to the system during a test period; wherein the test period includes multiple unit times, the time series is used to represent multiple test data items corresponding to the system during the multiple unit times, and each test data item is used to represent the actual transaction processing capacity of the system during the corresponding unit time; Determining, according to a preset time window, a plurality of time series subsequences corresponding to the time series sequence, each time series subsequence being used to represent a plurality of test data items corresponding to a time length of the preset time window; For any time series subsequence, performing joint feature extraction on multiple test data items contained in the time series subsequence to obtain a sequence joint feature corresponding to the time series subsequence; The sequence joint feature corresponding to each time series subsequence is input into a preset performance prediction model, and the predicted transaction processing capability of the system is determined according to the performance prediction model.

2. The method according to claim 1, characterized in that The determining, according to the preset time window, a plurality of time sequence subsequences corresponding to the time sequence sequence includes: For any test data item contained in the time series sequence, determine the time range corresponding to the time series subsequence with the test data item as the starting data based on the unit time corresponding to the test data item and the time length of the preset time window; in the time series sequence, search for associated test data items whose unit time is within the time range, and determine the time series subsequence with the test data item as the starting data based on the associated test data items.

3. The method according to claim 1, characterized in that The performing joint feature extraction on the multiple test data items included in the time series subsequence to obtain the sequence joint features corresponding to the time series subsequence includes: Extracting, according to preset indicators, indicator features corresponding to a plurality of test data items included in the time series subsequence; Performing a high-order transformation on the indicator features to obtain a sequence joint feature corresponding to the time series subsequence; The preset indicators include at least one of a polynomial fitting indicator, a time information indicator, and a numerical change indicator.

4. The method according to claim 3, characterized in that In the case where the preset indicator includes a polynomial fitting indicator, the indicator feature includes: an indicator feature item corresponding to the polynomial fitting indicator; and extracting the indicator features corresponding to the plurality of test data items included in the time series subsequence according to the preset indicator includes: Determining the polynomial fitting order corresponding to the time series subsequence according to the polynomial fitting index; Performing polynomial fitting on a plurality of test data items included in the time series subsequence according to the polynomial fitting order to obtain fitting coefficients corresponding to the polynomial fitting order; According to the fitting coefficient, the indicator feature item corresponding to the polynomial fitting index is determined.

5. The method according to claim 3, characterized in that In the case where the preset indicator includes a numerical change indicator, the indicator feature includes: an indicator feature item corresponding to the numerical change indicator; and extracting the indicator features corresponding to the plurality of test data items included in the time series subsequence according to the preset indicator includes: Finding a maximum test data item included in the time series sequence, comparing the numerical difference between each test data item included in the time series subsequence and the maximum test data item, and obtaining a first indicator feature item corresponding to the numerical change indicator in the indicator feature according to the numerical difference; The data dispersion between the plurality of test data items included in the time series subsequence is calculated, and a second indicator feature item corresponding to the numerical value change indicator in the indicator feature is obtained according to the data dispersion.

6. The method according to any one of claims 2 to 5, characterized in that: The indicator feature includes multiple indicator feature items, and the high-order transformation of the indicator feature to obtain the sequence joint feature corresponding to the time series subsequence includes: According to a preset cross-term transformation order, a plurality of indicator feature items included in the indicator feature are cross-combined to obtain a high-order cross-term corresponding to the indicator feature; For each indicator feature item, generate a high-order polynomial corresponding to the indicator feature item according to a preset polynomial transformation order; A sequence joint feature corresponding to the time series subsequence is obtained according to the high-order cross term and the high-order polynomial.

7. The method according to any one of claims 1 to 5, characterized in that The test period includes a plurality of test sub-periods, each test sub-period includes at least one unit time, the timing sequence includes a timing sequence corresponding to each test sub-period, and performing stress testing on the system to obtain the timing sequence corresponding to the system in the test period includes: For the i-th test sub-period, perform stress testing on the system according to the number of stress threads corresponding to each unit time in the i-th test sub-period in the test script, and obtain a timing sequence corresponding to the system in the i-th test sub-period; Obtaining an i-th transaction processing capacity prediction value according to the performance prediction model and the time series corresponding to the i-th test sub-period; When the difference in predicted value between the i-th transaction processing capacity predicted value and the im-th transaction processing capacity predicted value is less than a preset threshold, the number of stress threads corresponding to the i+n-th test sub-period in the test script is updated to reduce the number of stress threads corresponding to the i+n-th test sub-period, where i, m, and n are natural numbers.

8. The method according to claim 7, characterized in that The updating of the number of stress threads corresponding to the i+nth test sub-period in the test script includes: Determine the peak value of the number of pressure threads according to the number of pressure threads corresponding to each unit time in the i-th test sub-period; According to the peak number of pressure threads, the number of pressure threads corresponding to each unit time in the i+nth test sub-period is updated so that the number of pressure threads corresponding to each unit time in the i+nth test sub-period is less than the peak number of pressure threads.

9. A system performance testing device, characterized in that: include: an acquisition module, configured to perform a stress test on a system and acquire a time series corresponding to the system during a test period; wherein the test period includes a plurality of unit times, the time series is used to represent a plurality of test data items corresponding to the system during the plurality of unit times, and each test data item is used to represent an actual transaction processing capability of the system during the corresponding unit time; a partitioning module, configured to determine, according to a preset time window, a plurality of time series subsequences corresponding to the time series sequence, each time series subsequence being configured to represent a plurality of test data items corresponding to a time length of the preset time window; An extraction module is configured to perform joint feature extraction on a plurality of test data items contained in any time series subsequence to obtain a sequence joint feature corresponding to the time series subsequence; The prediction module is used to input the sequence joint features corresponding to each time series subsequence into a preset performance prediction model, and determine the predicted transaction processing capacity of the system according to the performance prediction model.

10. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores one or more computer programs that can be executed by the at least one processor. The one or more computer programs are executed by the at least one processor to enable the at least one processor to perform the system performance testing method according to any one of claims 1 to 8.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the computer program implements the method for testing system performance according to any one of claims 1 to 8.