An intelligent link stress testing method and device supporting flexible scheduling
By dynamically filtering call links and combining local and edge computing load testing, the stress configuration can be monitored and adjusted in real time, thus solving the impact of end-to-end load testing on system load. This enables the system to operate stably and efficiently under load changes, improving performance and reliability.
Patent Information
- Application Number
- CN202411586332.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-07
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2044-11-07
AI Technical Summary
End-to-end load testing can significantly increase system load, affecting the user experience for normal users. Furthermore, high-load testing requires a large amount of computing and network resources, leading to reduced system performance and reliability.
A flexible scheduling intelligent link stress testing method is adopted. By dynamically filtering the calling links and combining local stress testing and edge computing stress testing, performance data is monitored in real time, and stress configuration parameters are dynamically adjusted according to the data to ensure system load balance and stability.
Under the condition of system load balancing, the stability and reliability of end-to-end stress testing are achieved, adapting to different environments and requirements, and improving the performance and reliability of the system in actual use.
Smart Images

Figure CN119449680B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of full-link stress testing, and more particularly to an intelligent link stress testing method and device supporting flexible scheduling. BACKGROUND
[0002] Full-link stress testing is a process of simulating massive user requests and data to test the entire business chain (usually the core business chain) based on actual production business scenarios and production environments, and continuously optimizing. It aims to discover and solve the availability, scalability, and fault tolerance of the entire business system in the face of increasingly complex business scenarios and massive data impact.
[0003] Although full-link stress testing can effectively evaluate system performance, it also faces some significant challenges. It can cause significant load on the system, affecting the user experience of normal users, and high-load testing requires a large amount of computing and network resources, thereby reducing the performance and reliability of the system.
[0004] Therefore, how to improve the performance and reliability of the system during full-link stress testing is a problem that needs to be solved urgently. SUMMARY
[0005] Therefore, the present application discloses an intelligent link stress testing method and device supporting flexible scheduling, aiming to ensure that the business system remains stable and efficient under changing loads, thereby improving the stability and reliability of the system in actual use.
[0006] To achieve the above purpose, the disclosed technical solution is as follows:
[0007] The first aspect of the present application discloses an intelligent link stress testing method supporting flexible scheduling, comprising:
[0008] When receiving a call request, dynamically filter each call link corresponding to the call request from the preset call chain information;
[0009] According to the dynamic priority task scheduling algorithm and the each call link, perform stress testing task distribution; wherein the stress testing task at least includes local stress testing task and edge computing stress testing task;
[0010] Under the condition of system load balancing, execute the stress testing task;
[0011] In the process of executing the stress testing task, real-time monitor the performance data of the stress testing task;
[0012] According to the performance data, dynamically adjust the stress configuration parameters to complete the process of full-link stress testing.
[0013] Preferably, when receiving the calling request, each calling chain link corresponding to the calling request is dynamically screened out from preset calling chain information, comprising:
[0014] When receiving the calling request, a corresponding tracking mark is assigned to the calling request at a processing entry of the calling request by application, wherein the application is obtained by probe plug-in integration;
[0015] The tracking mark is sequentially passed to each processing link to record log information corresponding to the tracking mark at each processing link;
[0016] Preset calling chain information is aggregated by a preset aggregation mode, wherein the preset aggregation mode at least includes offline aggregation mode and real-time aggregation mode;
[0017] According to the log information corresponding to the tracking mark, each calling chain link corresponding to the calling request is dynamically screened out from the preset calling chain information.
[0018] Preferably, the stress testing task distribution is performed according to the dynamic priority task scheduling algorithm and the each calling chain link, comprising:
[0019] In the process of scheduling task execution, the link priority of each calling chain link is calculated by a preset link priority calculation formula to obtain each link priority score and sort;
[0020] The task priority of each calling chain link is calculated by a preset task priority calculation formula to obtain each task priority score and sort;
[0021] According to the sorted link priority score and the sorted task priority score, load balancing degree is calculated to obtain each load balancing degree;
[0022] Each scheduling decision variable is calculated according to the each load balancing degree, and a scheduling decision variable maximum value is determined from each scheduling decision variable;
[0023] The task and calling chain link corresponding to the scheduling decision variable maximum value are determined;
[0024] The task and calling chain link corresponding to the scheduling decision variable maximum value are scheduled to the node corresponding to the task corresponding to the scheduling decision variable maximum value, and the step of calculating the link priority of each calling chain link by the preset link priority calculation formula to obtain each link priority score and sort in the process of scheduling task execution is returned until the stress testing task distribution is completed.
[0025] Preferably, the stress testing task is executed under the condition of system load balancing, comprising:
[0026] monitoring the pressure configuration parameters in real time;
[0027] triggering a pressure test target updating mechanism when the pressure configuration parameters reach a preset threshold;
[0028] updating the pressure configuration parameters through the pressure test target updating mechanism to ensure system load balancing;
[0029] executing the pressure test task under the condition of system load balancing.
[0030] Preferably, during the execution of the pressure test task, the performance data of the pressure test task is monitored in real time, including:
[0031] During the execution of the local pressure test task, the key indicators of the system under different user behaviors and loads are monitored in real time;
[0032] Starting an edge computing pressure test task in an edge computing environment to simulate user access from different geographic locations;
[0033] During the execution of the edge computing pressure test task, the performance indicators of the edge nodes are monitored in real time to ensure that the performance indicators accurately reflect the performance of the system under user access from different geographic locations.
[0034] Preferably, the process of dynamically adjusting the pressure configuration parameters according to the performance data to complete the full-link pressure test includes:
[0035] If the key indicators of the local pressure test of the business system and the performance indicators of the edge nodes in the performance data do not appear abnormal, the pressure configuration parameters are dynamically adjusted according to the key indicators and performance indicators that do not appear abnormal, the local pressure test result is obtained, and the pressure configuration parameters are dynamically adjusted according to the performance indicators of the edge nodes that do not appear abnormal, the edge pressure test result is obtained, and the process of completing the full-link pressure test is completed;
[0036] If the key indicators are monitored to appear abnormal, it is determined that the state of the local pressure test task is an abnormal state, and the abnormal key indicators are diagnosed and optimized;
[0037] If the performance indicators are monitored to appear abnormal, it is determined that the state of the edge pressure test task is an abnormal state, and the abnormal performance indicators are optimized;
[0038] According to the optimized key indicators and the optimized performance indicators, the pressure configuration parameters are dynamically adjusted to obtain the pressure test result, and the process of completing the full-link pressure test is completed.
[0039] Preferably, after the process of dynamically adjusting the pressure configuration parameters according to the performance data to complete the full-link pressure test, it further includes:
[0040] Identify system performance bottlenecks to obtain an identification result;
[0041] Compare the identification result with the local stress test result and the edge stress test result respectively to obtain an analysis result;
[0042] Formulate and implement an optimization scheme according to the analysis result.
[0043] The second aspect of the application discloses an intelligent link stress testing device supporting flexible scheduling, the device comprising:
[0044] A dynamic screening unit is configured to dynamically screen each call link corresponding to a call request from preset call chain information when the call request is received.
[0045] A distribution unit is configured to distribute stress testing tasks according to a dynamic priority task scheduling algorithm and the each call link; wherein the stress testing tasks at least include local stress testing tasks and edge computing stress testing tasks.
[0046] An execution unit is configured to execute the stress testing tasks under the condition of system load balancing.
[0047] A real-time monitoring unit is configured to monitor performance data of the stress testing tasks in real time during execution of the stress testing tasks.
[0048] A dynamic adjustment unit is configured to dynamically adjust pressure configuration parameters according to the performance data to complete the process of full-link stress testing.
[0049] Preferably, the dynamic screening unit comprises:
[0050] An allocation module is configured to allocate a corresponding tracking flag for the call request by applying at the processing entry of the call request when the call request is received; wherein the application is obtained by probe plug-in integration.
[0051] A transfer recording module is configured to sequentially transfer the tracking flag to each processing link to record log information corresponding to the tracking flag at each processing link.
[0052] An aggregation module is configured to aggregate preset call chain information by a preset aggregation method; wherein the preset aggregation method at least includes an offline aggregation method and a real-time aggregation method.
[0053] A dynamic screening module is configured to dynamically screen each call link corresponding to the call request from the preset call chain information according to the log information corresponding to the tracking flag.
[0054] Preferably, the distribution unit comprises:
[0055] The first calculation module is configured to calculate the link priority of each calling link by using a preset link priority calculation formula during the process of scheduling task execution, to obtain link priority scores of each link and sort them;
[0056] The second calculation module is configured to calculate the task priority of each calling link by using a preset task priority calculation formula, to obtain priority scores of each task and sort them;
[0057] The third calculation module is configured to calculate the load balancing degree according to the sorted link priority scores and the sorted task priority scores, to obtain each load balancing degree;
[0058] The calculation and determination module is configured to calculate each scheduling decision variable according to the load balancing degrees, and determine a maximum scheduling decision variable from the scheduling decision variables;
[0059] The first determination module is configured to determine the task and the calling link corresponding to the maximum scheduling decision variable;
[0060] The scheduling module is configured to schedule the task and the calling link corresponding to the maximum scheduling decision variable to a node corresponding to the task corresponding to the maximum scheduling decision variable, and return to the step of calculating the link priority of each calling link by using a preset link priority calculation formula during the process of scheduling task execution, to obtain link priority scores of each link and sort them, until the stress testing task distribution is completed.
[0061] According to the above technical solution, the application discloses an intelligent link stress testing method and device supporting flexible scheduling. When a calling request is received, each calling link corresponding to the calling request is dynamically filtered from the preset calling chain information, and stress testing task distribution is performed according to the dynamic priority task scheduling algorithm and each calling link. The stress testing task at least includes a local stress testing task and an edge computing stress testing task. Under the condition of system load balancing, the stress testing task is executed, the performance data of the stress testing task is monitored in real time during the execution of the stress testing task, the pressure configuration parameters are dynamically adjusted according to the performance data, and the process of full-link stress testing is completed.
[0062] Through the above scheme, under the condition of system load balancing, the stress testing task is executed, distributed management of the stress testing task is supported, the stress testing task can be modified according to the pressure configuration parameters, and through the combination of local stress testing and edge computing stress testing, performance testing from a single point to a distributed environment can be comprehensively covered, key indicators of a business system can be tracked in real time, performance anomalies can be discovered in time and task parameters can be adjusted, different environments and demands can be adapted to, and the business system can be kept stable and efficient under changing loads, so as to improve the stability and reliability of the system in actual use. BRIEF DESCRIPTION OF DRAWINGS
[0063] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the accompanying drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced. Obviously, the accompanying drawings in the following description only represent some embodiments of the present application, and for those skilled in the field, other drawings can be obtained without creative effort based on the provided drawings.
[0064] Figure 1 A flowchart of a smart link stress testing method supporting flexible scheduling disclosed by an embodiment of the present application;
[0065] Figure 2 A low-invasive JavaAgent probe technology schematic diagram disclosed by an embodiment of the present application;
[0066] Figure 3 A stress testing task scheduling flowchart disclosed by an embodiment of the present application;
[0067] Figure 4 A whole flowchart of a smart link stress testing method supporting flexible scheduling disclosed by an embodiment of the present application;
[0068] Figure 5 A structure schematic diagram of a smart link stress testing device supporting flexible scheduling disclosed by an embodiment of the present application;
[0069] Figure 6 A structure schematic diagram of an electronic device disclosed by an embodiment of the present application. DETAILED DESCRIPTION
[0070] The technical solutions in the embodiments of the present application will be described clearly and completely below with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments only represent some of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative effort fall within the scope of the present application.
[0071] In the present application, the term “comprising” or “including” or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitation, the element defined by the statement “including a…” does not exclude the presence of another identical element in the process, method, article or device including the element.
[0072] As can be known from the background art, although the full-link stress testing can effectively evaluate the system performance, it also faces some significant challenges. It can cause significant load to the system, affecting the user experience of normal users, and high-load testing requires a large amount of computing and network resources, thereby reducing the performance and reliability of the system. Therefore, how to improve the performance and reliability of the system in the process of full-link stress testing is an urgent problem to be solved by the present application.
[0073] In order to solve the above problems, the present application discloses an intelligent link stress testing method and device supporting flexible scheduling. Under the condition of system load balancing, the stress testing task is executed, the stress testing task is distributedly managed, the stress testing task can be modified according to the stress configuration parameters, and through the combination of local stress testing and edge computing stress testing, the performance testing from single point to distributed environment can be comprehensively covered, the key indicators of the business system are tracked in real time, the performance abnormalities are found in time and the task parameters are adjusted, different environments and demands are adapted to, so as to ensure that the business system remains stable and efficient under the changing load, thereby improving the stability and reliability of the system in actual use. The specific implementation manner is specifically explained by the following embodiments.
[0074] Reference Figure 1 As shown in the figure, the intelligent link stress testing method supporting flexible scheduling disclosed by the embodiments of the present application mainly includes the following steps:
[0075] S101: When receiving the calling request, dynamically filter each calling link corresponding to the calling request from the preset calling chain information.
[0076] Among them, the preset calling chain information is the entire calling chain information obtained by aggregating through specific rules. The entire calling chain information includes calling chain identifier (TraceId), calling segment identifier (SpanId), parent Span identifier (ParentSpanId), start time (StartTime), end time (EndTime), duration (Duration), service name (ServiceName), operation name (OperationName), log information (Log), tag information (Tags), error information (ErrorInformation), caller / callee information (Caller / Callee Information).
[0077] Through the above preset calling chain information, the complete calling process of a request from the beginning to the end can be clearly observed, and then each calling chain corresponding to the calling request meeting the conditions is filtered according to specific rules (such as the link with response time exceeding 3 seconds and containing exceptions) in order to perform performance optimization and exception troubleshooting.
[0078] To better understand the process of dynamically selecting the corresponding call chains from the preset call chain information when a call request is received, and the process of achieving zero-intrusion on business code by integrating application probes and automatically sorting out the call chains using application probes, an example is provided below:
[0079] For example, by integrating a probe plugin (JavaAgent) into an application, when the application receives a call request, the probe assigns a TraceId to the request at the entry point of the call request processing. This TraceId is then passed to the next processing stage in sequence, and logs are recorded at each processing stage. Through this TraceId, the log information of the entire processing path from start to finish can be queried. After aggregation by specific rules (such as links with response time exceeding 3 seconds and containing exceptions), the entire call chain information can be obtained.
[0080] The principle of low-intrusion JavaAgent probe technology is as follows: Figure 2 As shown, by loading the probe plugin's bytecode file into the JVM's method area during JVM initialization, and replacing the original methods in the business system used for database operations, caching operations, web containers, and RPC request sending with the modified classes, the goal of adding end-to-end load testing functionality can be achieved without modifying the business code.
[0081] Figure 2 This demonstrates a class loading and transformation process based on the JavaAgent and ClassFileTransformer mechanisms. The ClassFileTransformer mechanism is a core component of Java Agent technology, used to modify the bytecode of class files before the JVM loads them.
[0082] 1. Agent injection: Figure 2 The Agent in the process is injected into the JVM and begins execution;
[0083] 2. Plugin loading: The Agent loads plugins, which contain code that implements specific functions, such as performance monitoring and logging.
[0084] 3. Class loading request: A class in the application's JAR file is requested to be loaded by the JVM. At this time, ClassFileTransformerDispatcher will intercept the loading request;
[0085] 4. Class loading and transformation: ClassFileTransformerDispatcher modifies or enhances the class based on the loaded plugins, and then loads the modified class bytecode into the JVM method area.
[0086] Specifically, when receiving the invocation request, each invocation link corresponding to the invocation request is dynamically screened out from the preset invocation chain information, as shown in A1-A4:
[0087] A1: When receiving the invocation request, a corresponding tracking flag is assigned to the invocation request at the processing entry of the invocation request by application; wherein the application is obtained by probe plug-in integration.
[0088] A2: The tracking flag is sequentially passed to each processing link to record the log information corresponding to the tracking flag at each processing link.
[0089] Wherein, each processing link represents each processing link from the beginning of the invocation to the end of the invocation.
[0090] A3: The preset invocation chain information (the entire invocation chain information) is aggregated by a preset aggregation mode; wherein the preset aggregation mode at least includes an offline aggregation mode and a real-time aggregation mode.
[0091] Wherein, the preset invocation chain information is used to query the log information corresponding to the tracking flag recorded by each processing link. The log information corresponding to the tracking flag is the log information in the complete invocation process from the beginning of the invocation to the end of the invocation.
[0092] The specific preset aggregation mode is as follows:
[0093] The offline aggregation mode is used to accurately calculate the global topology data before each stress test, that is, to periodically generate a topology graph according to a set of predefined aggregation rules.
[0094] It should be noted that the aggregation rules are customized by users in combination with business characteristics, for example, a certain order interface can be further divided into clothing, jewelry or digital products according to the commodity category. In the optimization process, the real-time aggregation mode is used to dynamically screen the invocation chain and generate a topology graph according to the user-specified query conditions. For example, the system screens the invocation links with response time exceeding 3 seconds from the invocation chain data in all invocation links according to the query conditions (such as viewing the invocation chain with response time exceeding 3 seconds and containing exceptions), and then finds the links containing abnormal calls from these screened invocation links. If the number of finally screened links exceeds 5000, the system will select the first 5000 for processing and generate the corresponding topology graph. This is because when the detailed data of the invocation chain meeting the conditions exceeds a certain threshold, it may cause the real-time aggregation calculation node to be overloaded, therefore, the upper limit of the aggregation number in the present application can be preferably set to 5000.
[0095] Wherein, the response time, the number of links, the threshold, and the upper limit of the aggregation number are set according to the actual situation, which is not limited in the present application.
[0096] A4: According to the log information corresponding to the tracking mark, each call chain corresponding to the call request is screened out from the preset call chain information.
[0097] Among them, the information of each call chain recorded in the log information corresponding to the tracking mark.
[0098] In A4, according to the information of each call chain recorded in the log information corresponding to the tracking mark, each call chain whose response time exceeds 3 seconds is screened out from the call chain data in all call chains according to the query condition (viewing the response time exceeding 3 seconds and the call chain containing an exception).
[0099] Each call chain is automatically combed, and the bytecode enhancement technology is used to dynamically modify the code when the Java virtual machine (JVM) loads the public component library, so as to achieve zero-invasion to the business code.
[0100] In the process of automatically combing each call chain, two tasks are included, one is to access the application probe, and the other is to automatically comb the call chain through the application probe. Specifically, the automatic combing of the call chain through the application probe is realized by accessing the application probe.
[0101] S102: According to the dynamic priority task scheduling algorithm and each call chain, the stress testing task distribution is performed; wherein the stress testing task at least includes the local stress testing task and the edge computing stress testing task.
[0102] In S102, the stress testing task is defined in the task scheduling system, and the stress testing task distribution is performed based on the dynamic priority scheduling algorithm and each call chain.
[0103] Among them, defining the stress testing task includes defining the performance index, formulating the test scene and setting the stress testing target.
[0104] The performance index includes response time (page loading time, request response time), throughput, number of concurrent users, system stability, etc.
[0105] Four kinds of load testing scenes are set in the present application, which are normal load, high load, peak load and continuous load. The stress testing target includes service level agreement (SLA), (SLA sets the response time requirement of key operation), performance benchmark (sets the performance requirement of system under different load conditions), etc.
[0106] For a newly online system, the application sets stress testing targets in collaboration with performance engineers, business teams, etc. For an in-operation system, the application continuously tracks system performance through automated monitoring tools and updates stress testing targets according to real-time data. Specifically, when the in-operation system starts, performance engineers and business teams jointly discuss and set initial stress testing targets. As the in-operation system runs, the monitoring tool Grafana collects system performance data in real time. When the monitoring indicators reach or exceed the set threshold (the threshold is set according to actual conditions, which is not limited in the application), the stress testing target updating mechanism is triggered, and the stress testing targets are dynamically adjusted.
[0107] Among them, dynamically adjusting the stress testing target includes but is not limited to increasing or decreasing the load target, adjusting the response time requirement, modifying the throughput target, etc.
[0108] Specifically, the process of stress testing task distribution according to the dynamic priority task scheduling algorithm and each calling link is as shown in Figure 3 and B1-B6.
[0109] In Figure 3 , the link priority of each calling link is calculated and sorted;
[0110] The task priority of each calling link is calculated and sorted;
[0111] According to the sorted link priority of each calling link and the sorted task priority of each calling link, the load balancing degree is calculated;
[0112] According to each load balancing degree, the scheduling decision variable is calculated, and the maximum scheduling decision variable is determined from the scheduling decision variable;
[0113] The task and calling link corresponding to the maximum scheduling decision variable are determined, and the task scheduling is performed;
[0114] Determine whether it is the last task;
[0115] If yes, end the process of stress testing task distribution;
[0116] If not, return to execute the step of calculating and sorting the link priority of each calling link until all tasks in the stress testing task are distributed.
[0117] In order to facilitate the understanding of the process of stress testing task distribution according to the dynamic priority task scheduling algorithm and each calling link, an example is given for illustration:
[0118] During the "Double Eleven" promotion activities of an e-commerce platform, full-link stress testing is needed to ensure the stability and performance of the system under high traffic conditions. The following are the specific implementation steps of task scheduling:
[0119] Scenario setup: Link 1, user login; Link 2, product browsing; Link 3, cart operation. Task 1, user login function test; Task 2, product loading performance test; Task 3, cart adding product test;
[0120] Data setting:
[0121] Link 1: W d = 0.5, W th = 0.3, W b = 0.1, W p = 0.1;
[0122] Link 2: W d = 0.4, W th = 0.4, W b = 0.2, W p = 0.0;
[0123] Link 3: W d = 0.3, W th = 0.3, W b = 0.4, W p = 0.0;
[0124] Task 1: W f = 0.5, W r = 0.4, W t = 0.1, W c = 0.0;
[0125] Task 2: W f = 0.4, W r = 0.4, W t = 0.2, W c = 0.0;
[0126] Task 3: W f = 0.4, W r = 0.4, W t = 0.2, W c = 0.0;
[0127] 1. Calculate link priority:
[0128] Link 1 score: L1 = W d · S d + W th · S th + W b · S b + W p · S p = 0.5 x 0.9 + 0.3 x 0.8 + 0.1 x 0.7 + 0.1 x 0.6 = 0.81;
[0129] Link 2 score: L2 = W d • S d + W th • S th + W b • S b + W p • S p = 0.4 x 0.9 + 0.4 x 0.7 + 0.2 x 0.8 + 0.0 x 0.6 = 0.77;
[0130] Link 3 score: L3 = W d • S d + W th • S th + W b • S b + W p • S p = 0.3 x 0.8 + 0.3 x 0.9 + 0.4 x 0.8 + 0.0 x 0.4 = 0.82;
[0131] Next, normalize the link priorities:
[0132] L max = 0.82, L min = 0.77;
[0133]
[0134] Rank the normalized link priorities: Link 3 > Link 1 > Link 2;
[0135] 2. Calculate task priorities:
[0136] Set weight factors a = 0.7, b = 0.3, and average processing time Task 1 (t wait = 0, t left = 15) score:
[0137] T 1_1 = W f • S f + W r • S r + W t • S t + W c • S c = 0.5 x 0.9 + 0.4 x 0.8 + 0.1 x 0.6 + 0.0 x 0.7 = 0.77;
[0138]
[0139] Task 2 (t wait = 10, t leftScore:
[0140] T 1_2 = W f · S f + W r · S r + W t · S t + W c · S c = 0.4 x 0.8 + 0.4 x 0.6 + 0.2 x 0.7 + 0.0 x 0.9 = 0.73;
[0141] Task 3 (t wait = 20, t left = 20) score:
[0142] T 1_3 = W f · S f + W r · S r + W t · S t + W c · S c = 0.4 x 0.9 + 0.4 x 0.8 + 0.2 x 0.7 + 0.0 x 0.9 = 0.82;
[0143]
[0144] Next normalize task priority:
[0145] L max = 0.82, L min = 0.73;
[0146]
[0147] Then final task 1 score: T = aT 1_1,normalized + bT 2_1 = 0.7 x 0.44 + 0.3 x 0 = 0.31;
[0148] Final task 2 score: T = aT 1_2,normalized + bT 2_2 = 0.7 x 0 + 0.3 x 1 = 0.3;
[0149] Final task 3 score: T = aT 1_3,normalized + bT 2_3 = 0.7 x 1 + 0.3 x 0.5 = 0.85;
[0150] Rank the above normalized person priority: task 3 > task 1 > task 2;
[0151] 3. Load balancing degree calculation:
[0152] Assume node load:
[0153] Node 1: 50;
[0154] Node 2: 70;
[0155] Node 3: 60;
[0156] Assume task load:
[0157] Task 1: 10;
[0158] Task 2: 20;
[0159] Task 3: 15;
[0160] Assume:
[0161] Task 1 is assigned to node 1;
[0162] Task 2 is assigned to node 2;
[0163] Task 3 is assigned to node 3;
[0164] New load of node 1: L 1_new = 60;
[0165] New load of node 2: L 2_new = 90;
[0166] New load of node 3: L 3_new = 75;
[0167] LB max = 90;
[0168]
[0169]
[0170] 4. Calculate scheduling decision variable:
[0171]
[0172] 5. Scheduling:
[0173] Task 3 is scheduled to node 3 for execution.
[0174] 6. Judgment:
[0175] It is not the last task, return to the above step 1 to calculate the link priority for recalculation, and a new round of loop.
[0176] B1: In the process of scheduling task execution, the link priority of each calling link is calculated by a preset link priority calculation formula, and the link priority scores of each link are obtained and sorted.
[0177] In B1, the normalized link priority score is calculated by a preset link priority calculation formula. The preset link priority calculation formula is shown in formula (1).
[0178]
[0179] wherein, L normalized is the normalized link priority score; L max is the maximum value of the priority score of the link; L min is the minimum value of the priority score of the link; L is the priority score of the link, and the calculation formula of L is shown in formula (2).
[0180] L=W d ×S d +W th ×S th +W b ×S b +W P ×S p (2)
[0181] wherein, W d is the weight of the dependency relationship; S d is the dependency relationship score (0-1); W th is the traffic size weight; S th is the traffic size score (0-1); W b is the service importance weight; S b is the service importance score (0-1); W P is the performance impact weight; S p is the performance impact score (0-1).
[0182] B2: The task priority of each calling link is calculated by a preset task priority calculation formula, and the priority scores of each task are obtained and sorted.
[0183] wherein, the preset task priority calculation formula is shown in formula (3).
[0184] T=αT 1_normalized +βT2(3)
[0185] wherein, T is the preset task priority; T 1_normalized is the normalized priority score of the task; α is the weight factor of T 1_normalized ; T2 is the task urgency; and β is the weight factor of T2.
[0186] T1_normalized The calculation formula is shown in formula (4).
[0187]
[0188] Where T1 is the priority score of the task; T max The highest priority score for the task; T min The minimum priority score for the task.
[0189] The formula for calculating T1 is shown in formula (5).
[0190] T1 = W f ×S f +W r ×S r +W t ×S t +W c ×S c (5)
[0191] Among them, W f For functional weights; S f Functional test score (0-1); W r Risk weights; S r Risk score (0-1); W t For time-sensitive weights; S t Time score (0-1); W c S represents the complexity weights; c The complexity score is 0-1.
[0192] The expression for T2 is shown in formula (6).
[0193]
[0194] Among them, t wait t represents the waiting time for the current task. left Remaining time for the task; This represents the average processing time for the task.
[0195] B3: Calculate the load balancing degree based on the sorted link priority score and the sorted task priority score to obtain the load balancing degree for each task.
[0196] Among them, each load balancing degree is the load balancing degree of the system when all nodes corresponding to each call link add tasks.
[0197] Based on the sorted link priority scores and the sorted task priority scores, calculate the load balancing of the system when all nodes corresponding to each link are added to the task.
[0198] The expression of the specific load balancing degree is shown in formula (7).
[0199]
[0200] Wherein, LB is the load balancing degree; L max is the load value of the node with the largest load in all nodes; L ij is the load value of the jth node of the ith task; the closer the load balancing degree is to 1, the better the load balancing is.
[0201] B4: Calculate each scheduling decision variable according to each load balancing degree, and determine the scheduling decision variable maximum from each scheduling decision variable.
[0202] The formula for calculating the scheduling decision variable is shown in formula (8).
[0203]
[0204] Wherein, λ ij is the scheduling decision variable; LB ij is the link priority of the jth node of the ith task; T ij is the task priority of the jth node of the ith task; L ij is the load balancing degree of the jth node of the ith task.
[0205] B5: Determine the task and call link corresponding to the scheduling decision variable maximum.
[0206] B6: Schedule the task and call link corresponding to the scheduling decision variable maximum to the node corresponding to the task corresponding to the scheduling decision variable maximum, and return to the step of calculating the link priority of each call link through the preset link priority calculation formula, obtaining the link priority score and sorting until the stress testing task distribution is completed.
[0207] S103: Execute the stress testing task under the condition of system load balancing.
[0208] The specific process of executing the stress testing task under the condition of system load balancing is shown in C1-C4.
[0209] C1: Real-time monitoring of stress configuration parameters.
[0210] Wherein, all stress configuration parameters are stored in the configuration management system, and the stress configuration parameters are pre-configured, and the stress configuration parameters are dynamically adjusted according to the performance data collected in the stress testing process.
[0211] It should be noted that the configuration management system is used to store and manage the stress test task stress configuration parameters, so that these parameters can be dynamically adjusted during task running. The stress configuration parameters specifically include the number of concurrent users, request frequency, request timeout, load mode test duration, etc.
[0212] C2: When the stress configuration parameters reach the preset threshold, trigger the stress test target updating mechanism.
[0213] Different stress configuration parameters have different corresponding preset thresholds. The preset threshold is set according to the actual situation, which is not limited in the present application.
[0214] The stress test target updating mechanism refers to dynamically adjusting the test target according to the feedback information collected during the test process to ensure that the test results can accurately reflect the performance of the system under actual load.
[0215] The stress test target updating mechanism usually includes the following steps:
[0216] 1. Set the initial target: Before starting the stress test, set a group of initial test targets, which may include performance indicators such as throughput, response time, error rate, etc.
[0217] 2. Collect feedback information: During the test process, monitor the performance indicators of the system and collect feedback information, which can come from system logs, monitoring tools, performance testing tools, etc.
[0218] 3. Analyze feedback information: Analyze the collected feedback information to determine whether the current test results meet expectations. If not, find out the reason.
[0219] 4. Adjust the test target: Adjust the test target according to the analysis result, which may need to increase or decrease the test load, or change the test strategy.
[0220] 5. Re-execute the test: According to the adjusted test target, re-execute the stress test until the expected performance indicators are reached.
[0221] 6. Continuous monitoring and optimization: After the test is completed, continuously monitor the performance of the system and optimize it according to the actual situation to ensure that the system can run stably under actual load.
[0222] C3: Update the stress configuration parameters through the stress test target updating mechanism to ensure system load balancing.
[0223] In C3, the pressure configuration parameters are dynamically adjusted according to the feedback information (pressure test target) to achieve the corresponding load mode. For example, the average response time is monitored, and if it exceeds the preset threshold, the number of users or request frequency may need to be reduced; the failure rate of requests is monitored, and if the error rate exceeds 1%, the number of concurrent users or request frequency needs to be reduced; the usage of CPU, memory, and network bandwidth is observed, and if a certain indicator is close to 100%, the load needs to be reduced.
[0224] C4: Perform pressure test tasks under the condition of system load balancing.
[0225] In C4, local pressure test tasks and edge computing pressure test tasks are started according to the plan under the condition of system load balancing to ensure coverage of different test scenarios. During the execution of the pressure test tasks, pressure is applied according to the parameters in the configuration management system.
[0226] S104: Real-time monitoring of performance data of pressure test tasks during execution of pressure test tasks.
[0227] The execution status and performance data of the pressure test tasks can be tracked in real time using monitoring tools, and the task parameters can be adjusted through the configuration management system if necessary.
[0228] Specifically, the process of real-time monitoring of performance data of pressure test tasks during execution of pressure test tasks is shown in D1-D3.
[0229] D1: Real-time monitoring of key indicators of the system under simulation of different user behaviors and loads during execution of local pressure test tasks.
[0230] It should be noted that the local pressure test task is used to simulate the internal load of the system.
[0231] The key indicators under load include response time, throughput, CPU and memory usage of the business system under local pressure test, etc.
[0232] For local pressure test tasks, after starting the local pressure test task, the performance of the system under simulation of different user behaviors and loads needs to be observed to ensure that the pressure test tool has successfully started testing according to the preset scenario, such as the number of concurrent users and request frequency meeting the set requirements. The system monitoring tool (such as Grafana) is used to track the key indicators of the system in real time, such as response time, throughput, CPU and memory usage, etc. At the same time, attention should be paid to whether there is a performance decline or error, such as an increase in response delay or system crash, etc. If abnormalities are found, detailed information needs to be recorded for subsequent problem diagnosis and optimization.
[0233] D2: Start edge computing pressure test tasks in the edge computing environment to simulate user access from different geographic locations.
[0234] It is worth noting that edge computing stress testing tasks are used to simulate real user experience.
[0235] For edge computing stress testing tasks, edge computing stress testing tasks are started in the edge computing environment to simulate user access from different geographic locations. Ensure that the test covers major regions across the country and assesses the performance of the system under different network conditions.
[0236] Real-time monitoring of edge node performance data such as response time, network latency and failure rate, etc. to ensure that these data accurately reflect the performance of the system under actual nationwide user access. By analyzing these data, the performance of the system in different geographic locations and network environments can be evaluated, and possible network bottlenecks or geographic distribution problems can be identified for necessary optimization.
[0237] D3: During the execution of edge computing stress testing tasks, real-time monitoring of edge node performance indicators is performed to ensure that performance indicators accurately reflect the performance of the system under user access from different geographic locations.
[0238] After ensuring the effective execution of local stress testing tasks and test scenarios in the edge computing environment, the execution logs of the task scheduling system and stress testing tools need to be checked to confirm whether each task is executed smoothly according to the planned schedule and parameters. At the same time, verify the reports generated by the stress testing tools to ensure that all planned test scenarios and parameters are executed correctly.
[0239] S105: Dynamically adjust the stress configuration parameters according to the performance data to complete the process of full-link stress testing.
[0240] Specifically, dynamically adjust the stress configuration parameters according to the performance data to complete the process of full-link stress testing, as shown in E1-E4.
[0241] E1: If the key indicators of the local stress testing business system and the performance indicators of the edge node in the performance data do not appear abnormal, dynamically adjust the stress configuration parameters according to the key indicators and performance indicators that do not appear abnormal, obtain the local stress testing results, and dynamically adjust the stress configuration parameters according to the performance indicators of the edge node that do not appear abnormal, obtain the edge stress testing results, to complete the process of full-link stress testing.
[0242] Among them, the local stress testing results usually focus on the performance in the development and testing stages, mainly focusing on the performance of the system in the development machine or testing environment.
[0243] The local stress testing results mainly include response time, throughput, CPU and memory usage, etc.
[0244] The edge stress testing results focus on the performance in the edge computing environment, especially the delay, error and resource usage when handling real user requests.
[0245] The edge stress test results mainly include response time, throughput, error rate, network delay, resource utilization, user experience index, geographical distribution data, etc.
[0246] E2: If the abnormality of the key indicators is monitored, the state of the local stress test task is determined as an abnormal state, and problem diagnosis and optimization are performed on the abnormal key indicators.
[0247] E3: If the abnormality of the performance indicators is monitored, the state of the edge stress test task is determined as an abnormal state, and optimization is performed on the abnormal performance indicators.
[0248] E4: According to the optimized key indicators and the optimized performance indicators, the stress configuration parameters are dynamically adjusted to obtain the stress test results (local stress test results and edge stress test results), so as to complete the process of full-link stress test.
[0249] In the process of full-link stress test, the parameters are dynamically adjusted by the configuration management system according to the monitoring data and actual needs.
[0250] The specific steps are as follows: configure a monitoring tool, such as a Grafana monitoring tool, monitor the key indicators of the system through the Grafana monitoring tool, the key indicators include resource usage, response time and error rate, etc., set up monitoring panels and alarm mechanisms to ensure that data can be obtained and analyzed in real time, and timely notifications are received when performance abnormalities occur. According to the results of real-time data analysis, it is determined whether the task parameters need to be adjusted, and necessary updates are made through the configuration management system to ensure that parameter adjustments can take effect immediately and improve system performance.
[0251] After dynamically adjusting the stress configuration parameters according to the performance data to complete the process of full-link stress test, the local stress test results and the edge stress test results are collected and analyzed, the system performance bottlenecks are identified, and corresponding optimization is performed. Specifically, the system performance bottlenecks are identified to obtain identification results, the identification results are compared with the local stress test results and the edge stress test results respectively to obtain analysis results, and optimization schemes are developed and implemented according to the analysis results.
[0252] Among them, the analysis results are used to evaluate the performance of the business system in different environments.
[0253] After the stress testing task is completed, it is crucial to collect and analyze the test data. Comprehensive test data, including response time, throughput, system load, and other indicators, should be obtained from stress testing tools and monitoring systems. In-depth analysis of the data using data analysis tools can identify performance bottlenecks in the system, and the test results of local stress testing tasks and edge computing environments can be compared to evaluate the system's performance in different environments. Based on the analysis results, optimization solutions such as adjusting system configurations or optimizing code can be developed and implemented. Finally, stress testing is re-executed to verify the optimization effect, ensuring that the system performance is effectively improved.
[0254] To facilitate understanding of the process of the intelligent link stress testing method supporting flexible scheduling, an example is given Figure 4 to illustrate:
[0255] Figure 4 In step S1, link automatic grooming, through bytecode enhancement technology, dynamically modify the code when JVM loads the public component library, achieve zero-invasive to business code;
[0256] Step S2, define stress testing tasks in the task scheduling system, distribute tasks based on dynamic priority scheduling algorithm;
[0257] Step S3, store all stress configuration parameters in the configuration management system for dynamic adjustment;
[0258] Step S4, execute local stress testing and edge computing stress testing tasks according to the plan, ensure to cover different test scenarios;
[0259] Step S5, use monitoring tools to track the execution status and performance data of stress testing tasks in real time, and dynamically adjust parameters through the configuration management system according to performance data and actual needs during the execution of stress testing tasks;
[0260] Step S6, collect and analyze local stress testing results and edge stress testing results, identify system performance bottlenecks, and make corresponding optimizations.
[0261] The present application has the following technical advantages:
[0262] (1) Flexible scheduling of stress testing tasks, supporting distributed management of stress testing tasks, which can be modified according to stress configuration parameters;
[0263] (2) Combination of local stress testing and edge computing stress testing can comprehensively cover performance testing from single point to distributed environment, ensuring that the system can run stably under various loads and geographical conditions;
[0264] (3) Real-time tracking of key indicators of the system can timely discover performance anomalies and adjust task parameters to ensure that the system remains stable and efficient under changing loads.
[0265] (4) In the iterative optimization process, the system performance can be continuously improved, different environments and requirements can be adapted to, and the stability and reliability of the system in actual use can be ensured;
[0266] The beneficial effects of the embodiments of the application are: under the condition of system load balancing, the stress testing task is executed, distributed management of the stress testing task is supported, the stress testing task can be modified according to the stress configuration parameters, and through the combination of local stress testing and edge computing stress testing, performance testing from single point to distributed environment can be comprehensively covered, key indicators of the business system can be tracked in real time, performance anomalies can be discovered in time and task parameters can be adjusted, different environments and requirements can be adapted to, so that the business system can remain stable and efficient under changing loads, and thus the stability and reliability of the system in actual use can be improved.
[0267] Based on the above embodiments Figure 1 The disclosed intelligent link stress testing method supporting flexible scheduling also discloses an intelligent link stress testing device supporting flexible scheduling, which specifically comprises Figure 5 As shown in the figure, the intelligent link stress testing device supporting flexible scheduling comprises:
[0268] The dynamic screening unit 501 is configured to dynamically screen each calling link corresponding to the calling request from the preset calling chain information when the calling request is received.
[0269] The distribution unit 502 is configured to distribute stress testing tasks according to the dynamic priority task scheduling algorithm and each calling link; wherein the stress testing tasks at least include local stress testing tasks and edge computing stress testing tasks.
[0270] The execution unit 503 is configured to execute stress testing tasks under the condition of system load balancing.
[0271] The real-time monitoring unit 504 is configured to monitor performance data of the stress testing tasks in real time in the process of executing the stress testing tasks.
[0272] The dynamic adjustment unit 505 is configured to dynamically adjust stress configuration parameters according to the performance data to complete the process of full-link stress testing.
[0273] Further, the dynamic screening unit 501 comprises:
[0274] The allocation module is configured to allocate a corresponding tracking mark for the calling request by applying at the processing entry of the calling request when the calling request is received; wherein the application is obtained by integrating a probe plug-in.
[0275] The transmission recording module is configured to sequentially transmit the tracking mark to each processing link to record log information corresponding to the tracking mark at each processing link.
[0276] a polymerization module configured to aggregate preset call chain information by a preset aggregation manner; the preset aggregation manner comprises at least an offline aggregation manner and a real-time aggregation manner;
[0277] a dynamic screening module configured to dynamically screen each call link corresponding to the call request from the preset call chain information according to log information corresponding to the tracking flag.
[0278] Further, the distribution unit 502 comprises:
[0279] a first calculation module configured to calculate link priority of each call link by a preset link priority calculation formula during the process of scheduling task execution, to obtain link priority scores of each link and sort the link priority scores;
[0280] a second calculation module configured to calculate task priority of each call link by a preset task priority calculation formula, to obtain priority scores of each task and sort the priority scores;
[0281] a third calculation module configured to perform load balancing degree calculation according to the sorted link priority scores and the sorted priority scores, to obtain each load balancing degree;
[0282] a calculation and determination module configured to calculate each scheduling decision variable according to each load balancing degree, and determine a maximum scheduling decision variable from the scheduling decision variables;
[0283] a first determination module configured to determine a task and a call link corresponding to the maximum scheduling decision variable;
[0284] a scheduling module configured to schedule the task and the call link corresponding to the maximum scheduling decision variable to a node corresponding to the task corresponding to the maximum scheduling decision variable, and return to the step of calculating link priority of each call link by the preset link priority calculation formula during the process of scheduling task execution, to obtain link priority scores of each link and sort the link priority scores, until the stress testing task distribution is completed.
[0285] Further, the execution unit 503 comprises:
[0286] a first real-time monitoring module configured to monitor a stress configuration parameter in real time;
[0287] a triggering module configured to trigger a stress testing target updating mechanism when the stress configuration parameter reaches a preset threshold;
[0288] an updating module configured to update the stress configuration parameter by the stress testing target updating mechanism, to ensure system load balancing;
[0289] an execution module configured to execute the stress testing task under the condition of system load balancing.
[0290] Further, the real-time monitoring unit 504 comprises:
[0291] A second real-time monitoring module, configured to monitor key indicators of the system under simulation of different user behaviors and loads in the process of executing the local stress testing task in real time;
[0292] A starting module, configured to start the edge computing stress testing task in the edge computing environment to simulate user access from different geographic locations;
[0293] A third real-time monitoring module, configured to monitor performance indicators of the edge node in real time in the process of executing the edge computing stress testing task, to ensure that the performance indicators accurately reflect the performance of the system under user access from different geographic locations.
[0294] Further, the dynamic adjustment unit 505 comprises:
[0295] A first dynamic adjustment module, configured to, if the key indicators of the business system of the local stress testing and the performance indicators of the edge node in the performance data do not appear abnormal, dynamically adjust the stress configuration parameters according to the key indicators and the performance indicators that do not appear abnormal, to obtain a local stress testing result, and dynamically adjust the stress configuration parameters according to the performance indicators of the edge node that do not appear abnormal, to obtain an edge stress testing result, to complete the process of full-link stress testing;
[0296] A second determination module, configured to, if the key indicators are monitored to appear abnormal, determine that the state of the local stress testing task is an abnormal state, and perform problem diagnosis and optimization on the abnormal key indicators;
[0297] A third determination module, configured to, if the performance indicators are monitored to appear abnormal, determine that the state of the edge stress testing task is an abnormal state, and perform optimization on the abnormal performance indicators;
[0298] A second dynamic adjustment module, configured to, according to the optimized key indicators and the optimized performance indicators, dynamically adjust the stress configuration parameters to obtain a stress testing result, to complete the process of full-link stress testing.
[0299] Further, the intelligent link stress testing device supporting flexible scheduling further comprises:
[0300] An identification unit, configured to identify system performance bottlenecks to obtain an identification result;
[0301] A comparison unit, configured to compare the identification result with the local stress testing result and the edge stress testing result respectively to obtain an analysis result;
[0302] A formulation unit, configured to formulate and implement an optimization scheme according to the analysis result.
[0303] The embodiment of the application provides an intelligent link stress testing device supporting flexible scheduling, so that the system can maintain high efficiency and stability under different environments and loads, and meanwhile, the system has flexible task management and powerful error processing capability, and the performance and reliability of the system are improved as a whole.
[0304] The embodiment of the application has the following beneficial effects: under the condition of system load balancing, the stress testing task is executed, distributed management of the stress testing task is supported, the stress testing task can be modified according to a stress configuration parameter, and through combination of local stress testing and edge computing stress testing, performance testing from a single point to a distributed environment can be comprehensively covered, key indicators of a business system are tracked in real time, performance anomalies are discovered in time and task parameters are adjusted, different environments and demands are adapted to, and the business system is ensured to maintain stability and high efficiency under changing loads, so that the stability and reliability of the system in actual use are improved.
[0305] The embodiment of the application also provides a storage medium, the storage medium comprising stored instructions, wherein when the instructions are executed, the device where the storage medium is located is controlled to execute the intelligent link stress testing method supporting flexible scheduling.
[0306] The embodiment of the application also provides an electronic device, a structural schematic diagram of which is shown in the figure. Figure 6 The electronic device specifically comprises a memory 601 and one or more than one instruction 602, wherein the one or more than one instruction 602 is stored in the memory 601 and is configured to be executed by one or more than one processor 603 to execute the intelligent link stress testing method supporting flexible scheduling.
[0307] For each method embodiment described above, in order to simply describe, the method embodiments are all described as a series of action combinations, but those skilled in the art should know that the application is not limited to the action sequence described, because according to the application, some steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification all belong to preferred embodiments, and the actions and modules involved are not necessarily necessary for the application.
[0308] It should be noted that each embodiment in the specification is described in a progressive manner, and each embodiment mainly describes the difference from other embodiments, and the same and similar parts between each embodiment can be known by referring to each other. For the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant part can be known by referring to the part of the method embodiment.
[0309] The steps in the method embodiments of the application can be adjusted in sequence, combined and reduced according to actual needs.
[0310] Finally, it should be noted that the terminology used herein, such as first and second, is merely used for the convenience of the reader and is not intended to, and should not be interpreted to, imply or suggest any actual relationship between, or order of, such entities or actions.
[0311] The above description of disclosed embodiments is merely intended to provide an overview of the application. Various modifications as well as the numerous details of implementation are already apparent to those skilled in the art and can be made without departing from the scope of the application. Therefore, the application is not to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0312] The above description is merely intended to provide an overview of the application. Various modifications and improvements will be readily apparent to those of ordinary skill in the art, and the application is not to be limited to the specific embodiments described herein. Rather, the scope of the application is to be determined by the claims which are to be accorded their broadest reasonable interpretation, which can incorporate any and every novel feature and combination of features.
Claims
1. An intelligent link stress testing method supporting flexible scheduling, characterized in that, The method comprises: When receiving a call request, dynamically screening each call link corresponding to the call request from preset call chain information; According to the dynamic priority task scheduling algorithm and the each call link, performing stress testing task distribution; wherein, the stress testing task at least includes local stress testing task and edge computing stress testing task; Under the condition of system load balancing, executing the stress testing task; In the process of executing the stress testing task, real-time monitoring performance data of stress testing task; According to the performance data, dynamically adjusting the stress configuration parameters to complete the process of full-link stress testing.
2. The method of claim 1, wherein, When receiving a call request, dynamically screening each call link corresponding to the call request from preset call chain information, comprising: When receiving a call request, assigning a corresponding tracking mark for the call request through application at the processing entry of the call request; wherein, the application is obtained through probe plug-in integration; Passing the tracking mark to each processing link in turn to record log information corresponding to the tracking mark at each processing link; According to the tracking mark corresponding log information, dynamically screening each call link corresponding to the call request from the preset call chain information. According to the dynamic priority task scheduling algorithm and the each call link, performing stress testing task distribution, comprising:
3. The method of claim 1, wherein, In the process of scheduling task execution, calculating the link priority of each call link through a preset link priority calculation formula to obtain each link priority score and sort; According to the sorted link priority score and the sorted task priority score, calculating the load balancing degree to obtain each load balancing degree; According to the each load balancing degree, calculating each scheduling decision variable, and determining the maximum value of the scheduling decision variable from each scheduling decision variable; Determining the task and call link corresponding to the maximum value of the scheduling decision variable; The scheduling decision variable maximum value corresponding task and call link is scheduled to the node corresponding to the task corresponding to the scheduling decision variable maximum value, and returns to the step of calculating the link priority of each call link through the preset link priority calculation formula in the process of scheduling task execution to obtain each link priority score and sort, until the stress testing task distribution is completed. Under the condition of system load balancing, executing the stress testing task, comprising: Real-time monitoring the stress configuration parameters; 4. The method of claim 1, wherein, When the stress configuration parameters reach the preset threshold, triggering the stress testing target updating mechanism; Updating the stress configuration parameters through the stress testing target updating mechanism to ensure system load balancing; Under the condition of system load balancing, executing the stress testing task. In the process of executing the stress testing task, real-time monitoring performance data of stress testing task, comprising: 5. The method of claim 1, wherein, In the process of performing the local stress testing task, the real-time monitoring system monitors key indicators under simulation of different user behaviors and loads; In the process of performing the local stress testing task, the real-time monitoring system monitors key indicators under simulation of different user behaviors and loads; In the process of performing the local stress testing task, the real-time monitoring system monitors key indicators under simulation of different user behaviors and loads; 6. The method of claim 5, wherein, The process of dynamically adjusting the stress configuration parameters according to the performance data to complete the full-link stress testing includes: If the key indicators of the local stress testing task and the performance indicators of the edge node in the performance data do not appear abnormal, the stress configuration parameters are dynamically adjusted according to the key indicators and the performance indicators that do not appear abnormal, the local stress testing result is obtained, and the stress configuration parameters are dynamically adjusted according to the performance indicators of the edge node that do not appear abnormal, the edge stress testing result is obtained, and the process of completing the full-link stress testing is completed; If the key indicators appear abnormal, it is determined that the state of the local stress testing task is an abnormal state, and problem diagnosis and optimization are performed on the abnormal key indicators; If the performance indicators appear abnormal, it is determined that the state of the edge stress testing task is an abnormal state, and optimization is performed on the abnormal performance indicators; According to the optimized key indicators and the optimized performance indicators, the stress configuration parameters are dynamically adjusted to obtain the stress testing result, and the process of completing the full-link stress testing is completed.
7. The method of claim 6, wherein, After the process of dynamically adjusting the stress configuration parameters according to the performance data to complete the full-link stress testing, the process further includes: Identifying system performance bottlenecks to obtain an identification result; Comparing the identification result with the local stress testing result and the edge stress testing result respectively to obtain an analysis result; According to the analysis result, an optimization scheme is formulated and implemented.
8. An intelligent link stress testing device supporting flexible scheduling, characterized in that, The device includes: A dynamic screening unit configured to dynamically screen each call link corresponding to a call request from preset call chain information when the call request is received; A distribution unit configured to perform stress testing task distribution according to a dynamic priority task scheduling algorithm and the each call link; wherein the stress testing task at least includes a local stress testing task and an edge computing stress testing task; An execution unit configured to execute the stress testing task under the condition of system load balancing; A real-time monitoring unit configured to monitor performance data of the stress testing task in real time in the process of executing the stress testing task; A dynamic adjustment unit configured to dynamically adjust stress configuration parameters according to the performance data to complete the process of full-link stress testing.
9. The apparatus of claim 8, wherein, The dynamic screening unit includes: An allocation module configured to allocate a corresponding tracking flag for the call request by applying at the processing entry of the call request when the call request is received; wherein the application is obtained by integrating a probe plug-in; A transfer recording module configured to sequentially transfer the tracking flag to each processing link to record log information corresponding to the tracking flag at each processing link; An aggregation module configured to aggregate preset call chain information by a preset aggregation method; wherein the preset aggregation method at least includes an offline aggregation method and a real-time aggregation method; The dynamic screening module is configured to dynamically screen each calling chain corresponding to the calling request from the preset calling chain information according to log information corresponding to the tracking mark.
10. The apparatus of claim 8, wherein, The distribution unit comprises: The first calculation module is configured to calculate link priority of each calling chain by using a preset link priority calculation formula during scheduling task execution, to obtain link priority scores of each chain and sort the scores. The second calculation module is configured to calculate task priority of each calling chain by using a preset task priority calculation formula, to obtain priority scores of each task and sort the scores. The third calculation module is configured to perform load balancing degree calculation according to the sorted link priority scores and the sorted task priority scores, to obtain each load balancing degree. The calculation and determination module is configured to calculate each scheduling decision variable according to the load balancing degrees, and determine a maximum scheduling decision variable from the scheduling decision variables. The first determination module is configured to determine a task and a calling chain corresponding to the maximum scheduling decision variable. The scheduling module is configured to schedule the task and the calling chain corresponding to the maximum scheduling decision variable to a node corresponding to the task corresponding to the maximum scheduling decision variable, and return to the step of calculating link priority of each calling chain by using the preset link priority calculation formula during scheduling task execution, to obtain link priority scores of each chain and sort the scores, until the stress testing task distribution is completed.