Service performance test method and device and storage medium

By introducing a dynamic adjustment mechanism into performance testing, automatically creating and distributing load testing scripts, and collecting and analyzing performance metrics in real time, the problem of inaccurate test results in existing technologies is solved, achieving efficient and accurate performance test results.

CN121070744APending Publication Date: 2025-12-05CHINA MERCHANTS BANK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511177709.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-21
Publication Date
2025-12-05

AI Technical Summary

Technical Problem

Existing performance testing technologies lack dynamic adjustment mechanisms, resulting in low accuracy of test results. It is difficult to dynamically adjust the test intensity based on system performance, and manual intervention is required for analysis, which can easily lead to misjudgments.

Method used

A dynamic adjustment mechanism is adopted. At the beginning of each round, load testing scripts are automatically created and distributed according to the current test configuration. Performance test index parameters are collected in real time, and inflection point identification is performed by combining historical data. The test configuration is automatically adjusted to identify performance inflection points and meet preset performance indicators.

Benefits of technology

It improves the automation level and accuracy of performance testing, reduces human intervention, realizes intelligent decision-making and dynamic adjustment, ensures that test tasks are flexible and adjustable, and avoids the inefficiency and errors caused by traditional manual adjustment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121070744A_ABST
    Figure CN121070744A_ABST
Patent Text Reader

Abstract

The invention discloses a service performance test method and device and a storage medium, and relates to the technical field of computers, and the method comprises the steps of creating a test script corresponding to a pressure test node on a load generation end of a current round based on test configuration; executing a current round of performance test on the target service based on the test script to obtain a current performance test index parameter; carrying out inflection point identification based on the performance test index parameters of the current round and the previous round; under the condition that the inflection point identification result is empty, whether the current performance test index parameter meets a preset performance index or not is determined; if not, up-regulating the test configuration, and executing the step of creating the test script corresponding to the voltage test node on the load generation end of the current round based on the test configuration; and if yes, determining a performance test result of the target service according to the current performance test index parameter, thereby solving the problems of low test efficiency and inaccurate result caused by dependence on static preset configuration in the prior art, and improving the accuracy of the performance test.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, in particular to a performance testing method of service, device and storage medium. BACKGROUND

[0002] In the existing performance testing technology, a fixed configuration of stress testing scheme is usually adopted to test the target service, it is difficult to dynamically adjust the test intensity according to the system performance, and manual intervention is required to analyze the test results, and whether the expected performance index is reached is judged according to the manual experience, the process is cumbersome and misjudgment is easy to occur, which affects the accuracy of the performance test result of the target service.

[0003] The above content is only used to assist in understanding the technical solutions of the present application, and does not represent the acknowledgement of the above content as prior art. SUMMARY

[0004] The main purpose of the present application is to provide a performance testing method of service, device and storage medium, which aims to solve the technical problem of low accuracy of performance test result caused by lack of dynamic adjustment mechanism in the prior art.

[0005] To achieve the above purpose, the present application provides a performance testing method of service, which comprises:

[0006] determining the test configuration of the current round, and creating the test script corresponding to the stress testing node on the load generation end of the current round based on the test configuration;

[0007] performing current round performance test on the target service based on the test script corresponding to the stress testing node on the load generation end, to obtain the current performance test index parameter in the current round performance test process;

[0008] based on the current performance test index parameter and the historical performance test index parameter in the previous round performance test process, performing inflection point identification;

[0009] in the case that the inflection point identification result is empty, determining whether the current performance test index parameter meets the preset performance index;

[0010] if not, increasing the concurrency and / or the number of stress testing nodes in the test configuration, and returning to the step of creating the test script corresponding to the stress testing node on the load generation end of the current round based on the test configuration;

[0011] if yes, determining the performance test result of the target service according to the current performance test index parameter.

[0012] In some embodiments, the step of creating, based on the test configuration, a test script corresponding to each load generation node in the current round of load generation end includes:

[0013] determining, based on the test configuration, a total concurrency number and a number of load generation nodes in the current round;

[0014] calculating, according to the total concurrency number and the number of load generation nodes, an initial concurrency number corresponding to each load generation node, and dynamically adjusting the initial concurrency number corresponding to each load generation node to obtain a target concurrency number corresponding to each load generation node;

[0015] segmenting, according to a preset segmentation rule, a test data file into a target number of data segment files, and determining, according to the target number of data segment files, a data segment file corresponding to each load generation node, the target number being the same as the number of load generation nodes;

[0016] generating, based on the data segment file corresponding to each load generation node, the target concurrency number corresponding to each load generation node, and a preset script template, a test script corresponding to each load generation node.

[0017] In some embodiments, the step of identifying a turning point based on the current performance test indicator parameter and a historical performance test indicator parameter in a previous round of performance test includes:

[0018] determining, according to the current performance test indicator parameter, a target variance of the performance test indicator parameter in the current round;

[0019] determining, according to the historical performance test indicator parameter, a target variance of the performance test indicator parameter in the previous round;

[0020] calculating an absolute value of a difference between the target variance of the performance test indicator parameter in the current round and the target variance of the performance test indicator parameter in the previous round;

[0021] if the absolute value of the difference is greater than or equal to a preset value, determining that there is a performance turning point in the current round of performance test, and determining that the turning point identification result is not empty;

[0022] if the absolute value of the difference is less than the preset value, determining that there is no performance turning point in the current round of performance test, and determining that the turning point identification result is empty.

[0023] In some embodiments, the performance test indicator parameter includes a transaction per second (TPS), a response time, and an error rate; and the step of determining, according to the current performance test indicator parameter, a target variance of the performance test indicator parameter in the current round includes:

[0024] determine a plurality of current initial TPS, a plurality of current initial response times and a plurality of current initial error rates of the current round based on the current performance test index parameter;

[0025] perform variance calculation on each of the current initial TPS to obtain a current TPS variance of the current round;

[0026] perform variance calculation on each of the current initial response times to obtain a current response time variance of the current round;

[0027] perform variance calculation on each of the current initial error rates to obtain a current error rate variance of the current round;

[0028] determine the target variance of the performance test index parameter of the current round as the largest value among the current TPS variance, the current response time variance and the current error rate variance.

[0029] In some embodiments, after the step of performing inflection point identification based on the current performance test index parameter and the historical performance test index parameter in the previous round performance test process, the method further comprises:

[0030] in the case that the inflection point identification result is not empty, obtaining abnormal response data of the load generation end, running state parameters of the load generation end and performance parameters of the target service in the current round performance test process;

[0031] inputting the abnormal response data of the load generation end, the running state parameters of the load generation end and the performance parameters of the target service into a bottleneck detector, predicting the bottleneck source in the current round performance test process based on the bottleneck detector to obtain a first bottleneck prediction category, the bottleneck detector being constructed based on a bidirectional encoder representation from transformer (BERT) model;

[0032] in the case that the first bottleneck prediction category is a load generation end bottleneck category, increasing the number of stress test nodes in the test configuration, and returning to perform the step of creating a test script corresponding to the stress test node on the load generation end in the current round based on the test configuration.

[0033] In some embodiments, after the step of predicting the bottleneck source in the current round performance test process based on the bottleneck detector to obtain a first bottleneck prediction category, the method further comprises:

[0034] in the case that the first bottleneck prediction category is any one of an application bottleneck category, a database bottleneck category or a middleware bottleneck category of the target service, determining that the target service does not meet the preset performance index, and obtaining abnormal logs of the target service in the current round performance test process.

[0035] inputting the abnormal response data of the load generation end, the abnormal log of the target service, the running state parameter of the load generation end, the performance parameter of the target service and the current performance test indicator parameter into a performance tuning large model, performing application diagnosis on the target service based on the performance tuning large model, and generating a corresponding bottleneck analysis report and tuning suggestion, wherein the performance tuning large model is a large language model.

[0036] In some embodiments, the performance test indicator parameter comprises at least one of the following: transaction per second (TPS), concurrency, response time and error rate; the preset performance indicator comprises at least one of the following: preset TPS, preset concurrency, preset response time and preset error rate, and the step of determining whether the current performance test indicator parameter meets the preset performance indicator comprises:

[0037] In the case where the preset performance indicator comprises the preset TPS, if the current TPS in the performance test indicator parameter is greater than or equal to the preset TPS, it is determined that the current performance test indicator parameter meets the preset performance indicator; otherwise, it is determined that the current performance test indicator parameter does not meet the preset performance indicator.

[0038] In the case where the preset performance indicator comprises the preset TPS, the preset concurrency and the preset response time, if the current TPS in the performance test indicator parameter is greater than or equal to the preset TPS, the current response time in the performance test indicator parameter is less than or equal to the preset response time, and the current concurrency in the performance test indicator parameter is greater than or equal to the preset concurrency, it is determined that the current performance test indicator parameter meets the preset performance indicator; otherwise, it is determined that the current performance test indicator parameter does not meet the preset performance indicator.

[0039] In the case where the preset performance indicator comprises the preset TPS, the preset concurrency, the preset response time and the preset error rate, if the current TPS in the performance test indicator parameter is greater than or equal to the preset TPS, the current response time in the performance test indicator parameter is less than or equal to the preset response time, the current concurrency in the performance test indicator parameter is greater than or equal to the preset concurrency, and the current error rate in the performance test indicator parameter is less than or equal to the preset error rate, it is determined that the current performance test indicator parameter meets the preset performance indicator; otherwise, it is determined that the current performance test indicator parameter does not meet the preset performance indicator.

[0040] In some embodiments, after the step of determining the performance test result of the target service according to the current performance test indicator parameter, the method further comprises:

[0041] when the performance test result is that the target service meets the preset performance indicator, increasing the total concurrency in the test configuration to obtain a second test configuration in a high mode, and creating a second test script corresponding to the stress test node on the load generation end based on the second test configuration;

[0042] performing a current round performance test in the high mode on the target service based on the second test script corresponding to the stress test node on the load generation end to obtain a second performance test indicator parameter in a current performance test process;

[0043] performing inflection point identification based on the second performance test indicator parameter and a second performance test indicator parameter in a previous round performance test process to obtain a second inflection point identification result;

[0044] when the second inflection point identification result is empty, increasing the total concurrency in the second test configuration, and returning to the step of creating the second test script corresponding to the stress test node on the load generation end based on the second test configuration;

[0045] when the second inflection point identification result is not empty, obtaining second abnormal response data of the load generation end, second running state parameters of the load generation end, and second performance parameters of the target service in the current performance test process;

[0046] inputting the second abnormal response data of the load generation end, the second running state parameters of the load generation end, and the second performance parameters of the target service into the bottleneck detector, predicting a bottleneck source in the current round performance test process based on the bottleneck detector to obtain a second bottleneck prediction category in the high mode;

[0047] when the second bottleneck prediction category is a load generation end bottleneck category, increasing the number of stress test nodes in the second test configuration, and returning to the step of creating the second test script corresponding to the stress test node on the load generation end based on the second test configuration;

[0048] until the second bottleneck prediction category is any one of a target service application bottleneck category, a target service database bottleneck category, or a target service middleware bottleneck category, determining a second test configuration of a corresponding round as a performance upper limit of the target service in the high mode.

[0049] In addition, to achieve the above object, the application further provides a service performance testing device, which comprises:

[0050] The script generation module is configured to determine a test configuration of a current round, and create a test script corresponding to a stress testing node on a load generation end of the current round based on the test configuration.

[0051] The performance test execution module is configured to execute a current round performance test on the target service based on the test script corresponding to the stress testing node on the load generation end, and obtain a current performance test index parameter in a current round performance test process.

[0052] The inflection point identification module is configured to perform inflection point identification based on the current performance test index parameter and a historical performance test index parameter in a previous round performance test process.

[0053] The judgment module is configured to determine whether the current performance test index parameter meets a preset performance index in a case where the inflection point identification result is empty.

[0054] The configuration adjustment module is configured to increase the concurrency and / or the number of stress testing nodes in the test configuration if the determination result is negative, and return to the step of creating the test script corresponding to the stress testing node on the load generation end of the current round based on the test configuration.

[0055] The determination module is configured to determine a performance test result of the target service according to the current performance test index parameter if the determination result is positive.

[0056] In addition, to achieve the above-mentioned purpose, the present application further provides a performance test device of a service, which comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of the performance test method of the service as described above.

[0057] In addition, to achieve the above-mentioned purpose, the present application further provides a storage medium, which is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the performance test method of the service as described above.

[0058] In addition, to achieve the above-mentioned purpose, the present application further provides a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement the steps of the performance test method of the service as described above.

[0059] The one or more technical solutions provided by the present application have at least the following technical effects:

[0060] By acquiring the test configuration of the current round, the test script corresponding to the stress testing node on the load generation end of the current round is created based on the test configuration, and the corresponding test script is generated for each stress testing node according to the preset or dynamically adjusted test configuration. Based on the test script corresponding to the stress testing node on the load generation end, the current performance test of the target service is performed, and the current performance test index parameter in the current performance test process is collected to simulate the terminal sending a service request to the target service and the target service responding to the service request. By simulating the real user request, the current performance test index parameter in the current performance test process is obtained, which provides a basis for subsequent analysis. Based on the current performance test index parameter in the current performance test process and the historical performance test index parameter in the previous round performance test process, the inflection point is identified, the performance test index of the current round and the historical round is compared and analyzed, and whether there is a performance inflection point is identified to find the bottleneck point in advance. In the case that the inflection point identification result is empty, whether the current performance test index parameter meets the preset performance index is determined based on the current performance test index parameter and the preset performance index corresponding to the target mode, and whether the target service meets the expected performance requirement is verified, which helps to ensure that the target service can stably run under normal working conditions. If not, that is, the current performance test index does not reach the preset performance index, the test configuration is adjusted to continue to pressurize, and the step of creating the test script corresponding to the stress testing node on the load generation end of the current round based on the test configuration is performed; if yes, it is determined that the target service meets the preset performance index, and the current performance test index parameter is determined as the performance test result of the target service under the target mode, and a reliable performance test result is obtained.

[0061] The performance test method of the service disclosed in the present application solves the problem of inaccurate test results caused by relying on static preset configuration in the prior art by introducing a dynamic adjustment mechanism. At the beginning of each round, the stress testing script is automatically created and distributed to each node according to the current test configuration, ensuring that the test task is flexible and adjustable; during the test execution process, the key indicators are collected in real time, and the inflection point is identified in combination with the historical performance test index parameter, so as to judge whether the current round performance test has a performance inflection point. If no inflection point is identified, it is further judged whether the current performance of the target service meets the preset target. If not, the test configuration is automatically adjusted and the script is regenerated to continue the test, forming a closed loop feedback; if yes, it is confirmed that the performance test of the target mode is passed and the current index is taken as the performance test result of the target service under the target mode, realizing intelligent decision and dynamic adjustment in the performance test process, avoiding the inefficiency and error caused by traditional manual adjustment, and significantly improving the accuracy of the performance test result. BRIEF DESCRIPTION OF DRAWINGS

[0062] The accompanying drawings, which are incorporated into and form part of the specification, illustrate embodiments consistent with the present application and, together with the specification, serve to explain the principles of the application.

[0063] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the accompanying drawings needed to be used in the embodiments or prior art description will be briefly introduced as follows. Obviously, the drawings can also provide further understanding of the present application for those of ordinary skill in the art without any creative effort.

[0064] Figure 1 The flowchart of the performance test method provided by the first embodiment of the performance test method serving the present application is shown in the figure.

[0065] Figure 2 The flowchart of the performance test method provided by another service of the present application is shown in the figure.

[0066] Figure 3 The flowchart of the performance test method provided by another service of the present application is shown in the figure.

[0067] Figure 4 The module structure of the bottleneck detector provided by the present application is shown in the figure.

[0068] Figure 5 The flowchart of the performance test method provided by the second embodiment of the performance test method serving the present application is shown in the figure.

[0069] Figure 6 The flowchart of the performance test method provided by the present application is shown in the figure.

[0070] Figure 7 The structure of the performance test system of the service provided by the present application is shown in the figure.

[0071] Figure 8 The module structure of the performance test device serving the embodiments of the present application is shown in the figure.

[0072] Figure 9 The device structure of the hardware running environment involved in the performance test method of the service in the embodiments of the present application is shown in the figure.

[0073] The object implementation, functional features and advantages of the present application will be further explained with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION

[0074] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application, and are not used to limit the present application.

[0075] In order to better understand the technical solutions of the present application, the accompanying drawings and specific embodiments will be described in detail below.

[0076] The main solution of the embodiment of the application is: determining a test configuration of a current round, creating a test script corresponding to a stress testing node on a load generation end of the current round based on the test configuration; performing a current round performance test on a target service based on the test script corresponding to the stress testing node on the load generation end, to obtain a current performance test index parameter in the current round performance test process, so as to simulate a terminal sending a service request to the target service and a target service end responding to the service request; performing inflection point identification based on the current performance test index parameter and a historical performance test index parameter in a previous round performance test process; in a case where the inflection point identification result is empty, determining whether the current performance test index parameter meets a preset performance index; if not, increasing the test configuration, and performing the step of creating the test script corresponding to the stress testing node on the load generation end of the current round based on the test configuration; if yes, determining a performance test result of the target service according to the current performance test index parameter.

[0077] In the embodiment, the performance test system of the service is taken as an execution subject for the convenience of description.

[0078] Since the prior art usually adopts a fixed configuration stress testing scheme to test the target service, it is difficult to dynamically adjust the test intensity according to the system performance, resulting in low test efficiency. The traditional performance test method of the service needs manual intervention to analyze the test result, and whether the expected performance index is reached is determined according to experience, which is a cumbersome process and is prone to misjudgment. The existing performance test has low intelligence and automation level, thereby affecting the accuracy of the final test result.

[0079] The application provides a solution, which introduces a dynamic adjustment mechanism to solve the problems of low test efficiency and inaccurate result caused by relying on static preset configuration in the prior art. At the beginning of each round, the stress testing script is automatically created and distributed to each node according to the current test configuration, to ensure that the test task is flexible and adjustable. In the test execution process, the performance test index parameter is collected in real time, and the inflection point is identified in combination with the historical performance test index parameter, to determine whether a performance inflection point appears in the current round performance test. If no inflection point is identified, it is further determined whether the current performance of the target service meets the preset target. If not, the test configuration is automatically increased and the script is regenerated for continuous testing, to form a closed loop feedback. If yes, it is confirmed that the performance test of the target mode is passed, and the current index is taken as the performance test result of the target service under the target mode. The intelligent decision and dynamic adjustment in the performance test process are realized, the inefficiency and error caused by traditional manual adjustment are avoided, and the automation level, execution efficiency and result accuracy of the performance test are significantly improved.

[0080] It should be noted that the execution subject of the embodiment can be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, or a performance testing device capable of realizing the above functions, or a performance testing system of the service. The service performance testing system is used as an example to illustrate the embodiment and the following embodiments. The service performance testing system proposed in the application is to support two test execution modes of target mode and high mode. The target mode refers to a test method for directional verification of the target service according to the preset performance indicators (such as response time, throughput, concurrency, error rate, etc.) or business requirements in the performance test execution phase. The core of the target mode is to verify whether the test object (i.e. the target service) can stably and efficiently reach the preset performance indicators by simulating real scenes or specific load conditions. The high mode refers to a test method for exploring the performance limit (such as maximum throughput, maximum concurrency, resource bottleneck, etc.) of the test object (target service) by gradually increasing the load or extreme conditions in the performance test execution phase. The high mode aims to find the upper limit of the performance of the target service and provide data support for optimization or expansion.

[0081] Based on this, the embodiment of the application provides a service performance testing method, which refers to Figure 1 , Figure 1 The flowchart of the first embodiment of the service performance testing method of the application is shown in the figure.

[0082] In the embodiment, the service performance testing method includes steps 101-106:

[0083] Step 101, determine the test configuration of the current round, and create the test script corresponding to the pressure testing node on the load generation end of the current round based on the test configuration.

[0084] Specifically, the test configuration of the current round refers to a parameter set to be applied in the current test round, including the number of stress testing nodes, the instance scale of the load generation end, the total concurrency, the virtual user quantity of single node simulation, the request frequency, the test duration, etc., and the test configuration of the current round defines the load intensity of the current round of performance testing. The load generation end can be a hardware or software platform for generating simulated terminal (or user) requests, which is composed of multiple distributed stress testing nodes. Each stress testing node can independently execute a test script and send requests to the target service. The stress testing node is a specific execution unit in the load generation end. Each stress testing node loads a specific test script and is responsible for simulating the request behavior of part of the virtual users. The test script is a code that defines the logic of user behavior and can be used to define request logic, parameterization rules, and monitoring index collection logic. In this application, the test script can be a JMeter test plan XML (JMeter Test Plan XML file, jmx) file or a Locust Python script, which contains information such as the number of concurrent settings, interface paths, request parameters, data file paths, etc., and is used to guide the stress testing nodes on how to simulate real user operations.

[0085] In some embodiments, the performance test system of the service can determine the test configuration of the current round from a preset configuration file or through performance test analysis of the previous round. According to the total number of concurrent users and the number of stress test nodes in the test configuration, the specific concurrency number that each test node should undertake is calculated. For example, if the total number of concurrent users is 1000 and the number of stress test nodes is 5, each node can be initially set to undertake 200 concurrent users. Further, according to the hardware specifications, the number of concurrent users of high-load nodes can be reduced (e.g., from 200 to 100), and the excess load can be allocated to low-load nodes, which helps to balance the load and avoid overloading of some nodes. Alternatively, if the performance test needs to use large-scale data files, such as a Comma-Separated Values (CSV) file containing a large number of request parameters, the large-scale data file can be divided into multiple data shard files according to a predetermined rule (such as by row number or size) and allocated to each stress test node for processing, which helps to improve data processing efficiency and reduce the risk of single point failure. Further, using a template engine or a script generation tool, such as the template function of JMeter, the concurrency number settings and the data shard files corresponding to each stress test node are replaced in the placeholder of the preset script template, the node-specific configuration is embedded in the preset script template, and the test script suitable for each stress test node is automatically generated, each script containing independent concurrency number and data shard configuration. The test script corresponding to the stress test node on the load generation end of the generated load generation end can be automatically distributed to each stress test node through a transmission protocol, which can be Secure File Transfer Protocol (SFTP), Secure Copy Protocol (SCP). So that each stress test node can correctly load and execute its assigned test script. The stress test nodes of the load generation end are managed through a distributed configuration center. Through automatic generation and distribution of test scripts, the workload of manual configuration is reduced, and the efficiency and flexibility of the test preparation stage are improved.

[0086] In step 102, based on the test script corresponding to the stress test node on the load generation end, the current round performance test of the target service is executed to obtain the current performance test index parameter in the current round performance test process.

[0087] Based on the test script corresponding to the stress test node on the load generation end, the current round performance test of the target service is executed to obtain the current performance test index parameter in the current round performance test process.

[0088] Specifically, the performance test index parameter is a key index for measuring the performance of the target service, including but not limited to Transactions Per Second (TPS), Response Time, Error Rate, Concurrency Level, etc. The target service needs to verify the performance, stability or functional integrity of the specific service, and the target service is the system or application to be tested, which can be a web application, an Application Programming Interface (API) interface, a microservice, a cloud service, or a function in an embedded system, etc. In this application, "round" is taken as a scheduling unit, and the performance test of each round is a complete test period, including the whole process from configuration loading to result analysis. The performance test of each round can have different test configurations, such as different total concurrency, different number of stress testing nodes. The current performance test index parameter is a set of key data reflecting the performance of the target service collected in real time by the performance test tool during the current round of performance test execution, including TPS, response time, error rate, and concurrency of each stress testing node. The current performance test index parameter is collected every preset time during the current round of performance test, dynamically records the performance changes, and helps to avoid missing inflection points or short-term abnormalities. By analyzing the current performance test index parameter, the state of the target service and the state of the load generation end can be obtained, and the performance inflection point can be identified in combination with the historical performance test index parameter, such as the critical point of TPS growth slowing down and response time suddenly increasing, and the basis for adjusting the test configuration (such as increasing the load) or verifying whether the performance meets the standard is provided. It is the core basis for performance test evaluation and decision.

[0089] In some embodiments, each stress testing node initiates a request to the target service according to the received test script. The stress testing node makes a request to the target service according to the definition in the test script. The request can be a Hypertext Transfer Protocol (HTTP) request, a database query, a message queue operation, etc. The type of request depends on the requirements of the test scenario. When the target service receives the request, it returns a corresponding response. During the current round of performance test, the performance test tool collects the following key performance indicators every preset time: TPS, response time, error rate and concurrency. The preset time can be 5 seconds. TPS is the number of transactions completed per second, which can reflect the throughput of the system. Response time is the time interval from when the stress testing node sends a request to when it receives a response. Error rate is the proportion of error responses to the total number of requests, which helps to identify potential problems. Concurrency is the number of requests initiated simultaneously, which can reflect the concurrent processing capability of the system. In addition, during the current round of performance test, the performance test system of the service persists the current performance test index parameter during the current round of performance test.

[0090] In step 103, based on the current performance test index parameters and the historical performance test index parameters in the previous round of performance test, a turning point is identified.

[0091] Specifically, the current round performance test index parameters are the key performance data collected by the system every preset time in the current test iteration (such as the Nth round), including the TPS, response time, error rate, and concurrency of the current round. The previous round historical performance test index parameters are the historical performance data collected at the same frequency (every preset time) in the previous test iteration (such as the N-1th round), including the TPS, response time, error rate, and concurrency of the previous round, which are used for comparative analysis with the current round performance test index parameters.

[0092] Optionally, at the beginning of each round, the current performance test index parameters are collected every preset time (such as 5 seconds), and the collected performance test index parameters are stored in a database or file system. At the same time, the system saves the historical performance test index parameters of the previous round for subsequent comparison and analysis. Optionally, the collected data is preprocessed as necessary, such as smoothing, removing outliers, etc., to ensure the accuracy of data analysis. For example, the moving average method can be used to smooth the TPS and response time data, reducing the impact of short-term fluctuations. Further, the current round performance test index parameters are compared and analyzed with the historical data of the previous round, and the analysis methods include difference analysis, proportion analysis, trend analysis, and application of turning point identification algorithm. Difference analysis can calculate the difference of each performance index between the current round and the previous round in the same time period, proportion analysis can calculate the proportional change of each performance index between the current round and the previous round, trend analysis can draw a curve graph to observe the trend of each performance index over time and find the mutation point. The application of turning point identification algorithm can automatically identify the significant change points in the performance data by applying specific turning point identification algorithms such as sliding window variance analysis and change point detection algorithm. For example, the data change rate of consecutive time points can be calculated, and if the change rate exceeds the set threshold, it is considered as a potential turning point. By identifying the performance turning point, the system can be found to reach the processing capacity limit in advance, so that preventive measures can be taken to avoid system crash, which helps to quickly locate the performance bottleneck or fault root cause, provides a clear direction for subsequent system optimization, reduces the workload of manual analysis through automatic turning point identification, and improves the overall efficiency and accuracy of performance test.

[0093] Reference Figure 2 In step 103, based on the current performance test index parameters and the historical performance test index parameters in the previous round of performance test, a turning point is identified.

[0094] Step 201, determining the target variance of the performance test index parameter of the current round according to the current performance test index parameter;

[0095] Step 202, determining the target variance of the performance test index parameter of the previous round according to the historical performance test index parameter;

[0096] Step 203, calculating the absolute value of the difference between the target variance of the performance test index parameter of the current round and the target variance of the performance test index parameter of the previous round;

[0097] Step 204, if the absolute value of the difference is greater than or equal to a preset value, it is determined that the performance test of the current round has a performance inflection point, and it is determined that the inflection point identification result is not empty;

[0098] Step 205, if the absolute value of the difference is less than the preset value, it is determined that the performance test of the current round does not have a performance inflection point, and it is determined that the inflection point identification result is empty.

[0099] Specifically, the target variance of the performance test index parameter of the current round can be used to measure the fluctuation degree of the current performance test index parameter in the time sequence, and the stability thereof can be quantified by calculating the variance of the current performance test index parameter in a certain time period. Referring to Figure 3 Step 201, i.e., the step of determining the target variance of the performance test index parameter of the current round according to the current performance test index parameter, comprising:

[0100] Step 301, determining a plurality of current initial TPSs, a plurality of current initial response times and a plurality of current initial error rates of the current round based on the current performance test index parameter;

[0101] Based on the current performance test index parameter collected once every preset time in the current round, a plurality of current initial TPSs (transactions per second), a plurality of current response times and a plurality of current error rates and other basic performance indicators are extracted.

[0102] Step 302, performing variance calculation on each current initial TPS to obtain the current TPS variance of the current round;

[0103] The current initial TPS is the TPS original value collected at each time point (such as once every preset time) in the current round, for example, current initial TPS: [TPS_1, TPS_2,..., TPS_n] (such as [2000, 2100,..., 2050]). Based on the plurality of current initial TPSs, the current initial TPS mean of the current round is calculated, and the current initial TPS mean is taken as the current TPS of the current round. After obtaining the current initial TPS mean, variance calculation is performed based on the current initial TPS mean and the plurality of current initial TPSs to obtain the current TPS variance of the current round.

[0104] Step 303, variance calculation is performed on each current initial response time to obtain the current response time variance of the current round;

[0105] The current initial response time is the original value of the response time collected at each time point (e.g., once per preset time) in the current round, for example, the current initial response time: [RT_1, RT_2, …, RT_n] (e.g., [180 ms, 220 ms, …, 420 ms]). The current initial response time mean of the current round is calculated based on the plurality of current initial response times, and the current initial response time mean is taken as the current response time of the current round. After obtaining the current initial response time mean, variance calculation is performed based on the current initial response time mean and the plurality of current initial response times to obtain the current response time variance of the current round.

[0106] Step 304, variance calculation is performed on each current initial error rate to obtain the current error rate variance of the current round;

[0107] The current initial error rate is the original value of the error rate collected at each time point (e.g., once per preset time) in the current round, for example, the current initial error rate: [ERR_1, ERR_2, …, ERR_n] (e.g., [0.1%, 0.2%, …, 1.5%]). The current initial error rate mean of the current round is calculated based on the plurality of current initial error rates, and the current initial error rate mean is taken as the current error rate of the current round. After obtaining the current initial error rate mean, variance calculation is performed based on the current initial error rate mean and the plurality of current initial error rates to obtain the current error rate variance of the current round.

[0108] Step 305, the maximum value among the current TPS variance, the current response time variance, and the current error rate variance is determined as the target variance of the performance test index parameter of the current round.

[0109] The current initial TPS, the current initial response time, and the current initial error rate are the basis data for variance calculation.

[0110] First, the current initial parameter mean of the current round is calculated by the following formula:

[0111]

[0112] wherein x is a current initial parameter mean value of the current round, the current initial parameter mean value can be any one of a current initial TPS mean value, a current initial response time mean value and a current initial error rate mean value, xi is a current initial parameter, the current initial parameter can be any one of a current initial TPS, a current initial response time and a current initial error rate. After obtaining the current initial parameter mean value of the current round, the current parameter variance of the current round is calculated by the following formula:

[0113]

[0114] wherein σ 2 is the current parameter variance of the current round, the current parameter variance is any one of a current TPS variance, a current response time variance and a current error rate variance.

[0115] The variance can be used to measure the dispersion degree of a group of sequence data, that is, the deviation degree of data points relative to the average value, the greater the variance, the stronger the volatility of the corresponding sequence data, and the smaller the variance, the more stable the corresponding sequence data. The target variance of the performance test index parameter of the current round is a representative value selected from a plurality of performance indicators (such as TPS variance, response time variance, error rate variance), in this application, the largest value among the current TPS variance, the current response time variance and the current error rate variance is selected as the target variance of the performance test index parameter of the current round, to reflect the most significant aspect of the current round performance fluctuation.

[0116] Specifically, the target variance of the performance test index parameter of the previous round can be used to measure the fluctuation degree of the historical performance test index parameter in time sequence, and the stability thereof can be quantified by calculating the variance of the historical performance test index parameter within a certain time period. According to the historical performance test index parameter, the steps of determining the target variance of the performance test index parameter of the previous round include: determining a plurality of historical initial TPS, a plurality of historical initial response times and a plurality of historical initial error rates of the previous round based on the historical performance test index parameter; performing variance calculation on each historical initial TPS to obtain a historical TPS variance of the previous round; performing variance calculation on each historical initial response time to obtain a historical response time variance of the previous round; performing variance calculation on each historical initial error rate to obtain a historical error rate variance of the previous round; and determining the largest value among the historical TPS variance, the historical response time variance and the historical error rate variance as the target variance of the performance test index parameter of the previous round.

[0117] As an example, based on the historical performance test index parameters collected every preset time in the previous round, a plurality of historical initial TPS (transactions per second), a plurality of historical response times, and a plurality of historical error rates, and other basic performance indexes are extracted. The historical initial TPS is the original value of TPS collected at each time point (such as once every preset time) in the previous round, for example, the historical initial TPS: [TPS_prev1, TPS_prev2,..., TPS_prevn] (such as [1800, 1900,..., 1850]); the historical initial response time is the original value of the response time collected at each time point (such as once every preset time) in the current round, for example, the historical initial response time: [RT_prev1, RT_prev2,..., RT_prevn] (such as [200 ms, 240 ms,..., 360 ms]); and the historical initial error rate is the original value of the error rate collected at each time point (such as once every preset time) in the current round, for example, the historical initial error rate: [ERR_prev1, ERR_prev2,..., ERR_prevn] (such as [0.5%, 0.6%,..., 0.9%]). The historical initial TPS, the historical initial response time, and the historical initial error rate are the basic data for variance calculation. The target variance of the performance test index parameters in the previous round is a representative value selected from a plurality of performance indexes (such as TPS variance, response time variance, and error rate variance), and in this application, the largest variance is selected as the target variance of the performance test index parameters in the previous round among the historical TPS variance, the historical response time variance, and the historical error rate variance, to reflect the most significant aspect of the performance fluctuation in the previous round.

[0118] Further, the preset value is a preset threshold value for determining whether the difference between the current round and the previous round is large enough to be considered as a performance inflection point. The performance inflection point refers to a time point at which the system performance changes significantly, usually manifested as a sudden increase or decrease in performance indicators, indicating that the system may have reached the limit of processing capacity or some abnormal situation has occurred. In the case of determining the target variance of the performance test indicator parameter of the current round and the target variance of the performance test indicator parameter of the previous round, the absolute value of the difference between the target variance of the performance test indicator parameter of the current round and the target variance of the performance test indicator parameter of the previous round is further calculated, and the absolute value of the difference is compared with the preset value. If the absolute value of the difference is greater than or equal to the preset value, it means that the performance fluctuation of the current round is significantly higher than that of the previous round, and it is determined that there is a performance inflection point in this round. Otherwise, if the difference is less than the preset value, it is considered that the performance is stable and there is no obvious inflection point. Finally, the judgment result of "existence of performance inflection point" or "non-existence of performance inflection point" is taken as the inflection point recognition result of the current test, which is used as the basis for decision whether to adjust the test configuration. The three-factor inflection point recognition algorithm proposed in the present application can detect application bottlenecks in the stress testing process in advance compared with the single-factor curve inflection point recognition of TPS. Through quantitative analysis, it automatically identifies the mutation of system performance state, avoids relying on subjective experience judgment, helps to automatically identify performance anomalies, improves test efficiency, and accurately locates the time point of performance bottleneck occurrence, providing data support for optimization.

[0119] Step 104, in the case that the inflection point recognition result is empty, determining whether the current performance test indicator parameter meets the preset performance indicator.

[0120] Specifically, the inflection point recognition result being empty means that by comparing the target variances (fluctuation amplitudes) of the performance test indicator parameters of the current round and the previous round, no significant difference is found (i.e. the absolute value of the difference is less than the preset threshold value), and it is determined that there is no performance inflection point in the current round (the performance trend is stable or continuously optimized).

[0121] The performance test indicator parameter includes at least one of the following: transaction per second (TPS), concurrency, response time, and error rate; the preset performance indicator includes at least one of the following: preset TPS, preset concurrency, preset response time, and preset error rate. The step of determining whether the current performance test indicator parameter meets the preset performance indicator includes:

[0122] In the case that the preset performance indicator includes the preset TPS, if the current TPS in the performance test indicator parameter is greater than or equal to the preset TPS, it is determined that the current performance test indicator parameter meets the preset performance indicator; otherwise, it is determined that the current performance test indicator parameter does not meet the preset performance indicator.

[0123] In a case where the preset performance index includes a preset TPS, a preset concurrency, and a preset response time, if the current TPS in the performance test index parameter is greater than or equal to the preset TPS, the current response time in the performance test index parameter is less than or equal to the preset response time, and the current concurrency in the performance test index parameter is greater than or equal to the preset concurrency, it is determined that the current performance test index parameter meets the preset performance index; otherwise, it is determined that the current performance test index parameter does not meet the preset performance index.

[0124] In a case where the preset performance index includes a preset TPS, a preset concurrency, a preset response time, and a preset error rate, if the current TPS in the performance test index parameter is greater than or equal to the preset TPS, the current response time in the performance test index parameter is less than or equal to the preset response time, the current concurrency in the performance test index parameter is greater than or equal to the preset concurrency, and the current error rate in the performance test index parameter is less than or equal to the preset error rate, it is determined that the current performance test index parameter meets the preset performance index; otherwise, it is determined that the current performance test index parameter does not meet the preset performance index.

[0125] Optionally, in a case where the preset performance index includes a preset TPS, if the current TPS in the performance test index parameter is less than the preset TPS, it is determined that the current performance test index parameter does not meet the preset performance index.

[0126] Optionally, in a case where the preset performance index includes a preset TPS, a preset concurrency, and a preset response time, if the current TPS in the performance test index parameter is less than the preset TPS, it is determined that the current performance test index parameter does not meet the preset performance index; if the current response time in the performance test index parameter is greater than the preset response time, it is determined that the current performance test index parameter does not meet the preset performance index; and if the current concurrency in the performance test index parameter is less than the preset concurrency, it is determined that the current performance test index parameter does not meet the preset performance index.

[0127] Optionally, in a case where the preset performance index includes a preset TPS, a preset concurrency, a preset response time, and a preset error rate, if the current TPS in the performance test index parameter is less than the preset TPS, it is determined that the current performance test index parameter does not meet the preset performance index; if the current response time in the performance test index parameter is greater than the preset response time, it is determined that the current performance test index parameter does not meet the preset performance index; if the current concurrency in the performance test index parameter is less than the preset concurrency, it is determined that the current performance test index parameter does not meet the preset performance index; and if the current error rate in the performance test index parameter is greater than the preset error rate, it is determined that the current performance test index parameter does not meet the preset performance index.

[0128] Specifically, the preset performance index is a performance expectation value set for the target service in the target mode according to the business requirement or the system design target before the test starts, and the preset performance index is a basis for judging whether the test result is "passed". The preset performance index includes at least one of the following: preset TPS, preset concurrency, preset response time and preset error rate. The preset TPS represents the minimum processing capacity that the target service should achieve, the preset concurrency represents the minimum number of concurrent requests that the target service should be able to handle, reflecting the carrying capacity of the target service in a high concurrency scenario, the preset response time is the maximum total time for an expected request from sending to receiving a response, and the preset error rate is the maximum error rate allowed by the target service during the test process.

[0129] As an example, in the performance test process, when the system does not detect the performance inflection point, it is further judged whether the performance test result of the current round meets the preset performance target. According to the preset performance index combination corresponding to the target mode, the key performance indicators such as TPS, response time, concurrency and error rate collected at present are compared in multiple dimensions to determine whether the current performance test indicator parameter meets the expected performance requirement. The preset performance index can include at least one content, such as preset TPS, preset concurrency, preset response time and preset error rate, and the specific judgment logic depends on the configured index combination. First, in the case where the preset performance index only includes preset TPS, if the current TPS is greater than or equal to the preset TPS value, it is determined that the current performance test indicator parameter meets the performance requirement; otherwise, it is determined that it does not meet the requirement. Secondly, when the preset performance index includes preset TPS, preset concurrency and preset response time, the following conditions must be met simultaneously: current TPS ≥ preset TPS, current response time ≤ preset response time, and current concurrency ≥ preset concurrency, in order to determine that the current performance test indicator parameter meets the preset performance index. Finally, if the preset performance index also includes the preset error rate, the condition that the current error rate ≤ preset error rate must be additionally met, and only when all four indicators meet the condition can it be determined that the current performance test indicator parameter meets the preset performance index, otherwise it is considered as not meeting the requirement.

[0130] By setting a flexible index combination mode, diversified judgment strategies under different test targets are supported. For example, for high throughput scenarios, TPS and concurrency are concerned, and for user experience sensitive systems, response time and error rate control are emphasized. By integrating these preset TPS, preset concurrency, preset response time and preset error rate into the judgment logic, the scientificity and accuracy of the test result evaluation are improved, and a reliable data foundation is also provided for subsequent automatic decision-making (such as dynamic optimization, test termination or continuous execution).

[0131] Step 105, if no, up-regulate the number of concurrents and / or the number of stress testing nodes in the test configuration, and return to execute the step of creating the test scripts corresponding to the stress testing nodes on the load generation end based on the test configuration of the current round.

[0132] Step 106, determine the performance test result of the target service according to the current performance test indicator parameter.

[0133] Specifically, in the performance test process, if the performance test indicator parameter of the current round does not meet the preset performance indicator, a series of test configuration sets (the configuration sets are set based on historical experimental data and experience) preset in advance will be automatically selected to select the next set of higher intensity configuration parameters of the current test configuration, so as to improve the test pressure. For example, the current round configuration (such as 500 concurrents) is up-regulated to the next set (such as 800 concurrents). In the case that the performance test indicator parameter of the current round does not meet the preset performance indicator, the performance of the target service under higher load is further verified by increasing the number of concurrents. Subsequently, based on the updated test configuration, the test scripts corresponding to the current round of stress testing nodes are automatically generated and deployed, and the scripts are executed on each stress testing node of the load generation end, thereby starting a new round of performance test, realizing dynamic adjustment of test intensity and automation of test task, ensuring continuous and efficient test process, and having good scalability and repeatability. If the current performance test indicator parameter meets the preset performance indicator (i.e. yes), it indicates that the target service has reached the expected performance requirement under the current test condition, and the performance test indicator parameters (such as TPS, response time, error rate, etc.) collected in the current round are confirmed as the final performance test result of the target service under the corresponding target mode.

[0134] Optionally, in the case that the current performance test indicator parameter meets the preset performance indicator, the preset performance indicator can be used as the test configuration to initiate the final round test. When the performance test result of a certain round indicates that the target service has met the performance target (i.e. the preset performance indicator) set in advance, in order to further verify the stability and repeatability of the result, the preset performance indicator can be used as a benchmark to rebuild a formal and standardized test scene, and the data is collected again to make the test conclusion have higher credibility and authority. If the current test still meets the preset indicator, the result is taken as the final performance test conclusion; otherwise, it needs to be rolled back to the previous test configuration for further optimization.

[0135] Based on the performance test method of the service provided in the present application, by obtaining the test configuration of the current round, the test script corresponding to the stress test node on the load generation end of the current round is created based on the test configuration, and the corresponding test script is generated for each stress test node according to the preset or dynamically adjusted test configuration. Based on the test script corresponding to the stress test node on the load generation end, the current performance test is performed on the target service, and the current performance test index parameter in the current performance test process is collected to simulate the terminal sending a service request to the target service and the target service responding to the service request. The performance test index parameters include TPS, response time, error rate, and concurrency. By simulating real user requests, the current performance test index parameters in the current performance test process are obtained to provide a basis for subsequent analysis. Based on the current performance test index parameters in the current performance test process and the historical performance test index parameters in the previous round of performance test, the inflection point is identified, the performance test index of the current round and the historical round is compared and analyzed, and whether there is a performance inflection point is identified to discover the bottleneck point in advance. In the case that the inflection point identification result is empty, based on the current performance test index parameters and the preset performance index corresponding to the target mode, it is determined whether the current performance test index parameters meet the preset performance index, and it is verified whether the target service meets the expected performance requirement, which helps to ensure that the target service can stably operate under normal working conditions. If not, that is, the current performance test index does not reach the preset performance index, the test configuration is adjusted to continue to increase the pressure, and the step of creating the test script corresponding to the stress test node on the load generation end of the current round based on the test configuration is executed; if yes, it is determined that the target service meets the preset performance index, and the current performance test index parameter is determined as the performance test result of the target service under the target mode, and a reliable performance test result is obtained. The performance test method of the service disclosed in the present application solves the problems of low test efficiency and inaccurate results in the prior art caused by relying on static preset configuration by introducing a dynamic adjustment mechanism. At the beginning of each round, the stress test script is automatically created and distributed to each node according to the current test configuration, ensuring that the test task is flexible and adjustable; during the test execution process, the key indicators such as TPS, response time, error rate, and concurrency are collected in real time, and the inflection point is identified in combination with the historical performance test index parameters, so as to judge whether the current round of performance test has a performance inflection point. If no inflection point is identified, it is further judged whether the current performance of the target service meets the preset target. If not, the test configuration is automatically adjusted and the script is regenerated for continuous testing, forming a closed loop feedback; if yes, it is confirmed that the performance test of the target mode is passed, and the current index is taken as the performance test result of the target service under the target mode, realizing intelligent decision and dynamic adjustment in the performance test process, avoiding the inefficiency and errors caused by traditional manual adjustment, and significantly improving the automation level, execution efficiency and result accuracy of the performance test.

[0136] In some embodiments, the step of creating, based on the test configuration, a test script corresponding to each stress testing node on the load generation end in the current round comprises:

[0137] determining the total concurrency and the number of stress testing nodes in the current round based on the test configuration;

[0138] According to the total concurrency and the number of stress testing nodes, the initial concurrency corresponding to each stress testing node is calculated, and the initial concurrency corresponding to each stress testing node is dynamically adjusted to obtain the target concurrency corresponding to each stress testing node;

[0139] According to the total concurrency and the number of stress testing nodes, the initial concurrency corresponding to each stress testing node is calculated, and the initial concurrency corresponding to each stress testing node is dynamically adjusted to obtain the target concurrency corresponding to each stress testing node;

[0140] Based on the data shard file of each stress testing node, the target concurrency corresponding to each stress testing node and the preset script template, the test script corresponding to each stress testing node is generated.

[0141] Specifically, the total concurrency is the total number of virtual users to be simulated in the current round of testing (e.g., 100,000 users placing orders simultaneously), and the number of stress testing nodes is the number of load generation end nodes participating in stress testing (e.g., 10 servers / containers), each node independently generates requests. The preset sharding rule defines how to split the test data file into multiple data shards. The preset sharding rule can be a row number splitting rule or a hash modulo rule. The data shard file is a subset of the test data after splitting, each stress testing node corresponds to a shard file, and the preset script template is a predefined test script framework, which includes common logic and variable placeholders for dynamic filling of specific parameters.

[0142] As an example, according to the current test configuration, the total concurrency required for this round of stress testing and the number of available stress testing nodes are determined, the total concurrency is divided by the number of stress testing nodes, and the initial concurrency that each stress testing node should undertake is obtained. Due to the differences in hardware performance or network conditions of different stress testing nodes, the initial concurrency is dynamically adjusted, for example, by monitoring the CPU, memory and network load of each node in real time, increasing the concurrency of nodes with abundant resources, and reducing the concurrency pressure of nodes with insufficient resources, so that a more reasonable target concurrency is finally allocated to each node, achieving global load balancing. Next, in the case of a large-capacity test data file, the test data file is divided into multiple data slice files matching the number of stress testing nodes using a preset slicing rule (such as row-based equal division, hash slicing, etc.), so that each stress testing node only uses its own part of the data, avoiding data conflicts or repeated request problems. Finally, the system automatically fills in variables and generates an independent test script suitable for the stress testing node based on the data slice file of each stress testing node, the corresponding target concurrency of each stress testing node, and the preset script template. The test script corresponding to each stress testing node can be directly deployed to the corresponding stress testing node for running, so that the entire stress testing task can be uniformly scheduled and coordinated in a distributed environment.

[0143] In some embodiments, after the step of inflection point identification based on the current performance test indicator parameter and the historical performance test indicator parameter in the previous round of performance test process, further comprising:

[0144] In the case that the inflection point identification result is not empty, obtaining the abnormal response data of the load generation end, the running state parameter of the load generation end and the performance parameter of the target service in the current round of performance test process;

[0145] Inputting the abnormal response data of the load generation end, the running state parameter of the load generation end and the performance parameter of the target service into a bottleneck detector, predicting the bottleneck source in the current round of performance test process based on the bottleneck detector, obtaining a first bottleneck prediction category, and the bottleneck detector is constructed based on a Bidirectional Encoder Representations from Transformers (BERT) model;

[0146] In the case that the first bottleneck prediction category is a load generation end bottleneck category, increasing the number of stress testing nodes in the test configuration, and returning to execute the step of creating a test script corresponding to the stress testing node on the load generation end in the current round based on the test configuration.

[0147] Specifically, the running state parameters of the load generation end are data information describing the health status of the pressure test node itself, including CPU usage, memory occupation, network delay, network connection number, etc. The performance parameters of the target service are the actual performance of the target service in the current round of performance test, such as CPU usage, memory occupation, network connection number, cache hit rate, slow query, lock waiting, etc. The abnormal response data of the load generation end is a data set of all unexpected responses encountered by the pressure test node during the test, such as timeout, error code, etc. The bottleneck detector is a classifier constructed using the pre-trained language model BERT, which is used to automatically identify and classify the performance bottleneck type from the abnormal response data of the load generation end, the running state parameters of the load generation end and the performance parameters of the target service. The first bottleneck prediction category is the prediction result output by the bottleneck detector, which explicitly indicates the most likely source of the bottleneck, such as load generation end bottleneck category, target service application bottleneck category, target service database bottleneck category or target service middleware bottleneck category, etc.

[0148] The present application proposes to develop a bottleneck detector based on the BERT model, which is used to classify the causes of the inflection point in the test execution process. Bidirectional Encoder Representations from Transformers (BERT) is a pre-trained language model based on the Transformer architecture. Through bidirectional context modeling and pre-training-fine-tuning mechanism of large-scale corpus, it can efficiently capture the semantic features of text and adapt to various downstream tasks. The core advantages are multi-task adaptability, strong modeling ability of context dependence and high efficiency of transfer learning, making it a powerful tool for processing complex semantic relationships and multi-modal data. In bottleneck detection, the multi-modal embedding capability of BERT can effectively integrate heterogeneous data such as abnormal response data of the load generation end, running state parameters of the load generation end and performance parameters of the target service. Through global attention mechanism, the potential correlation between different dimensions of data is mined, and the classification of bottleneck sources is realized. The structure of the encoder of the bottleneck detector and the bidirectional context modeling characteristics can mine the semantic differences of similar features in different pressure test stages, and the transfer learning ability of the pre-trained model reduces the dependence on labeling in small sample scenarios. Through the design of the classification head and attention analysis, the explainability of the classification result can also be improved, providing an efficient classification algorithm for bottleneck detection in performance testing. The structure of the BERT-based bottleneck detector proposed in the present application is as follows: Figure 4The bottleneck detector structure is shown. In terms of the bottleneck detector structure, the following adjustments are proposed: in the embedding layer, the abnormal response data of the load generation end, the running state parameters of the load generation end and the performance parameters of the target service are multi-modal embedded to determine the type of the bottleneck from multiple sources; in the fine-tuning layer, a bottleneck classification head is defined, and in addition to the load generation end bottleneck, the target service end bottleneck detected in the stress test process is refined into preliminary bottleneck types such as target service application bottleneck, target service database bottleneck and target service middleware bottleneck. To improve the classification effect, the following methods are proposed in the training process: a contrast learning strategy is used to construct positive and negative sample pairs (normal stress scenario vs. bottleneck scenario); a curriculum learning mechanism is introduced to gradually increase the difficulty of recognition under noise interference.

[0149] As an example, in the performance test process, after the inflection point identification is completed by comparing the performance index parameters of the current round and the previous round, if it is found that there is a significant performance fluctuation, that is, the inflection point identification result is not empty, further in-depth analysis is needed to find the root cause of the change. First, relevant data during the current round of testing is collected and organized, including abnormal response data of the load generation end, running state parameters of the load generation end, and performance parameters of the target service. The collected data covers all unexpected responses encountered during the execution process of the stress testing node (such as timeout or error code), the health status of each stress testing node itself (such as CPU usage, memory occupation, etc.), and the actual performance of the target service (such as TPS, response time, error rate, etc.). And the abnormal response data of the load generation end, the running state parameters of the load generation end, and the performance parameters of the target service are input into a bottleneck detector constructed based on the BERT model. The bottleneck detector uses deep learning technology to intelligently analyze the input data and automatically identify and classify possible bottleneck sources from complex performance data. Specifically, according to the historical data pattern and the specific performance of the current round, the most likely bottleneck category in the current round of performance testing is predicted, and the corresponding first bottleneck prediction category is output. For example, if the prediction result, i.e. the first bottleneck prediction category, is the load generation end bottleneck category, it means that the bottleneck comes from the load generation end, indicating that the existing stress testing node configuration may not be sufficient to support the required concurrency, or some nodes have resource bottlenecks, thereby affecting the effectiveness of the overall test. When the bottleneck category is determined to be the load generation end bottleneck category, the dynamic adjustment mechanism of the test configuration is automatically triggered, and the number of stress testing nodes in the test configuration is increased to increase the number of stress testing nodes participating in the next round of testing to disperse the pressure and generate sufficient concurrent requests without making any single node a bottleneck. Subsequently, based on the updated test configuration (including the number of new stress testing nodes), a test script suitable for each new stress testing node is automatically generated and deployed to the corresponding load generation end to perform a new round of performance testing task. The method provided by the present application for bottleneck prediction and dynamic adjustment of test configuration based on the inflection point identification result improves the intelligent level and efficiency of performance testing, which not only helps to quickly locate the root cause of performance problems, but also optimizes the configuration of the test environment in an automated manner, which helps to improve the stability and reliability of the performance testing system of the service.

[0150] In some embodiments, after the step of obtaining the first bottleneck prediction category based on the prediction of the bottleneck source in the current round of performance testing by the bottleneck detector, further comprising:

[0151] In the case where the first bottleneck prediction category is any one of the application bottleneck category of the target service, the database bottleneck category, or the middleware bottleneck category, it is determined that the target service does not meet the preset performance index, and the abnormal log of the target service in the current round of performance testing is obtained.

[0152] The abnormal response data of the load generation end, the abnormal log of the target service, the running state parameters of the load generation end, the performance parameters of the target service, and the current performance test index parameters are input into the performance tuning large model, and the performance tuning large model is used to perform application diagnosis on the target service to generate a corresponding bottleneck analysis report and tuning suggestions. The performance tuning large model is a large language model.

[0153] Specifically, the target service application bottleneck category refers to a bottleneck originating from the application logic code level of the target service, such as slow interface response, thread blocking, low algorithm efficiency, and the like. The target service database bottleneck category refers to a bottleneck originating from the database access layer, such as slow query, missing index, insufficient connection pool, transaction lock competition, and the like. The target service middleware bottleneck category refers to a bottleneck originating from improper use of message queues, caches, distributed locks, and the like, or resource exhaustion. The abnormal log of the target service is an error log or warning information output by the target service during the current test process, which is used to assist in locating the root cause of performance problems. The large language model captures long-distance dependency relationships in text through a self-attention mechanism and, with the help of a pre-training-fine-tuning paradigm, is constructed according to the following method: Through annual performance test tuning cases, the large language model is fine-tuned regularly to improve its performance in the performance test field, and a performance tuning large model that quickly adapts to performance tuning tasks on the basis of general language understanding capabilities is obtained. The performance tuning large model can perform system-level performance diagnosis and generate tuning suggestions by comprehensively analyzing multi-dimensional data such as the abnormal response data of the load generation end, the abnormal log of the target service, the running state parameters of the load generation end, the performance parameters of the target service, and the current performance test index parameters. The bottleneck analysis report is a detailed description of the current performance bottleneck, including bottleneck type, impact range, occurrence location, possible causes, and the like. The tuning suggestions are specific optimization measures generated by the performance tuning large model for the identified bottleneck types, such as SQL optimization, thread pool adjustment, cache addition, hardware upgrade, and the like.

[0154] As an example, in the performance test process, when the current round is identified by the BERT-based bottleneck detector to have a performance inflection point, and the first bottleneck prediction category is determined as any one of "target service application bottleneck", "database bottleneck" or "middleware bottleneck", it indicates that the performance problem of the current round does not come from the load generation end, but the target service itself has resource bottleneck or logical defects. At this time, it is determined that the current test round does not reach the preset performance indicators, and further diagnosis mechanism is triggered. All abnormal log information generated by the target service during the current round of testing is automatically collected, including but not limited to error logs, warning logs and stack trace information, which are used to analyze possible fault points and performance limiting factors. Subsequently, the abnormal response data of the load generation end, the abnormal logs of the target service, the running state parameters of the load generation end, the performance parameters of the target service and the current performance test indicator parameters are integrated and input into a performance tuning large model with large-scale knowledge base and reasoning ability. The performance tuning large model understands and pattern matches the structured and unstructured data input, combines historical tuning cases, annual performance test tuning cases and common performance problem solving strategies, and performs in-depth application layer diagnosis on the target service. The performance tuning large model generates a structured bottleneck analysis report and tuning suggestions. The bottleneck analysis report can describe the type, impact range, occurrence position and possible causes of the current performance bottleneck, and the tuning suggestions provide specific optimization measures for different bottleneck types. For example, if the first bottleneck prediction category is the target service application bottleneck category, the corresponding tuning suggestion can be to optimize code logic, reduce lock contention and improve thread utilization; if the first bottleneck prediction category is the target service database bottleneck category, the corresponding tuning suggestion can be to optimize slow SQL, add index or adjust connection pool configuration; if the first bottleneck prediction category is the target service middleware bottleneck category, the corresponding tuning suggestion can be to expand the cluster, optimize the message consumption mechanism or adjust the cache strategy. In addition, monitoring enhancement suggestions and flow limiting degradation schemes can be provided to build a more robust service architecture. After the bottleneck detector identifies the service end bottleneck, the performance tuning large model can provide reference for subsequent system expansion and performance tuning based on the abnormal response data of the load generation end, the abnormal logs of the target service, the running state parameters of the load generation end, the performance parameters of the target service and the current performance test indicator parameters.

[0155] REFERENCE Figure 5 , Figure 5A flowchart provided by the performance test method embodiment two serving the present application. Determine the test configuration of the current round, create the test script corresponding to the stress test node on the load generation end based on the test configuration; based on the test script corresponding to the stress test node on the load generation end, execute the current round performance test on the target service, obtain the current performance test index parameter in the current round performance test process, and the performance test index parameter includes TPS, response time, error rate and concurrency; based on the current performance test index parameter in the current round performance test process and the historical performance test index parameter in the previous round performance test process, perform inflection point identification; in the case that the inflection point identification result is empty, based on the current performance test index parameter and the preset performance index corresponding to the target mode, determine whether the current performance test index parameter meets the preset performance index; if not, increase the test configuration, and execute the step of creating the test script corresponding to the stress test node on the load generation end based on the test configuration; if yes, determine that the target service meets the preset performance index, and determine the current performance test index parameter as the performance test result of the target service under the target mode; in the case that the inflection point identification result is not empty, obtain the abnormal response data of the load generation end, the running state parameter of the load generation end and the performance parameter of the target service in the current round performance test process; input the abnormal response data of the load generation end, the running state parameter of the load generation end and the performance parameter of the target service into the bottleneck detector based on BERT, predict the bottleneck source in the current round performance test process based on the bottleneck detector, and obtain the first bottleneck prediction category under the target mode; in the case that the first bottleneck prediction category is the load generation end bottleneck category, increase the number of stress test nodes in the test configuration, and execute the step of creating the test script corresponding to the stress test node on the load generation end based on the test configuration; in the case that the first bottleneck prediction category is not the load generation end bottleneck category, i.e. in the case that the first bottleneck prediction category is any one of the target service application bottleneck category, the target service database bottleneck category or the target service middleware bottleneck category, it is determined that the target service does not meet the preset performance index, and the abnormal log of the target service in the current round performance test process is obtained; input the abnormal response data of the load generation end, the abnormal log of the target service, the running state parameter of the load generation end, the performance parameter of the target service and the current performance test index parameter into the performance tuning large model, perform application diagnosis on the target service based on the performance tuning large model, and generate the corresponding bottleneck analysis report and tuning suggestion.

[0156] In some embodiments, after verifying that the target service can stably and efficiently reach the preset performance index, the performance test in the high touch mode is performed on the target service. The high touch mode refers to exploring the performance limit of the test object by gradually increasing the load or extreme conditions in the performance test execution phase, aiming to detect the upper limit of the performance of the target service, and provide data support for optimization or expansion. Referring to Figure 6 ,Figure 6 A flowchart of a performance test in a stress mode for a target service is provided.

[0157] After the step of determining the performance test result of the target service according to the current performance test index parameter, the method further comprises:

[0158] When the performance test result is that the target service meets the preset performance index, the total concurrency in the test configuration is increased to obtain a second test configuration in the stress mode, and a second test script corresponding to the stress test node on the load generation end is created based on the second test configuration;

[0159] Based on the second test script corresponding to the stress test node on the load generation end, a current round performance test in the stress mode is performed on the target service to obtain a second performance test index parameter in the current performance test process;

[0160] Based on the second performance test index parameter and the second performance test index parameter in the previous round performance test process, a turning point is identified to obtain a second turning point identification result;

[0161] In a case where the second turning point identification result is empty, the total concurrency in the second test configuration is increased, and the step of creating the second test script corresponding to the stress test node on the load generation end based on the second test configuration is returned to be executed;

[0162] In a case where the second turning point identification result is not empty, second abnormal response data of the load generation end, second running state parameters of the load generation end and second performance parameters of the target service in the current performance test process are obtained;

[0163] The second abnormal response data of the load generation end, the second running state parameters of the load generation end and the second performance parameters of the target service are input into a bottleneck detector, a bottleneck source in the current round performance test process is predicted based on the bottleneck detector, and a second bottleneck prediction category in the stress mode is obtained;

[0164] In a case where the second bottleneck prediction category is a load generation end bottleneck category, the number of stress test nodes in the second test configuration is increased, and the step of creating the second test script corresponding to the stress test node on the load generation end based on the second test configuration is returned to be executed;

[0165] Until the second bottleneck prediction category is any one of a target service application bottleneck category, a target service database bottleneck category or a target service middleware bottleneck category, the second test configuration of the corresponding round is determined as a performance upper limit of the target service in the stress mode.

[0166] Optionally, after the step of determining the test configuration of the corresponding round as the performance upper limit of the target service in the stress mode, the method further comprises: performing application diagnosis on the target service based on the performance tuning large model to generate a corresponding bottleneck analysis report and tuning suggestion.

[0167] The stress mode execution has a termination condition, that is, when the bottleneck detector detects that the target service has a performance bottleneck, the termination condition is met, and no subsequent round is created. At the same time, the system initiates application diagnosis, analyzes the monitoring indicators and application logs by the performance tuning large model, and generates a bottleneck analysis report and tuning suggestion.

[0168] In order to realize the above-mentioned target mode and stress mode, the performance test system for the service provided in the present application is divided into three layers: infrastructure layer, task scheduling layer and intelligent decision-making layer. Referring to Figure 7 , Figure 7 The structure diagram of the performance test system for the service. The infrastructure layer is mainly responsible for providing stress test resources, stress test monitoring and application monitoring support for the performance test system for the service. The stress test node pool encapsulates multiple load generation ends into a resource pool, and each node uses JMeter to execute a jmx script. During the stress test, the stress test node monitoring module is responsible for monitoring and reporting the running state parameters of the load generation end, so as to timely find the resource bottleneck of the load generation end. The cloud-native application monitoring module connects the monitoring data of the service end being tested, that is, the performance parameters of the target service, to the performance test system for the service, and provides monitoring feedback and system state sensing capability. The task scheduling layer realizes the main business functions of the performance test system for the service by taking "round" as the scheduling unit. The double-mode engine provides control of the test execution target mode and stress mode. The round report aggregation realizes the fusion of the running state parameters of the load generation end, the performance parameters of the target service and the performance test index parameters during the performance test, and provides necessary contents for the performance test report. The adaptive script distribution module constructs and distributes the stress test script for each stress test node according to the stress test configuration, and the user does not need to modify the script after modifying the stress test configuration and the number of nodes.

[0169] The intelligent decision-making layer is responsible for realizing the core method of the performance test system for the service. The inflection point identification algorithm is responsible for identifying the performance inflection point in the performance test process, the bottleneck detector classifies the source of the performance bottleneck, and the performance tuning large model is responsible for diagnosing and tuning the bottleneck of the service end being tested.

[0170] It should be noted that the above examples are only used for understanding the present application and do not constitute a limitation on the performance test method of the service of the present application. Based on this technical concept, more forms of simple transformation are within the protection scope of the present application.

[0171] The present application also provides a performance test device for a service. Please refer to Figure 8The performance test device of the service comprises:

[0172] The script generation module 801 is configured to determine a test configuration of a current round, and create a test script corresponding to a stress test node on a load generation end of the current round based on the test configuration.

[0173] The performance test execution module 802 is configured to execute a current round performance test on the target service based on the test script corresponding to the stress test node on the load generation end, to obtain a current performance test index parameter in a current round performance test process.

[0174] The inflection point identification module 803 is configured to perform inflection point identification based on the current performance test index parameter and a historical performance test index parameter in a previous round performance test process.

[0175] The judgment module 804 is configured to determine whether the current performance test index parameter meets a preset performance index in a case where the inflection point identification result is empty.

[0176] The configuration adjustment module 805 is configured to increase the concurrency and / or the number of stress test nodes in the test configuration if the determination result is negative, and perform the step of creating the test script corresponding to the stress test node on the load generation end of the current round based on the test configuration.

[0177] The determination module 806 is configured to determine a performance test result of the target service according to the current performance test index parameter if the determination result is positive.

[0178] The performance test device of the service provided in the present application adopts the performance test method of the service in the above embodiments, and can solve the technical problem of inaccurate test results caused by relying on static preset configurations in the prior art. Compared with the prior art, the performance test device of the service provided in the present application has the same beneficial effects as the performance test method of the service provided in the above embodiments, and other technical features in the performance test device of the service are the same as the features disclosed in the above embodiments, which will not be repeated here.

[0179] The present application provides a service performance test device, which comprises at least one processor and a memory in communication connection with the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the service performance test method in the above embodiment one.

[0180] The following refers to Figure 9The diagram illustrates a structural schematic of a performance testing device suitable for implementing the services described in the embodiments of this application. The performance testing device for the services described in the embodiments of this application may include, but is not limited to, mobile terminals such as laptops, digital broadcast receivers, personal digital assistants (PDAs), tablet computers (PADs), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 9 The performance testing equipment for the service shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0181] like Figure 9 As shown, the service performance testing equipment may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1002 or a program loaded from storage device 1003 into random access memory (RAM) 1004. The random access memory 1004 also stores various programs and data required for the operation of the service performance testing equipment. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the input / output interface 1006: input devices 1007 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 1008 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1003 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1009. Communication device 1009 allows the service performance testing equipment to communicate wirelessly or wiredly with other devices to exchange data. Although the figure shows a service performance testing equipment with various systems, it should be understood that it is not required to implement or possess all the systems shown. More or fewer systems may be implemented or possessed alternatively.

[0182] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product comprising a computer program carried on a computer readable medium, the computer program containing program code for executing the method shown in the flowchart. In such embodiments, the computer program can be downloaded and installed from a network through a communication device, or installed from the storage device 1003, or installed from the read-only memory 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiments disclosed in the present application are executed.

[0183] The service performance testing device provided by the present application adopts the service performance testing method in the above-mentioned embodiments, and can solve the technical problem of inaccurate test results caused by relying on static preset configuration in the prior art. Compared with the prior art, the service performance testing device provided by the present application has the same beneficial effects as the service performance testing method provided by the above-mentioned embodiments, and other technical features in the service performance testing device are the same as the features disclosed in the previous embodiment method, which will not be repeated here.

[0184] It should be understood that parts of the present application can be realized by hardware, software, firmware or a combination thereof. In the description of the above-mentioned embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0185] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

[0186] The present application provides a computer readable storage medium having stored thereon computer readable program instructions (i.e. computer program) for executing the service performance testing method in the above-mentioned embodiments.

[0187] The computer readable storage medium provided in the application may be, for example, a U disk, but is not limited to an electric, magnetic, optical, electromagnetic, infrared or semiconductor system, system or device, or any combination of the above. More specific examples of the computer readable storage medium may include, but are not limited to, an electric connection with one or more conductive wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the embodiment, the computer readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer readable storage medium can be transmitted by any suitable medium, including but not limited to an electric wire, an optical cable, an RF (Radio Frequency: radio frequency), etc., or any suitable combination of the above.

[0188] The computer readable storage medium described above may be contained in the performance test device of the service, or may exist separately without being assembled into the performance test device of the service.

[0189] The computer readable storage medium described above carries one or more programs, which, when executed by the performance test device of the service, cause the performance test device of the service to: determine a test configuration of a current round, create a test script corresponding to a stress test node on a load generation end based on the test configuration; execute the current round performance test on the target service based on the test script corresponding to the stress test node on the load generation end, obtain a current performance test index parameter in the current round performance test process, simulate a terminal sending a service request to the target service and the target service responding to the service request; perform inflection point identification based on the current performance test index parameter and a historical performance test index parameter in a previous round performance test process; in a case where the inflection point identification result is empty, determine whether the current performance test index parameter meets a preset performance index; if not, increase the concurrency and / or the number of stress test nodes in the test configuration, and perform the step of creating the test script corresponding to the stress test node on the load generation end of the current round based on the test configuration; if yes, determine a performance test result of the target service according to the current performance test index parameter.

[0190] Computer program code for carrying out operations of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0191] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0192] The modules involved in the embodiments of the present application can be implemented in the manner of software or in the manner of hardware. Among them, the name of the module does not constitute a limitation of the unit itself in some cases.

[0193] The readable storage medium provided by the present application is a computer readable storage medium, which stores computer readable program instructions (i.e. computer program) for executing the performance test method of the service, and can solve the technical problem of inaccurate test results caused by relying on static preset configuration in the prior art. Compared with the prior art, the computer readable storage medium provided by the present application has the same beneficial effects as the performance test method of the service provided by the above-mentioned embodiments, and will not be described here.

[0194] The application further provides a computer program product comprising a computer program which, when executed by a processor, implements the steps of the service performance testing method.

[0195] The computer program product provided by the application can solve the technical problem of inaccurate test results caused by relying on static preset configurations in the prior art. Compared with the prior art, the beneficial effects of the computer program product provided by the application are the same as those of the service performance testing method provided by the above-mentioned embodiments, and are not described here.

[0196] The above is only some embodiments of the application, and does not limit the patent scope of the application. Any equivalent structural transformation made by using the content of the specification and drawings, or direct / indirect application in other related technical fields under the technical concept of the application is included in the patent protection scope of the application.

Claims

1. A performance test method of a service, characterized by, The performance test method of the service comprises: determining a test configuration of a current round, creating a test script corresponding to a stress test node on a load generation terminal of the current round based on the test configuration; performing a current round performance test on the target service based on the test script corresponding to the stress test node on the load generation terminal to obtain a current performance test index parameter in a current round performance test process; based on the current performance test index parameter and a historical performance test index parameter in a previous round performance test process, performing inflection point identification; in a case where the inflection point identification result is empty, determining whether the current performance test index parameter meets a preset performance index; if not, increasing the concurrency and / or the number of stress test nodes in the test configuration, and returning to the step of creating the test script corresponding to the stress test node on the load generation terminal of the current round based on the test configuration; if yes, determining a performance test result of the target service according to the current performance test index parameter.

2. The performance test method of a service according to Claim 1, wherein The step of creating the test script corresponding to the stress test node on the load generation terminal of the current round based on the test configuration comprises: determining a total concurrency and a number of stress test nodes of the current round based on the test configuration; calculating an initial concurrency corresponding to each stress test node according to the total concurrency and the number of stress test nodes, and dynamically adjusting the initial concurrency corresponding to each stress test node to obtain a target concurrency corresponding to each stress test node; segmenting a test data file into a target number of data segment files according to a preset segmentation rule, determining a data segment file of each stress test node according to the target number of data segment files, the target number being the same as the number of stress test nodes; generating a test script corresponding to each stress test node based on the data segment file of each stress test node, the target concurrency corresponding to each stress test node, and a preset script template.

3. The performance test method of a service according to Claim 1, wherein The step of performing inflection point identification based on the current performance test index parameter and the historical performance test index parameter in the previous round performance test process comprises: determining a target variance of the performance test index parameter of the current round according to the current performance test index parameter; determining a target variance of the performance test index parameter of the previous round according to the historical performance test index parameter; calculating an absolute value of a difference between the target variance of the performance test index parameter of the current round and the target variance of the performance test index parameter of the previous round; if the absolute value of the difference is greater than or equal to a preset value, determining that there is a performance inflection point in the current round performance test, and determining that the inflection point identification result is not empty; if the absolute value of the difference is less than the preset value, determining that there is no performance inflection point in the current round performance test, and determining that the inflection point identification result is empty.

4. The performance test method of a service according to Claim 3, wherein The performance test index parameter comprises a transaction per second (TPS), a response time, and an error rate. The step of determining the target variance of the performance test index parameter of the current round according to the current performance test index parameter comprises: determine a plurality of current initial TPS, a plurality of current initial response times and a plurality of current initial error rates of the current round based on the current performance test indicator parameter; perform variance calculation on each of the current initial TPS to obtain a current TPS variance of the current round; perform variance calculation on each of the current initial response times to obtain a current response time variance of the current round; perform variance calculation on each of the current initial error rates to obtain a current error rate variance of the current round; determine the target variance of the performance test indicator parameter of the current round as the largest value among the current TPS variance, the current response time variance and the current error rate variance.

5. The performance test method of a service according to Claim 3, wherein After the step of performing inflection point identification based on the current performance test indicator parameter and the historical performance test indicator parameter in the previous round performance test process, the method further comprises: In the case that the inflection point identification result is not empty, obtaining abnormal response data of the load generation end, running state parameters of the load generation end and performance parameters of the target service in the current round performance test process; inputting the abnormal response data of the load generation end, the running state parameters of the load generation end and the performance parameters of the target service into a bottleneck detector, predicting the bottleneck source in the current round performance test process based on the bottleneck detector to obtain a first bottleneck prediction category, and the bottleneck detector is constructed based on a BERT model of a transformer-based bidirectional encoder representation; In the case that the first bottleneck prediction category is a load generation end bottleneck category, increasing the number of stress test nodes in the test configuration, and returning to perform the step of creating a test script corresponding to the stress test node on the load generation end in the current round based on the test configuration.

6. The performance test method of a service according to Claim 5, wherein After the step of predicting the bottleneck source in the current round performance test process based on the bottleneck detector to obtain a first bottleneck prediction category, the method further comprises: In the case that the first bottleneck prediction category is any one of an application bottleneck category, a database bottleneck category or a middleware bottleneck category of the target service, determining that the target service does not meet the preset performance indicator, and obtaining abnormal logs of the target service in the current round performance test process; inputting the abnormal response data of the load generation end, the abnormal logs of the target service, the running state parameters of the load generation end, the performance parameters of the target service and the current performance test indicator parameter into a performance tuning large model, performing application diagnosis on the target service based on the performance tuning large model to generate a corresponding bottleneck analysis report and tuning suggestion, and the performance tuning large model is a large language model.

7. The performance test method of a service according to Claim 1, wherein The performance test indicator parameter comprises at least one of the following: transaction per second (TPS), concurrency, response time and error rate; the preset performance indicator comprises at least one of the following: preset TPS, preset concurrency, preset response time and preset error rate, and the step of determining whether the current performance test indicator parameter meets the preset performance indicator comprises: In a case where the preset performance index includes the preset TPS, if the current TPS in the performance test index parameter is greater than or equal to the preset TPS, it is determined that the current performance test index parameter meets the preset performance index; otherwise, it is determined that the current performance test index parameter does not meet the preset performance index. In a case where the preset performance index includes the preset TPS, the preset concurrency, and the preset response time, if the current TPS in the performance test index parameter is greater than or equal to the preset TPS, the current response time in the performance test index parameter is less than or equal to the preset response time, and the current concurrency in the performance test index parameter is greater than or equal to the preset concurrency, it is determined that the current performance test index parameter meets the preset performance index; otherwise, it is determined that the current performance test index parameter does not meet the preset performance index. In a case where the preset performance index includes the preset TPS, the preset concurrency, the preset response time, and the preset error rate, if the current TPS in the performance test index parameter is greater than or equal to the preset TPS, the current response time in the performance test index parameter is less than or equal to the preset response time, the current concurrency in the performance test index parameter is greater than or equal to the preset concurrency, and the current error rate in the performance test index parameter is less than or equal to the preset error rate, it is determined that the current performance test index parameter meets the preset performance index; otherwise, it is determined that the current performance test index parameter does not meet the preset performance index.

8. The performance test method of a service according to Claim 1, wherein After the step of determining the performance test result of the target service according to the current performance test index parameter, the method further includes: when the performance test result is that the target service meets the preset performance index, increasing the total concurrency in the test configuration to obtain a second test configuration in a high mode, creating a second test script corresponding to the stress test node on the load generation end based on the second test configuration; executing the current round performance test in the high mode on the target service based on the second test script corresponding to the stress test node on the load generation end to obtain a second performance test index parameter in the current performance test process; performing inflection point identification based on the second performance test index parameter and the second performance test index parameter in the previous round performance test process to obtain a second inflection point identification result; in a case where the second inflection point identification result is empty, increasing the total concurrency in the second test configuration, and returning to the step of creating the second test script corresponding to the stress test node on the load generation end based on the second test configuration; in a case where the second inflection point identification result is not empty, obtaining second abnormal response data of the load generation end, second running state parameters of the load generation end, and second performance parameters of the target service in the current performance test process; The second abnormal response data of the load generation end, the second running state parameter of the load generation end and the second performance parameter of the target service are input into a bottleneck detector, and a bottleneck source in the current round performance test process is predicted based on the bottleneck detector to obtain a second bottleneck prediction category in the stress test mode; In a case where the second bottleneck prediction category is a load generation end bottleneck category, the number of stress test nodes in the second test configuration is increased, and the step of creating the second test script corresponding to the stress test node on the load generation end based on the second test configuration is returned to be executed; Until any one of the second bottleneck prediction category is a target service application bottleneck category, a target service database bottleneck category or a target service middleware bottleneck category is detected, the second test configuration of the corresponding round is determined as the performance upper limit of the target service in the stress test mode.

9. A performance test device of a service, characterized by, The device comprises a memory, a processor and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the performance test method of the service according to any one of claims 1 to 8.

10. A storage medium, characterized by The storage medium is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by the processor to implement the steps of the performance test method of the service according to any one of claims 1 to 8.