Computer software performance testing method
Through the adaptive hierarchical load model and dynamic testing environment, combined with distributed performance testing and time series analysis, the problem of resource utilization instability and bottleneck prediction in traditional software performance testing is solved, and the stability of the system under high concurrency is achieved and Improve efficiency.
Patent Information
- Application Number
- CN202411266977.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-10
- Publication Date
- 2024-12-31
AI Technical Summary
In scenarios with high concurrency and fierce resource competition, traditional software performance testing is difficult to accurately predict performance bottlenecks, resulting in extended or crashes in system responses, and lacks dynamic adjustment capabilities and intelligent automatic tuning mechanisms, affecting user experience and business continuity.
By designing an adaptive hierarchical load model, building a dynamic testing environment, using distributed performance testing tools and time series analysis technology, automated optimization suggestions are generated to achieve elastic resource adjustment and real-time monitoring and optimization of system performance.
It improves the stability and expansion capabilities of the system in high concurrency situations, ensures that the response time is within a reasonable range, reduces manual intervention, significantly improves testing and optimization efficiency, and avoids resource bottlenecks and waste.
Smart Images

Figure CN119226157A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of software testing, and in particular to a computer software performance testing method. Background Art
[0002] Computer software refers to a set of instructions that are executed in a specific order to achieve specific computing functions or tasks. Software is divided into system software and application software, which are widely used in various industries to support daily business processes, data processing and automation. In complex systems, especially in scenarios with large-scale concurrent access and large amounts of data processing, software performance is critical to user experience and business operations. In order to ensure that the software can meet the expected performance requirements in actual operation, performance testing has become a key link in software development and operation and maintenance.
[0003] At present, with the rapid development of Internet services and large-scale enterprise applications, software is facing an increasingly complex application environment. Especially in scenarios with high concurrency and fierce resource competition, the performance of the system is prone to bottlenecks or decline. Specifically, there are several key issues that need to be solved urgently:
[0004] First, during peak periods, software systems often face sudden resource demands. Traditional static resource configurations are difficult to cope with the load when resources are tight, resulting in extended system response time or even system crashes. At the same time, resource waste is more serious during low load periods, and there is a lack of dynamic adjustment capabilities.
[0005] Secondly, traditional performance testing mainly relies on manually adjusting load scenarios, which makes it difficult to accurately predict performance bottlenecks that may occur in a specific period of time in the future. This leads to problems such as resource exhaustion and slow response at critical moments in real high-load scenarios, affecting user experience and business continuity.
[0006] Finally, existing performance testing methods usually require manual analysis and adjustment of optimization strategies, which is a cumbersome and inefficient process. The effects of system optimization need to be repeatedly tested and verified, regression testing is time-consuming, and there is a lack of intelligent automatic tuning mechanisms, which makes it difficult to quickly improve the performance of the system in high-concurrency scenarios. Summary of the invention
[0007] In view of the deficiencies of the prior art, the present invention provides a computer software performance testing method, which solves the problem of unstable resource utilization.
[0008] To achieve the above objectives, the present invention is implemented through the following technical solutions: A computer software performance testing method comprises the following steps:
[0009] S1. Determine performance test requirements and scenario design: Determine key performance indicators based on application requirements, including response time, number of concurrent users, throughput, CPU utilization, memory utilization, etc.; design an adaptive hierarchical load model;
[0010] S2. Building a dynamic test environment: Building a dynamic test environment through virtualization technology, the environment has the ability to adjust system resources on demand to support flexible adjustment of resources during the test process;
[0011] S3, Distributed performance testing: Use performance testing tools that support distributed architecture to perform tests simultaneously on multiple geographical locations, simulate concurrent access by different user groups, and evaluate the system's responsiveness and resource utilization under different load conditions;
[0012] S4. Horizontal expansion test: In a dynamic test environment, by adding or reducing virtual machine instances, containers or service nodes, the system's expansion capabilities under a multi-instance architecture are simulated to evaluate its performance in a distributed environment;
[0013] S5. Performance data collection and time series analysis: During the test, the system performance data, including CPU usage, memory usage, disk I / O and network bandwidth, are collected and analyzed through time series analysis technology; performance fluctuations are monitored in real time to identify possible performance bottlenecks and anomalies;
[0014] S6. Generate automated optimization suggestions and regression tests: Based on time series data and regression analysis technology, automatically generate optimization suggestions. Specific suggestions include resource allocation adjustment, algorithm optimization and database query improvement. After the optimization is executed, regression testing is performed to verify the optimization effect.
[0015] Preferably, in the step S1, the hierarchical load model is implemented by real-time collected performance data, the performance data including dynamic indicators such as response time, throughput, resource utilization, etc. The hierarchical load model design includes:
[0016] a. The basic load is used to simulate normal usage scenarios with a low number of user requests;
[0017] b. The intermediate load is used to simulate regular peak hours, with a moderate number of user requests;
[0018] c. Peak load is used to simulate an abnormally high concurrency stress test with the largest number of user requests;
[0019] The layered load model uses a Poisson distribution formula to simulate random user request loads. The Poisson distribution formula is:
[0020]
[0021] Where P(k;λ) is the probability of k events occurring per unit time; λ is the average event occurrence rate per unit time (e.g., the number of concurrent user requests);
[0022] The load model includes basic load, intermediate load and peak load to cover different usage scenarios.
[0023] Preferably, in step S2, the test requirements include different types of system resource utilization monitoring, including but not limited to CPU usage, memory usage, network bandwidth and disk I / O.
[0024] Preferably, in the step S2, the virtualized dynamic test environment realizes dynamic expansion and recovery of resources through Kubernetes and OpenStack management platforms.
[0025] Preferably, in the S3 step, the distributed performance testing tool can simulate user access in different geographical locations, and the tool supports multi-node synchronous operation, network delay simulation and user simulation with different bandwidths; it includes the distributed mode of Apache JMeter or the controller mode of LoadRunner, and supports synchronous execution of load tests on test nodes in multiple geographical locations.
[0026] Preferably, in the step S4, the horizontal expansion test is implemented by increasing or decreasing container or virtual machine instances, and the test content includes load balancing between instances, resource coordination during the expansion process, and the response time and resource occupancy of the system after node expansion;
[0027] The horizontal expansion test supports the simulation of different hardware configurations. The test content includes the performance of the system on high-configuration hardware resources, the bottleneck performance of the system on low-configuration hardware resources, and the expansion capability evaluation under different hardware resources.
[0028] Preferably, in the step S5, the time series analysis step uses an ARIMA model to model the performance data, predict future performance fluctuations and identify possible bottlenecks;
[0029] The time series analysis model can generate a prediction model based on historical performance data and automatically adjust the load distribution strategy in future tests to avoid performance bottlenecks;
[0030] The general formula of the ARIMA model is:
[0031]
[0032] Among them, y t is the performance value at the current time; c is the constant term; p is the order of the autoregressive part; is the autoregressive coefficient; q is the order of the moving average part; θi is the moving average coefficient; ∈ t is the error term at the current time.
[0033] Preferably, in step S6, the regression analysis technique is optimized using a linear regression formula, which is:
[0034] y=β0+β1x1+β2x2+…+β n x n +∈
[0035] Where y is the performance indicator of the system (such as response time or CPU utilization); x1, x2…, x n are different input variables (such as the number of concurrent users, the number of database queries, etc.); β0 is the intercept term; β1, β2, …, β n is the regression coefficient; ∈ is the error term.
[0036] Preferably, in the step S6, the regression analysis technology generates system performance optimization suggestions based on the collected performance data, and the optimization contents include improving resource allocation efficiency, optimizing database query and improving application algorithms;
[0037] The automated optimization suggestion generates different optimization strategies according to different system bottlenecks;
[0038] The strategies include resource adjustment plans, software architecture adjustment plans and data processing optimization plans, and regression testing is performed after the optimization is performed to verify its effectiveness.
[0039] Preferably, in step S6, the optimization adopts the gradient descent formula:
[0040]
[0041] Among them, θ is the parameter to be optimized (such as the weight in the model or the system configuration parameter); α is the learning rate, which controls the step size of each iteration; is the gradient of the objective function J(θ) with respect to the parameter θ.
[0042] The present invention provides a computer software performance testing method, which has the following beneficial effects:
[0043] 1. The present invention combines virtualization technology with Kubernetes and OpenStack to dynamically adjust system resources, support on-demand expansion and recycling, and verify the stability and expansion capability of the system under high concurrency through horizontal expansion testing, ensuring that when the number of users increases significantly, the system can allocate resources in a timely manner to avoid bottlenecks and improve overall operating efficiency.
[0044] 2. The time series analysis technology of the present invention predicts the performance bottleneck of the system in advance and automatically adjusts the future load distribution strategy. The system evenly distributes user requests during high-load periods to reduce peak load pressure, ensure that the response time is maintained within a reasonable range under high concurrency conditions, and improve system stability and user experience.
[0045] 3. The present invention automatically generates performance optimization suggestions, including resource allocation and database query improvements, and verifies their effectiveness through regression testing. This automated process improves system optimization efficiency, ensures that system performance is continuously improved under load changes, reduces manual intervention, and significantly improves the efficiency of the testing and optimization process. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Figure 1 The figure is a flow chart of the method steps of the present invention. DETAILED DESCRIPTION
[0047] The following will be combined with the drawings in the specification of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0048] Embodiment 1:
[0049] Please see attached Figure 1 The embodiment of the present invention provides a computer software performance testing method, comprising the following steps:
[0050] S1. Determine performance test requirements and scenario design: Determine key performance indicators based on application requirements, including response time, number of concurrent users, throughput, CPU utilization, and memory utilization; design an adaptive hierarchical load model;
[0051] S2. Build a dynamic test environment: Use virtualization technology to build a dynamic test environment that has the ability to adjust system resources on demand to support flexible adjustment of resources during the test process;
[0052] S3, Distributed performance testing: Use performance testing tools that support distributed architecture to perform tests simultaneously on multiple geographical locations, simulate concurrent access by different user groups, and evaluate the system's responsiveness and resource utilization under different load conditions;
[0053] S4. Horizontal expansion test: In a dynamic test environment, by adding or reducing virtual machine instances, containers or service nodes, the system's expansion capabilities under a multi-instance architecture are simulated to evaluate its performance in a distributed environment;
[0054] S5. Performance data collection and time series analysis: During the test, the system performance data, including CPU usage, memory usage, disk I / O and network bandwidth, are collected and analyzed through time series analysis technology; performance fluctuations are monitored in real time to identify possible performance bottlenecks and anomalies;
[0055] S6. Generate automated optimization suggestions and regression tests: Based on time series data and regression analysis technology, automatically generate optimization suggestions, including resource allocation adjustment, algorithm optimization, and database query improvement. After the optimization is executed, regression tests are performed to verify the optimization effect.
[0056] In step S1, the hierarchical load model is implemented through real-time collected performance data. The performance data includes dynamic indicators such as response time, throughput, and resource utilization. The hierarchical load model design includes:
[0057] a. The basic load is used to simulate normal usage scenarios with a low number of user requests;
[0058] b. The intermediate load is used to simulate regular peak hours, with a moderate number of user requests;
[0059] c. Peak load is used to simulate an abnormally high concurrency stress test with the largest number of user requests;
[0060] The layered load model uses the Poisson distribution formula to simulate random user request loads. The Poisson distribution formula is:
[0061]
[0062] Where P(k;λ) is the probability of k events occurring per unit time; λ is the average event occurrence rate per unit time (e.g., the number of concurrent user requests);
[0063] The load model includes basic load, intermediate load and peak load to cover different usage scenarios;
[0064] In step S2, the test requirements include different types of system resource utilization monitoring, including but not limited to CPU usage, memory usage, network bandwidth, and disk I / O;
[0065] In step S2, the virtualized dynamic test environment realizes dynamic expansion and recovery of resources through Kubernetes and OpenStack management platforms;
[0066] In the S3 step, the distributed performance testing tool can simulate user access in different geographical locations. The tool supports multi-node synchronous operation, network delay simulation, and user simulation with different bandwidths. It includes Apache JMeter's distributed mode or LoadRunner's controller mode, which supports synchronous execution of load tests on test nodes in multiple geographical locations.
[0067] In step S4, the horizontal expansion test is implemented by adding or reducing container or virtual machine instances. The test content includes load balancing between instances, resource coordination during expansion, and the response time and resource usage of the system after node expansion.
[0068] The horizontal expansion test supports the simulation of different hardware configurations. The test content includes the performance of the system on high-configuration hardware resources, the bottleneck performance of the system on low-configuration hardware resources, and the evaluation of the expansion capability under different hardware resources.
[0069] In step S5, the time series analysis step uses the ARIMA model to model the performance data, predict future performance fluctuations, and identify possible bottlenecks;
[0070] The time series analysis model can generate a prediction model based on historical performance data and automatically adjust the load distribution strategy in future tests to avoid performance bottlenecks;
[0071] The general formula of ARIMA model is:
[0072]
[0073] Among them, y t is the performance value at the current time; c is the constant term; p is the order of the autoregressive part; is the autoregressive coefficient; q is the order of the moving average part; θ i is the moving average coefficient; ∈ t is the error term at the current time;
[0074] In step S6, the regression analysis technique uses a linear regression formula for optimization, and the formula is:
[0075] y=β0+β1x1+β2x2+…+β n x n +∈
[0076] Where y is the performance indicator of the system (such as response time or CPU utilization); x1, x2…, x n are different input variables (such as the number of concurrent users, the number of database queries, etc.); β0 is the intercept term; β1, β2, …, β n is the regression coefficient;∈ is the error term;
[0077] In step S6, the regression analysis technology generates system performance optimization suggestions based on the collected performance data. The optimization content includes improving resource allocation efficiency, optimizing database queries, and improving application algorithms.
[0078] Automatic optimization suggestions generate different optimization strategies based on different system bottlenecks;
[0079] The strategies include resource adjustment plans, software architecture adjustment plans, and data processing optimization plans, and regression testing is performed after the optimization is executed to verify its effectiveness;
[0080] In step S6, the optimization uses the gradient descent formula:
[0081]
[0082] Among them, θ is the parameter to be optimized (such as the weight in the model or the system configuration parameter); α is the learning rate, which controls the step size of each iteration; is the gradient of the objective function J(θ) with respect to the parameter θ.
[0083] Specifically, in this embodiment, a computer software performance testing method is provided. First, the performance test requirements and scenario design are determined through step S1, and key performance indicators are determined according to the needs of actual applications, including response time, number of concurrent users, throughput, CPU utilization and memory utilization, etc., and an adaptive hierarchical load model is designed. The hierarchical load model is optimized based on real-time collected performance data. The data includes response time, throughput and resource utilization. The load model simulates the random load of user requests through the Poisson distribution formula, covering the basic load, intermediate load and peak load to ensure a wide coverage of the test scenario; then, step S2 is entered to build a dynamic test environment through virtualization technology, and Kubernetes and OpenStack management platforms are used to realize dynamic expansion and recovery of resources. The environment can adjust system resources such as CPU, memory, storage space and network bandwidth on demand to ensure that the performance test is carried out according to the actual situation during the performance test. Dynamically allocate resources according to actual needs; in step S3, a distributed performance testing tool (such as Apache JMeter's distributed mode or LoadRunner's controller mode) is used to perform distributed performance testing, and load testing is performed simultaneously on multiple geographical nodes to simulate concurrent access by different user groups. The tool supports multi-node synchronous operation, network delay simulation, and user access simulation with different bandwidths to further evaluate the system's responsiveness and resource utilization under different load conditions; subsequently, a horizontal expansion test is performed in step S4, and the horizontal expansion capability of the system is evaluated by adding or reducing container or virtual machine instances, including load balancing between instances, resource coordination during expansion, and analysis of system response time and resource occupancy after expansion. Simulations under different hardware configurations are supported to test the system's performance and bottlenecks under high-configuration and low-configuration resources; next, in step S5, the time series analysis technology is used to analyze the performance of the system under high-configuration and low-configuration resources using ARI The MA model models and analyzes the collected performance data, predicts future performance fluctuations, and identifies possible performance bottlenecks. The time series analysis model generates a prediction model based on historical performance data, automatically adjusts the load distribution strategy in future tests, and avoids the occurrence of performance bottlenecks. Finally, enter step S6 to generate automated optimization suggestions based on time series data and regression analysis technology. The regression analysis uses a linear regression formula to analyze the system performance optimization. The generated optimization suggestions include improving resource allocation efficiency, optimizing database queries, and improving application algorithms. In addition, corresponding optimization strategies are generated according to different system bottlenecks. The optimization strategies specifically involve resource allocation plans, software architecture adjustment plans, and data processing optimization plans. After executing the optimization suggestions, regression testing is performed to verify the optimization effect. The entire process also uses the gradient descent method to adjust the optimization parameters to ensure that the optimization step size is appropriate in each iteration, thereby ultimately improving the overall performance of the system.
[0084] Embodiment 2:
[0085] Implementation background and purpose:
[0086] This embodiment verifies the performance test and optimization of a large e-commerce platform under high concurrent user access. The platform's operational activities (such as promotions and flash sales) usually lead to a surge in user access in a short period of time, which may cause server response delays or even system crashes in extreme cases. In order to ensure the stability of the system and a good user experience in high-concurrency scenarios, the purposes of performance testing and optimization include:
[0087] 1. Ensure that the system response time is within a reasonable range (no more than 1 second) during peak periods;
[0088] 2. Ensure that the system can withstand 5,000 concurrent users;
[0089] 3. Optimize system resource utilization, keep CPU utilization below 80%, and memory utilization no more than 70%;
[0090] 4. Predict and avoid possible performance bottlenecks and develop load response strategies;
[0091] S1. Determine performance test requirements and scenario design:
[0092] According to the actual needs of the e-commerce platform, the following performance indicators are determined:
[0093] Response time: no more than 1 second;
[0094] Number of concurrent users: supports 5,000 users accessing at the same time;
[0095] Daily transaction volume: throughput reaches 100,000 transactions;
[0096] Resource utilization: CPU utilization does not exceed 80%, and memory utilization does not exceed 70%;
[0097] Based on these indicators, an adaptive hierarchical load model was designed, including basic load, intermediate load and peak load. In order to simulate the randomness of actual user requests, the Poisson distribution formula was adopted. In different usage scenarios, the system simulated normal daily use (low load), peak period (medium load) and large-scale concurrency during promotional activities (peak load).
[0098] S2. Build a dynamic test environment:
[0099] The test environment was built using the Kubernetes cluster and OpenStack management platform. This environment has the ability to expand and recycle system resources on demand. During the test, system resources (such as CPU, memory, storage space, and network bandwidth) can be dynamically adjusted according to the actual load conditions to ensure flexibility and elasticity of resource allocation under high concurrent loads.
[0100] Dynamically adjust resources: During promotional activities, the test environment can automatically expand the number of CPU cores and memory capacity according to system requirements to ensure that user requests can be effectively supported when resources are tight;
[0101] S3, distributed performance test:
[0102] Use Apache JMeter's distributed mode to perform performance testing on multiple geographical locations around the world, including China, the United States, and Europe, to simulate concurrent access behavior of users in different regions;
[0103] The testing tool supports multi-node synchronous operation, simulating network delays and bandwidth limitations in different geographical locations, and truly reflects the response of global users when accessing the platform;
[0104] Test results: Through distributed testing, the response time and resource usage of the system at different nodes around the world were evaluated, especially the impact of network latency and bandwidth limitations were clearly understood;
[0105] S4, horizontal expansion test:
[0106] In a dynamic test environment, a horizontal expansion test was conducted to evaluate the system's expansion capabilities by adding or reducing virtual machine instances, containers, and service nodes. Key test contents include:
[0107] Load balancing: load balancing effect among multiple instances and resource coordination;
[0108] Performance after node expansion: including changes in system response time and resource usage after expansion;
[0109] Hardware configuration simulation: Analyze bottlenecks through performance under different hardware resource configurations (high configuration and low configuration);
[0110] In the expansion test, the system's ability to scale out under high load was verified, especially when adding virtual machine instances, the load was effectively distributed and the system was stable;
[0111] S5. Performance data collection and time series analysis:
[0112] During the test, the system performance data (such as CPU usage, memory usage, and response time) was analyzed in time series using the ARI MA model. By modeling historical data, the system load peaks that may occur during the peak promotion period were predicted and performance bottlenecks were identified.
[0113] Prediction results: Through the time series prediction model, the system may reach the resource limit in some time period in the future, especially the CPU usage is close to saturation;
[0114] Automatically adjust load strategy: Based on the forecast results, a load distribution plan is formulated in advance to reduce the pressure on the system during peak periods;
[0115] S6. Generate automated optimization suggestions and regression tests:
[0116] Based on time series data and regression analysis techniques, the system generated the following optimization suggestions:
[0117] Database optimization: Optimize query strategies for certain large transaction data to reduce database response time;
[0118] Resource allocation adjustment: Increase CPU and memory resource allocation during peak periods to avoid resource bottlenecks;
[0119] Algorithm optimization: For some functions with long response time, the algorithm logic was readjusted to improve its execution efficiency;
[0120] In addition, the system automatically adjusted according to the generated optimization suggestions and optimized the parameter configuration through the gradient descent algorithm. After the optimization was performed, a regression test was performed, and the test results showed that after the optimization, the system:
[0121] 1. The response time for high-concurrency user access is greatly reduced to less than 1 second;
[0122] 2. System resource utilization has been significantly improved, with CPU utilization remaining below 80% during peak hours and memory utilization remaining below 70%;
[0123] 3. Avoided potential performance bottlenecks during promotional activities and improved the overall stability and scalability of the system;
[0124] Implementation effect:
[0125] Through the testing and optimization of this embodiment, the e-commerce platform can effectively respond to high-concurrency access requests, ensure that the system runs smoothly during peak periods such as promotional activities, significantly improve user experience, and avoid system crashes caused by resource bottlenecks;
[0126] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A computer software performance testing method, characterized in that: The following steps are involved: S1. Determine performance test requirements and scenario design: Determine key performance indicators based on application requirements, including response time, number of concurrent users, throughput, CPU utilization, memory utilization, etc.; design an adaptive hierarchical load model; S2. Building a dynamic test environment: Building a dynamic test environment through virtualization technology, the environment has the ability to adjust system resources on demand to support flexible adjustment of resources during the test process; S3, Distributed performance testing: Use performance testing tools that support distributed architecture to perform tests simultaneously on multiple geographical locations, simulate concurrent access by different user groups, and evaluate the system's responsiveness and resource utilization under different load conditions; S4. Horizontal expansion test: In a dynamic test environment, by adding or reducing virtual machine instances, containers or service nodes, the system's expansion capabilities under a multi-instance architecture are simulated to evaluate its performance in a distributed environment; S5. Performance data collection and time series analysis: During the test, the system performance data, including CPU usage, memory usage, disk I / O and network bandwidth, is collected and analyzed through time series analysis technology. Monitor performance fluctuations in real time and identify possible performance bottlenecks and anomalies; S6. Generate automated optimization suggestions and regression tests: Based on time series data and regression analysis technology, automatically generate optimization suggestions. Specific suggestions include resource allocation adjustment, algorithm optimization and database query improvement. After the optimization is executed, regression testing is performed to verify the optimization effect.
2. A computer software performance testing method according to claim 1, characterized in that: In the step S1, the hierarchical load model is implemented by real-time collected performance data, the performance data including dynamic indicators such as response time, throughput, resource utilization, etc. The hierarchical load model design includes: a. The basic load is used to simulate normal usage scenarios with a low number of user requests; b. The intermediate load is used to simulate regular peak hours, with a moderate number of user requests; c. Peak load is used to simulate an abnormally high concurrency stress test with the largest number of user requests; The layered load model uses a Poisson distribution formula to simulate random user request loads. The Poisson distribution formula is: Where P(k;λ) is the probability of k events occurring per unit time; λ is the average event occurrence rate per unit time (e.g., the number of concurrent user requests); The load model includes basic load, intermediate load and peak load to cover different usage scenarios.
3. A computer software performance testing method according to claim 1, characterized in that: In the step S2, the test requirements include different types of system resource utilization monitoring, including but not limited to CPU usage, memory usage, network bandwidth and disk I / O.
4. A computer software performance testing method according to claim 1, characterized in that: In the step S2, the virtualized dynamic test environment realizes dynamic expansion and recovery of resources through the Kubernetes and OpenStack management platforms.
5. A computer software performance testing method according to claim 1, characterized in that: In the S3 step, the distributed performance testing tool can simulate user access in different geographical locations. The tool supports multi-node synchronous operation, network delay simulation, and user simulation with different bandwidths. It includes Apache JMeter's distributed mode or LoadRunner's controller mode, which supports synchronous execution of load tests on test nodes in multiple geographical locations.
6. A computer software performance testing method according to claim 1, characterized in that: In the step S4, the horizontal expansion test is implemented by increasing or decreasing the container or virtual machine instance, and the test content includes the load balancing between the instances, the resource coordination during the expansion process, and the response time and resource usage of the system after the node expansion; The horizontal expansion test supports the simulation of different hardware configurations. The test content includes the performance of the system on high-configuration hardware resources, the bottleneck performance of the system on low-configuration hardware resources, and the expansion capability evaluation under different hardware resources.
7. A computer software performance testing method according to claim 1, characterized in that: In the step S5, the time series analysis step uses an ARIMA model to model the performance data, predict future performance fluctuations and identify possible bottlenecks; The time series analysis model can generate a prediction model based on historical performance data and automatically adjust the load distribution strategy in future tests to avoid performance bottlenecks; The general formula of the ARIMA model is: Among them, y t is the performance value at the current time; c is the constant term; p is the order of the autoregressive part; is the autoregressive coefficient; q is the order of the moving average part; θ i is the moving average coefficient; ∈ t is the error term at the current time.
8. A computer software performance testing method according to claim 1, characterized in that: In step S6, the regression analysis technique uses a linear regression formula for optimization, and the formula is: y=β0+β1x1+β2x2+…+β n x n +∈ Where y is the performance indicator of the system (such as response time or CPU utilization); x1, x2…, x n are different input variables (such as the number of concurrent users, the number of database queries, etc.); β0 is the intercept term; β1, β2, …, β n is the regression coefficient; ∈ is the error term.
9. A computer software performance testing method according to claim 1, characterized in that: In the step S6, the regression analysis technology generates system performance optimization suggestions based on the collected performance data, and the optimization content includes improving resource allocation efficiency, optimizing database queries, and improving application algorithms; The automated optimization suggestion generates different optimization strategies according to different system bottlenecks; The strategies include resource adjustment plans, software architecture adjustment plans and data processing optimization plans, and regression testing is performed after the optimization is performed to verify its effectiveness.
10. A computer software performance testing method according to claim 1, characterized in that: In the S6 step, the optimization adopts the gradient descent formula: Among them, θ is the parameter to be optimized (such as the weight in the model or the system configuration parameter); α is the learning rate, which controls the step size of each iteration; is the gradient of the objective function J(θ) with respect to the parameter θ.
Citation Information
Cited By
Storage equipment performance evaluation method and device based on dynamic pressure regulation
CN120560980A
Storage device performance evaluation method and device based on dynamic pressure regulation
CN120560980B
Reinforcement learning method and system for virtual prize distribution and storage medium
CN121329509A
Software performance test system, method and equipment under high-concurrency scene
CN121542147A
