Full link performance test method and device

CN116303072BActive Publication Date: 2026-08-28INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310324831.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-29
Publication Date
2026-08-28
Estimated Expiration
2043-03-29

AI Technical Summary

Technical Problem

[0002]业务场景性能测试中,收到的性能需求大部分是从客户角度的业务交易评估,一个业务交易对应的系统包含多个应用、多个节点、多台机器,现有技术靠人工梳理,存在耗时较多、梳理不全的问题,目前常用的全链路确定方案主要是打标签、日志分析等手段,打标签的方式需要全系统完成改造,要不然会存在断点,成本较高,短期难以见效

Benefits of technology

[0043] As can be seen from the above technical solution, this application provides a method and apparatus for end-to-end performance testing. By performing multiple pre-stress tests on all server nodes and monitoring the performance changes of each server node during each pre-stress test, server nodes belonging to the target link are determined using a preset density clustering algorithm and the performance changes. Keyword analysis is performed on the application logs of the server nodes belonging to the target link, and server nodes not belonging to the target link are removed based on the results of the keyword analysis. Performance monitoring tools are deployed on each server node on the target link, and stress test operations are initiated to collect server performance data from each server node. This effectively improves the efficiency of end-to-end performance testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116303072B_ABST
    Figure CN116303072B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a kind of full link performance test method and device, it is related to software testing field, it can also be used in financial field, method includes: to all server nodes are pre-released pressure multiple times, the performance change of each server node in each pre-released pressure process is monitored, the server node belonging to target link is determined by preset density clustering algorithm and the performance change;Keyword analysis is carried out on the application log of the server node belonging to the target link, and the server node not belonging to the target link is removed according to the result of the keyword analysis;Performance monitoring tool is deployed on each server node on the target link and pressure test operation is started, and server performance data of the each server node is collected;The application can effectively improve the efficiency of full link performance test.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of software testing, and can also be used in the financial field, specifically to a method and apparatus for end-to-end performance testing. Background Technology

[0002] In business scenario performance testing, most performance requirements received are evaluations of business transactions from the customer's perspective. A single business transaction involves multiple applications, nodes, and machines. Current technology relies on manual analysis, which is time-consuming and incomplete. Common end-to-end determination solutions mainly include tagging and log analysis. Tagging requires system-wide modifications to avoid breakpoints, is costly, and has limited short-term effectiveness. Log analysis requires analyzing logs from all machines, which is slow. Summary of the Invention

[0003] To address the problems in the prior art, this application provides a method and apparatus for end-to-end performance testing, which can effectively improve the efficiency of end-to-end performance testing.

[0004] To solve at least one of the above problems, this application provides the following technical solution:

[0005] Firstly, this application provides a method for end-to-end performance testing, including:

[0006] Multiple pre-stressing tests are performed on all server nodes, and the performance changes of each server node are monitored during each pre-stressing test. The server nodes belonging to the target link are determined by a preset density clustering algorithm and the performance changes.

[0007] Perform keyword analysis on the application logs of the server nodes belonging to the target link, and remove server nodes that do not belong to the target link based on the results of the keyword analysis;

[0008] Deploy performance monitoring tools on each server node along the target link and initiate stress testing to collect server performance data from each server node.

[0009] Furthermore, the step of determining the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes includes:

[0010] The performance change data of each server node collected during multiple pre-pressure periods are normalized.

[0011] The performance change data after normalization is classified using a preset density clustering algorithm, and the server nodes belonging to the target link are determined based on the classification results.

[0012] Furthermore, the step of eliminating server nodes that do not belong to the target link based on the keyword analysis results includes:

[0013] Determine whether the application logs of the server node belonging to the target link contain a preset specific identifier;

[0014] If not included, the server node is determined not to belong to the target link.

[0015] Furthermore, the collection of server performance data from each server node includes:

[0016] Collect various server performance metrics for each server node;

[0017] The corresponding performance tuning strategy is determined based on the server performance indicators.

[0018] Furthermore, the monitoring of performance changes of each server node during each pre-pressure release includes monitoring performance changes of each server node during a set time period before each pre-pressure release starts and during a set time period during the pre-pressure release process.

[0019] Further, the step of classifying the performance change data after normalization using a preset density clustering algorithm, and determining the server nodes belonging to the target link based on the classification results, includes:

[0020] The network traffic data, CPU utilization, and real-time connection count after the normalization process are classified using a preset density clustering algorithm.

[0021] If the network traffic data, CPU utilization, and real-time connection count are classified successfully at least once, then the server node is determined to belong to the target link.

[0022] Furthermore, the step of classifying the performance change data after normalization using a preset density clustering algorithm, and determining the server nodes belonging to the target link based on the classification results, further includes:

[0023] The performance change data after normalization is input into a preset density clustering algorithm. The change in the neighborhood parameter of the density clustering algorithm determines whether the performance change data can be clustered into a class. If so, the corresponding server node is determined to belong to the same target link.

[0024] Secondly, this application provides a full-link performance testing device, comprising:

[0025] The link node determination module is used to perform multiple pre-stress tests on all server nodes, monitor the performance changes of each server node during each pre-stress test, and determine the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes.

[0026] The node log analysis module is used to perform keyword analysis on the application logs of the server nodes belonging to the target link, and remove server nodes that do not belong to the target link based on the results of the keyword analysis.

[0027] The end-to-end load testing module is used to deploy performance monitoring tools on each server node on the target link and start load testing operations to collect server performance data of each server node.

[0028] Furthermore, the link node determination module includes:

[0029] The normalization processing unit is used to normalize the performance change data of each server node collected during multiple pre-pressure periods.

[0030] The density clustering unit is used to classify the performance change data after the normalization process using a preset density clustering algorithm, and determine the server nodes belonging to the target link based on the classification results.

[0031] Furthermore, the link node determination module also includes:

[0032] A multi-dimensional classification unit is used to classify the network traffic data, CPU utilization, and real-time connection count after the normalization process using a preset density clustering algorithm.

[0033] The subordinate determination unit is used to determine that the server node belongs to the target link if the network traffic data, CPU utilization, and real-time connection number are classified successfully at least once.

[0034] Furthermore, the node log analysis module includes:

[0035] A specific identifier determination unit is used to determine whether the application logs of the server node belonging to the target link contain a preset specific identifier;

[0036] The abnormal node removal unit is used to determine that a server node does not belong to the target link if it is not included.

[0037] Furthermore, the end-to-end stress testing module includes:

[0038] The performance indicator acquisition unit is used to collect various server performance indicators of each server node.

[0039] The performance tuning unit is used to determine the corresponding performance tuning strategy based on the server performance indicators.

[0040] Thirdly, this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the end-to-end performance testing method.

[0041] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the described end-to-end performance testing method.

[0042] Fifthly, this application provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the described end-to-end performance testing method.

[0043] As can be seen from the above technical solution, this application provides a method and apparatus for end-to-end performance testing. By performing multiple pre-stress tests on all server nodes and monitoring the performance changes of each server node during each pre-stress test, server nodes belonging to the target link are determined using a preset density clustering algorithm and the performance changes. Keyword analysis is performed on the application logs of the server nodes belonging to the target link, and server nodes not belonging to the target link are removed based on the results of the keyword analysis. Performance monitoring tools are deployed on each server node on the target link, and stress test operations are initiated to collect server performance data from each server node. This effectively improves the efficiency of end-to-end performance testing. Attached Figure Description

[0044] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0045] Figure 1 This is one of the flowcharts illustrating the end-to-end performance testing method in this application embodiment;

[0046] Figure 2 This is the second flowchart illustrating the end-to-end performance testing method in this application embodiment;

[0047] Figure 3 This is the third flowchart illustrating the end-to-end performance testing method in this application embodiment;

[0048] Figure 4This is the fourth flowchart illustrating the end-to-end performance testing method in the embodiments of this application;

[0049] Figure 5 This is the fifth flowchart illustrating the end-to-end performance testing method in this application embodiment;

[0050] Figure 6 This is one of the structural diagrams of the end-to-end performance testing device in the embodiments of this application;

[0051] Figure 7 This is the second structural diagram of the end-to-end performance testing device in the embodiments of this application;

[0052] Figure 8 This is the third structural diagram of the end-to-end performance testing device in the embodiments of this application;

[0053] Figure 9 This is the fourth structural diagram of the end-to-end performance testing device in the embodiments of this application;

[0054] Figure 10 This is the fifth structural diagram of the end-to-end performance testing device in the embodiments of this application;

[0055] Figure 11 This is a schematic diagram of pre-pressure generation in a specific embodiment of this application;

[0056] Figure 12 This is a schematic diagram of density clustering in a specific embodiment of this application;

[0057] Figure 13 This is a schematic diagram of the structure of the electronic device in the embodiments of this application. Detailed Implementation

[0058] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0059] The acquisition, storage, use, and processing of data in this application all comply with the relevant provisions of national laws and regulations.

[0060] In view of the problems existing in the prior art, this application provides a method and apparatus for end-to-end performance testing. By performing multiple pre-stress tests on all server nodes and monitoring the performance changes of each server node during each pre-stress test, server nodes belonging to the target link are determined using a preset density clustering algorithm and the performance changes. Keyword analysis is performed on the application logs of the server nodes belonging to the target link, and server nodes not belonging to the target link are removed based on the results of the keyword analysis. Performance monitoring tools are deployed on each server node on the target link, and stress test operations are initiated to collect server performance data from each server node. This effectively improves the efficiency of end-to-end performance testing.

[0061] To effectively improve the efficiency of end-to-end performance testing, this application provides an embodiment of an end-to-end performance testing method, see [link to embodiment]. Figure 1 The end-to-end performance testing method specifically includes the following:

[0062] Step S101: Perform multiple pre-stressing operations on all server nodes, monitor the performance changes of each server node during each pre-stressing process, and determine the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes.

[0063] Optionally, this application may pre-deploy nmon monitoring or other server monitoring tools on all servers to collect information on the service's network traffic, CPU, and connection count, and store it on the servers.

[0064] See Figure 11 Optionally, before conducting the actual stress test, this application can perform multiple (e.g., three) pre-stress tests, each lasting 10 minutes, to analyze the network traffic, CPU, and connection count of all servers and determine which servers have experienced significant changes.

[0065] For example, suppose the first pre-pressure release occurs at 8:10, lasting 10 minutes; the second pre-pressure release occurs at 8:30; and the third pre-pressure release occurs at 8:50. The data collected for each release must include the data from the 10 minutes preceding the pre-pressure release and the 10 minutes during the actual pressure release. Figure 11 As shown, the data collected during the three pre-pressure tests is from 8:00 to 9:00, and the data collected includes the server's network traffic, CPU usage, and number of connections.

[0066] Optionally, this application can use the DBSCAN density clustering algorithm to analyze which servers are on the target link. DBSCAN (Density-Based Spatial Clustering of Applications with Noise) is a density-based clustering algorithm that generally assumes that categories can be determined by the density of sample distribution. Samples of the same category are closely connected, meaning that there must be samples of the same category nearby for any sample in that category. By grouping closely connected samples into one category, a cluster category is obtained. By dividing all groups of closely connected samples into different categories, this application obtains the final cluster category results.

[0067] Step S102: Perform keyword analysis on the application logs of the server nodes belonging to the target link, and remove server nodes that do not belong to the target link based on the results of the keyword analysis.

[0068] Optionally, after initial screening using density clustering algorithms, this application has significantly reduced the number of servers involved in the entire chain, essentially reducing them to about 10% of the total number of servers. Then, the application logs of the selected servers are analyzed for key keywords. For example, if the pre-released customer data contains the identifier "test123", the application logs of the corresponding server are checked for this record. If a record exists, it proves that this server is a node in the chain; otherwise, the server is removed. This step further filters the remaining servers to determine which servers are truly nodes in the chain.

[0069] Step S103: Deploy performance monitoring tools on each server node on the target link and start stress testing to collect server performance data of each server node.

[0070] Optionally, after determining which servers are actually nodes on the link, this application can begin actual performance testing, performing more granular monitoring and analysis on the server nodes on the identified target link, such as performance tuning at the JVM level and code method level.

[0071] Optionally, this application can deploy Prometheus monitoring across all nodes in the supply chain. Prometheus collects monitoring data points over time, with each data point being a tuple of timestamps and values. A strictly monotonically increasing sequence of data points by timestamp is a Series addressed by an identifier. The identifier is the name of the monitoring item with a label dimension. The label dimension divides the metric space of a single monitoring item. Each monitoring item name, plus a unique label, constitutes its own time series, which has an associated value stream. The application retrieves the corresponding system CPU, memory, IO, and network information, and then obtains the aforementioned information for the corresponding time period according to the registered test time. As the load test proceeds, Prometheus collects performance information (CPU, memory, IO, network, connection count, etc.) from all servers in the supply chain nodes. Based on different load test scenarios, it focuses on analyzing the performance metrics to determine performance tuning strategies.

[0072] As described above, the end-to-end performance testing method provided in this application can effectively improve the efficiency of end-to-end performance testing by performing multiple pre-stress tests on all server nodes, monitoring the performance changes of each server node during each pre-stress test, determining server nodes belonging to the target link through a preset density clustering algorithm and the performance changes; performing keyword analysis on the application logs of the server nodes belonging to the target link, and eliminating server nodes that do not belong to the target link based on the results of the keyword analysis; deploying performance monitoring tools on each server node on the target link and starting stress test operations to collect server performance data of each server node.

[0073] In one embodiment of the end-to-end performance testing method of this application, see [link to relevant documentation]. Figure 2 It can also specifically include the following:

[0074] Step S201: Normalize the performance change data of each server node collected during multiple pre-pressure periods.

[0075] Step S202: Classify the performance change data after normalization using a preset density clustering algorithm, and determine the server nodes belonging to the target link based on the classification results.

[0076] For example, the network traffic, CPU usage, and connection count collected between 8:00 and 9:00 are normalized so that all numbers fall within the range [0,1]. The neighborhood parameter (∈,MinPts) of DBSCAN is set to (0.3,10), an empirical value that can be dynamically adjusted.

[0077] The network traffic 10 minutes before the first pre-stressing event and the network traffic 10 minutes before the first pre-stressing event are clustered using the DBSCAN algorithm. If they are divided into two categories, the server is considered to have significant traffic changes during the stressing period and belongs to a node in the entire link. Similarly, the CPU and connection count are clustered using DBSCAN to determine whether the server belongs to a node in the link.

[0078] For network traffic, the sample set is D = (x1, x2, ..., xm). Network traffic values ​​are collected every 10 seconds. Therefore, 60 network traffic values ​​are collected in the 10 minutes before the pre-pressure release, and another 60 values ​​are collected in the 10 minutes before the pre-pressure release, for a total of 120 values. These values ​​are then input into the DBSCAN algorithm. The algorithm uses the set neighborhood parameters (∈, MinPts) (0.3, 10) to determine whether the 120 values ​​can be clustered into one class. If they are clustered into one class, the network traffic is considered unchanged; if they are clustered into two classes, the network traffic is considered to have changed.

[0079] The network traffic 10 minutes before the first pre-stressing event and the network traffic 10 minutes before the first pre-stressing event are clustered using the DBSCAN algorithm. If they are divided into two categories, the server is considered to have significant traffic changes during the stressing period and belongs to a node in the entire link. Similarly, the CPU and connection count are clustered using DBSCAN to determine whether the server belongs to a node in the link.

[0080] Similarly, the server monitoring data from 10 minutes before the second pre-stressing and the data during the stressing process are clustered using the same steps as above, and the same applies to the third time.

[0081] If any one of the metrics (traffic, CPU, or connection count) in one of the three pre-stress tests is clustered into two categories, then the server is considered a node in the target link.

[0082] In one embodiment of the end-to-end performance testing method of this application, see [link to relevant documentation]. Figure 3 It can also specifically include the following:

[0083] Step S301: Determine whether the application logs of the server node belonging to the target link contain a preset specific identifier.

[0084] Step S302: If not included, then it is determined that the server node does not belong to the target link.

[0085] Optionally, after initial screening using density clustering algorithms, this application has significantly reduced the number of servers involved in the entire chain, essentially reducing them to about 10% of the total number of servers. Then, the application logs of the selected servers are analyzed for key keywords. For example, if the pre-released customer data contains the identifier "test123", the application logs of the corresponding server are checked for this record. If a record exists, it proves that this server is a node in the chain; otherwise, the server is removed. This step further filters the remaining servers to determine which servers are truly nodes in the chain.

[0086] In one embodiment of the end-to-end performance testing method of this application, see [link to relevant documentation]. Figure 4 It can also specifically include the following:

[0087] Step S401: Collect various server performance indicators of each server node.

[0088] Step S402: Determine the corresponding performance tuning strategy based on the server performance indicators.

[0089] Optionally, this application can deploy Prometheus monitoring across all nodes in the supply chain. Prometheus collects monitoring data points over time, with each data point being a tuple of timestamps and values. A strictly monotonically increasing sequence of data points by timestamp is a Series addressed by an identifier. The identifier is the name of the monitoring item with a label dimension. The label dimension divides the metric space of a single monitoring item. Each monitoring item name, plus a unique label, constitutes its own time series, which has an associated value stream. The application retrieves the corresponding system CPU, memory, IO, and network information, and then obtains the aforementioned information for the corresponding time period according to the registered test time. As the load test proceeds, Prometheus collects performance information (CPU, memory, IO, network, connection count, etc.) from all servers in the supply chain nodes. Based on different load test scenarios, it focuses on analyzing the performance metrics to determine performance tuning strategies.

[0090] In one embodiment of the end-to-end performance testing method of this application, the monitoring of the performance changes of each server node during each pre-pressure release includes monitoring the performance changes of each server node during a set time period before each pre-pressure release and during a set time period during the execution of the pre-pressure release.

[0091] In one embodiment of the end-to-end performance testing method of this application, see [link to relevant documentation]. Figure 5 It can also specifically include the following:

[0092] Step S501: Classify the network traffic data, CPU utilization, and real-time connection count after the normalization process using a preset density clustering algorithm.

[0093] Step S502: If the network traffic data, CPU utilization, and real-time connection count are classified successfully at least once, then the server node is determined to belong to the target link.

[0094] For example, network traffic, CPU usage, and connection counts collected between 8:00 and 9:00 can be normalized so that all numbers fall within the range [0,1]. The neighborhood parameter (∈,MinPts) of DBSCAN is set to (0.3,10), an empirical value that can be dynamically adjusted.

[0095] The network traffic 10 minutes before the first pre-stressing event and the network traffic 10 minutes before the first pre-stressing event are clustered using the DBSCAN algorithm. If they are divided into two categories, the server is considered to have significant traffic changes during the stressing period and belongs to a node in the entire link. Similarly, the CPU and connection count are clustered using DBSCAN to determine whether the server belongs to a node in the link.

[0096] Similarly, the server monitoring data from 10 minutes before the second pre-stressing and the data during the stressing process are clustered using the same steps as above, and the same applies to the third time.

[0097] If any one of the three pre-stressing metrics (traffic, CPU, or connection count) is clustered into two categories, then the server is considered a node in the link.

[0098] In one embodiment of the end-to-end performance testing method of this application, the step of classifying the performance change data after the normalization process using a preset density clustering algorithm and determining the server nodes belonging to the target link based on the classification results further includes:

[0099] The performance change data after normalization is input into a preset density clustering algorithm. The change in the neighborhood parameter of the density clustering algorithm determines whether the performance change data can be clustered into a class. If so, the corresponding server node is determined to belong to the same target link.

[0100] Optionally, taking network traffic as an example, the sample set is D = (x1, x2, ..., xm). Network traffic values ​​are collected every 10 seconds. In the 10 minutes before the pre-pressure release, a total of 60 network traffic values ​​are collected, and in the 10 minutes before the pre-pressure release, a total of 120 values ​​are input into the DBSCAN algorithm. The algorithm uses the set neighborhood parameters (∈, MinPts) (0.3, 10) to determine whether the 120 values ​​can be clustered into one class. If they are clustered into one class, the network traffic is considered unchanged, and the corresponding server nodes belong to the same target link. If they are clustered into two classes, the network traffic is considered to have changed.

[0101] To effectively improve the efficiency of end-to-end performance testing, this application provides an embodiment of an end-to-end performance testing apparatus for implementing all or part of the aforementioned end-to-end performance testing method. See [link to embodiment]. Figure 6 The end-to-end performance testing device specifically includes the following components:

[0102] The link node determination module 10 is used to perform multiple pre-stressing operations on all server nodes, monitor the performance changes of each server node during each pre-stressing operation, and determine the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes.

[0103] The node log analysis module 20 is used to perform keyword analysis on the application logs of the server nodes belonging to the target link, and remove server nodes that do not belong to the target link based on the results of the keyword analysis.

[0104] The end-to-end stress testing module 30 is used to deploy performance monitoring tools on each server node on the target link and start stress testing operations to collect server performance data of each server node.

[0105] As described above, the end-to-end performance testing device provided in this application embodiment can monitor the performance changes of each server node during each pre-stressing process by performing multiple pre-stressing operations on all server nodes, determine the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes, perform keyword analysis on the application logs of the server nodes belonging to the target link, and remove server nodes that do not belong to the target link based on the results of the keyword analysis, and deploy performance monitoring tools on each server node on the target link and start stress testing operations to collect server performance data of each server node, thereby effectively improving the efficiency of end-to-end performance testing.

[0106] In one embodiment of the end-to-end performance testing apparatus of this application, see [link to embodiment]. Figure 7 The link node determination module 10 includes:

[0107] The normalization processing unit 11 is used to normalize the performance change data of each server node collected during multiple pre-pressure periods.

[0108] Density clustering unit 12 is used to classify the performance change data after the normalization process using a preset density clustering algorithm, and determine the server nodes belonging to the target link based on the classification results.

[0109] In one embodiment of the end-to-end performance testing apparatus of this application, see [link to embodiment]. Figure 8 The link node determination module 10 further includes:

[0110] The multi-dimensional classification unit 13 is used to classify the network traffic data, CPU utilization, and real-time connection count after the normalization process using a preset density clustering algorithm.

[0111] Subordination determination unit 14 is used to determine that the server node belongs to the target link if the network traffic data, CPU utilization, and real-time connection number are classified successfully at least once.

[0112] In one embodiment of the end-to-end performance testing apparatus of this application, see [link to embodiment]. Figure 9 The node log analysis module 20 includes:

[0113] The specific identifier determination unit 21 is used to determine whether the application log of the server node belonging to the target link contains a preset specific identifier.

[0114] Abnormal node removal unit 22 is used to determine that the server node does not belong to the target link if it is not included.

[0115] In one embodiment of the end-to-end performance testing apparatus of this application, see [link to embodiment]. Figure 10 The end-to-end stress testing module 30 includes:

[0116] The performance index acquisition unit 31 is used to collect various server performance indicators of each server node.

[0117] The performance tuning unit 32 is used to determine the corresponding performance tuning strategy based on the server performance indicators.

[0118] In one embodiment of this application, assuming my sample set is D = (x1, x2, ..., xm), the specific density description of DBSCAN is defined as follows:

[0119] 1) ∈-neighborhood: For xj∈D, its ∈-neighborhood contains a subset of samples in the sample set D whose distance to xj is no greater than ∈, i.e., N∈(xj)={xi∈D|distance(xi,xj)≤∈}, and the number of this subset is denoted as |N∈(xj)|

[0120] 2) Core object: For any sample xj∈D, if its ∈-neighborhood N∈(xj) contains at least MinPts samples, that is, if |N∈(xj)|≥MinPts, then xj is a core object.

[0121] 3) Density reachability: If xi is located in the ∈-neighborhood of xj, and xj is a core object, then xi is said to be density reachable from xj. Note that the converse is not necessarily true; that is, in this case, we cannot say that xj is density reachable from xi, unless xi is also a core object.

[0122] 4) Density reachability: For xi and xj, if there exist sample sequences p1, p2, ..., pT such that p1 = xi, pT = xj, and pt+1 is directly reachable from pt by density, then xj is said to be density reachable from xi. In other words, density reachability satisfies transitivity. In this case, the transitive samples p1, p2, ..., pT-1 in the sequence are all core objects, because only core objects can make other samples density-reachable. Note that density reachability does not satisfy symmetry, which can be derived from the asymmetry of density-directive reachability.

[0123] 5) Density Connectivity: For xi and xj, if there exists a core object sample xk such that both xi and xj are density-reachable from xk, then xi and xj are said to be density-connected. Note that the density connectivity relationship satisfies symmetry.

[0124] from Figure 12 The above definition can be easily understood from the text. Figure 12 In the diagram, MinPts = 5, all points are core objects because their ∈-neighborhood contains at least 5 samples. Samples are non-core objects. All samples density-reachable from core objects are within a hypersphere centered on the core object; if a sample is not within the hypersphere, it is not density-reachable. The core objects connected by arrows in the diagram form a sequence of density-reachable samples. Within the ∈-neighborhood of these density-reachable sample sequences, all samples are density-connected to each other.

[0125] From a hardware perspective, in order to effectively improve the efficiency of end-to-end performance testing, this application provides an embodiment of an electronic device for implementing all or part of the content of the end-to-end performance testing method. The electronic device specifically includes the following components:

[0126] The system comprises a processor, memory, a communications interface, and a bus; wherein the processor, memory, and communications interface communicate with each other via the bus; the communications interface is used to realize information transmission between the end-to-end performance testing device and core business systems, user terminals, and related databases and other related devices; the logic controller can be a desktop computer, tablet computer, or mobile terminal, etc., and this embodiment is not limited to these. In this embodiment, the logic controller can be implemented with reference to the embodiments of the end-to-end performance testing method and the end-to-end performance testing device in the embodiments, the content of which is incorporated herein, and repeated details will not be described again.

[0127] It is understood that the user terminal may include smartphones, tablet computers, network set-top boxes, portable computers, desktop computers, personal digital assistants (PDAs), in-vehicle devices, smart wearable devices, etc. Among these, the smart wearable devices may include smart glasses, smartwatches, smart bracelets, etc.

[0128] In practical applications, the end-to-end performance testing method can be partially executed on the electronic device side as described above, or all operations can be completed on the client device. The choice can be made based on the processing power of the client device and the limitations of the user's usage scenario. This application does not impose any limitations on this. If all operations are completed on the client device, the client device may further include a processor.

[0129] The aforementioned client device may have a communication module (i.e., a communication unit) that can communicate with a remote server to achieve data transmission. The server may include a server on the task scheduling center side; in other implementation scenarios, it may also include a server on an intermediate platform, such as a server on a third-party server platform that has a communication link with the task scheduling center server. The server may include a single computer device, a server cluster consisting of multiple servers, or a distributed server structure.

[0130] Figure 13 This is a schematic block diagram illustrating the system configuration of the electronic device 9600 according to an embodiment of this application. Figure 13 As shown, the electronic device 9600 may include a central processing unit 9100 and a memory 9140; the memory 9140 is coupled to the central processing unit 9100. It is worth noting that... Figure 13 This is an example; other types of structures can also be used to supplement or replace this structure to achieve telecommunications functions or other functions.

[0131] In one embodiment, the end-to-end performance testing method functionality can be integrated into the central processing unit 9100. The central processing unit 9100 can be configured to perform the following controls:

[0132] Step S101: Perform multiple pre-stressing operations on all server nodes, monitor the performance changes of each server node during each pre-stressing process, and determine the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes.

[0133] Step S102: Perform keyword analysis on the application logs of the server nodes belonging to the target link, and remove server nodes that do not belong to the target link based on the results of the keyword analysis.

[0134] Step S103: Deploy performance monitoring tools on each server node on the target link and start stress testing to collect server performance data of each server node.

[0135] As described above, the electronic device provided in this application embodiment performs multiple pre-stress tests on all server nodes, monitors the performance changes of each server node during each pre-stress test, and determines the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes. It then performs keyword analysis on the application logs of the server nodes belonging to the target link, and removes server nodes not belonging to the target link based on the results of the keyword analysis. Finally, it deploys performance monitoring tools on each server node on the target link and initiates stress testing operations to collect server performance data from each server node, thereby effectively improving the efficiency of end-to-end performance testing.

[0136] In another embodiment, the end-to-end performance testing device can be configured separately from the central processing unit 9100. For example, the end-to-end performance testing device can be configured as a chip connected to the central processing unit 9100, and the end-to-end performance testing method function can be implemented through the control of the central processing unit.

[0137] like Figure 13 As shown, the electronic device 9600 may further include: a communication module 9110, an input unit 9120, an audio processor 9130, a display 9160, and a power supply 9170. It is worth noting that the electronic device 9600 does not necessarily need to include these components. Figure 13 All components shown; in addition, the electronic device 9600 may also include Figure 13 For components not shown, please refer to existing technologies.

[0138] like Figure 13 As shown, the central processing unit 9100, sometimes also referred to as a controller or operating control, may include a microprocessor or other processor device and / or logic device, which receives inputs and controls the operation of various components of the electronic device 9600.

[0139] The memory 9140 may be, for example, one or more of a cache, flash memory, hard drive, removable media, volatile memory, non-volatile memory, or other suitable devices. It may store the aforementioned failure-related information, and also store a program for executing that information. The central processing unit 9100 may execute the program stored in the memory 9140 to perform information storage or processing, etc.

[0140] Input unit 9120 provides input to central processing unit 9100. Input unit 9120 may be, for example, a keypad or touch input device. Power supply 9170 provides power to electronic device 9600. Display 9160 displays images and text. Display may be, for example, an LCD display, but is not limited thereto.

[0141] The memory 9140 can be a solid-state memory, such as a read-only memory (ROM), random access memory (RAM), a SIM card, etc. It can also be a memory that retains information even when power is off, can be selectively erased, and contains more data; examples of this type of memory are sometimes referred to as EPROMs. The memory 9140 can also be some other type of device. The memory 9140 includes a buffer memory 9141 (sometimes referred to as a buffer). The memory 9140 may include an application / function storage unit 9142 for storing application programs and function programs or processes for executing the operation of the electronic device 9600 via the central processing unit 9100.

[0142] The memory 9140 may also include a data storage unit 9143 for storing data, such as contacts, digital data, pictures, sounds, and / or any other data used by the electronic device. The driver storage unit 9144 of the memory 9140 may include various drivers for the electronic device's communication functions and / or for performing other functions of the electronic device (such as messaging applications, address book applications, etc.).

[0143] The communication module 9110 is a transmitter / receiver 9110 that transmits and receives signals via the antenna 9111. The communication module (transmitter / receiver) 9110 is coupled to the central processing unit 9100 to provide input signals and receive output signals, which can be the same as in a conventional mobile communication terminal.

[0144] Based on different communication technologies, multiple communication modules 9110 can be configured in the same electronic device, such as cellular network modules, Bluetooth modules, and / or wireless LAN modules. The communication module (transmitter / receiver) 9110 is also coupled to a speaker 9131 and a microphone 9132 via an audio processor 9130 to provide audio output via the speaker 9131 and receive audio input from the microphone 9132, thereby realizing typical telecommunications functions. The audio processor 9130 may include any suitable buffer, decoder, amplifier, etc. Additionally, the audio processor 9130 is coupled to a central processing unit 9100, enabling on-device recording via the microphone 9132 and on-device playback of stored sound via the speaker 9131.

[0145] Embodiments of this application also provide a computer-readable storage medium capable of implementing all steps of the end-to-end performance testing method with a server or client as the execution subject in the above embodiments. The computer-readable storage medium stores a computer program that, when executed by a processor, implements all steps of the end-to-end performance testing method with a server or client as the execution subject in the above embodiments. For example, when the processor executes the computer program, it implements the following steps:

[0146] Step S101: Perform multiple pre-stressing operations on all server nodes, monitor the performance changes of each server node during each pre-stressing process, and determine the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes.

[0147] Step S102: Perform keyword analysis on the application logs of the server nodes belonging to the target link, and remove server nodes that do not belong to the target link based on the results of the keyword analysis.

[0148] Step S103: Deploy performance monitoring tools on each server node on the target link and start stress testing to collect server performance data of each server node.

[0149] As described above, the computer-readable storage medium provided in this application embodiment effectively improves the efficiency of end-to-end performance testing by performing multiple pre-stress tests on all server nodes, monitoring the performance changes of each server node during each pre-stress test, determining server nodes belonging to the target link through a preset density clustering algorithm and the performance changes; performing keyword analysis on the application logs of the server nodes belonging to the target link, and eliminating server nodes that do not belong to the target link based on the results of the keyword analysis; deploying performance monitoring tools on each server node on the target link and starting stress test operations to collect server performance data of each server node.

[0150] Embodiments of this application also provide a computer program product capable of implementing all steps in the end-to-end performance testing method with the execution subject being a server or client in the above embodiments. When the computer program / instructions are executed by a processor, they implement the steps of the end-to-end performance testing method. For example, the computer program / instructions implement the following steps:

[0151] Step S101: Perform multiple pre-stressing operations on all server nodes, monitor the performance changes of each server node during each pre-stressing process, and determine the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes.

[0152] Step S102: Perform keyword analysis on the application logs of the server nodes belonging to the target link, and remove server nodes that do not belong to the target link based on the results of the keyword analysis.

[0153] Step S103: Deploy performance monitoring tools on each server node on the target link and start stress testing to collect server performance data of each server node.

[0154] As described above, the computer program product provided in this application embodiment effectively improves the efficiency of end-to-end performance testing by performing multiple pre-stress tests on all server nodes, monitoring the performance changes of each server node during each pre-stress test, determining server nodes belonging to the target link through a preset density clustering algorithm and the performance changes; performing keyword analysis on the application logs of the server nodes belonging to the target link, and eliminating server nodes that do not belong to the target link based on the results of the keyword analysis; deploying performance monitoring tools on each server node on the target link and starting stress test operations to collect server performance data of each server node.

[0155] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, apparatus, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0156] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (devices), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0157] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0158] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0159] Specific embodiments have been used to illustrate the principles and implementation methods of this invention. The descriptions of the embodiments above are only for the purpose of helping to understand the method and core ideas of this invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this invention. Therefore, the content of this specification should not be construed as a limitation of this invention.

Claims

1. A method for end-to-end performance testing, characterized in that, The method includes: Multiple pre-stressing tests are performed on all server nodes, and the performance changes of each server node are monitored during each pre-stressing test. The server nodes belonging to the target link are determined by a preset density clustering algorithm and the performance changes. Perform keyword analysis on the application logs of the server nodes belonging to the target link, and remove server nodes that do not belong to the target link based on the results of the keyword analysis; Deploy performance monitoring tools on each server node along the target link and initiate stress testing to collect server performance data from each server node; The step of determining the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes includes: The performance change data of each server node collected during multiple pre-pressure periods are normalized. The performance change data after normalization is classified using a preset density clustering algorithm, and the server nodes belonging to the target link are determined based on the classification results. The step of classifying the performance change data after normalization using a preset density clustering algorithm, and determining the server nodes belonging to the target link based on the classification results, includes: The network traffic data, CPU utilization, and real-time connection count after the normalization process are classified using a preset density clustering algorithm. If the network traffic data, CPU utilization, and real-time connection count are classified successfully at least once, then the server node is determined to belong to the target link; wherein, a successful classification means that the classification result is two categories.

2. The end-to-end performance testing method according to claim 1, characterized in that, The step of removing server nodes that do not belong to the target link based on the keyword analysis results includes: Determine whether the application logs of the server node belonging to the target link contain a preset specific identifier; If not included, the server node is determined not to belong to the target link.

3. The end-to-end performance testing method according to claim 1, characterized in that, The collection of server performance data for each server node includes: Collect various server performance metrics for each server node; The corresponding performance tuning strategy is determined based on the server performance indicators.

4. The end-to-end performance testing method according to claim 1, characterized in that, The monitoring of performance changes of each server node during each pre-pressure release includes monitoring performance changes of each server node during a set time period before each pre-pressure release starts and during a set time period during the pre-pressure release process.

5. The end-to-end performance testing method according to claim 1, characterized in that, The step of classifying the performance change data after normalization using a preset density clustering algorithm, and determining the server nodes belonging to the target link based on the classification results, further includes: The performance change data after normalization is input into a preset density clustering algorithm. The change in the neighborhood parameter of the density clustering algorithm is used to determine whether the performance change data can be clustered into two classes. If so, the server node is determined to belong to the target link.

6. A full-link performance testing device, characterized in that, include: The link node determination module is used to perform multiple pre-stress tests on all server nodes, monitor the performance changes of each server node during each pre-stress test, and determine the server nodes belonging to the target link through a preset density clustering algorithm and the performance changes. The node log analysis module is used to perform keyword analysis on the application logs of the server nodes belonging to the target link, and remove server nodes that do not belong to the target link based on the results of the keyword analysis. The end-to-end stress testing module is used to deploy performance monitoring tools on each server node on the target link and start stress testing operations to collect server performance data of each server node. The link node determination module includes: The normalization processing unit is used to normalize the performance change data of each server node collected during multiple pre-pressure periods. The density clustering unit is used to classify the performance change data after the normalization process using a preset density clustering algorithm, and determine the server nodes belonging to the target link based on the classification results. The link node determination module further includes: A multi-dimensional classification unit is used to classify the network traffic data, CPU utilization, and real-time connection count after the normalization process using a preset density clustering algorithm. The subordination determination unit is used to determine that the server node belongs to the target link if the network traffic data, CPU utilization, and real-time connection count are classified successfully at least once; wherein, the classification success means that the classification result is two categories.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the end-to-end performance testing method according to any one of claims 1 to 5.

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

9. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the steps of the end-to-end performance testing method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Business processing method, storage medium, processor and electronic device

    CN112559301A

  • Application fault delimiting method and device

    CN112764957A