Service system performance acquisition method and device, electronic equipment and storage medium
By acquiring call chain data from the service system, analyzing the resource parameters of the thread pool and the timeout parameters of the service interface, and dynamically tracking the performance of the thread pool in real time, the problem of inaccurate performance evaluation of the service system in existing technologies is solved, and efficient and automated performance evaluation is achieved.
Patent Information
- Application Number
- CN202511531671.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-24
- Publication Date
- 2026-02-24
AI Technical Summary
The accuracy of service system performance evaluation in existing technologies is low, and the reliance on human experience or analysis of historical logs of CPU and memory usage alone leads to inaccurate evaluations.
By acquiring call chain data from the service system, analyzing the resource parameters of the thread pool and the timeout parameters of the service interface, dynamically tracking the performance of the thread pool in real time, calculating the performance parameters of the service system based on the critical path, and using real call chain data for performance evaluation.
It improves the accuracy of service system performance evaluation, can adapt to dynamic changes in the system, and automates performance evaluation.
Smart Images

Figure CN121560692A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network technology, and in particular to a method, apparatus, electronic device, and storage medium for obtaining service system performance. Background Technology
[0002] A service system is a system in which multiple computers are connected via a network to collaboratively complete tasks. To enable service systems to perform tasks more efficiently and save costs, performance evaluation of the service system is crucial.
[0003] In existing technologies, performance evaluation of service systems typically relies on human experience or analyzes historical logs for CPU and memory usage. However, performance evaluation based on human experience is less accurate, and performance evaluation based on historical logs only utilizes static historical logs, considering only CPU and memory usage, providing limited reference information and thus resulting in lower accuracy. Summary of the Invention
[0004] The purpose of this invention is to provide a method, apparatus, electronic device, and storage medium for obtaining service system performance, thereby improving the accuracy of service system performance evaluation. The specific technical solution is as follows: In a first aspect of this invention, a method for obtaining service system performance is provided, comprising: Obtain the call chain data corresponding to the service system. The call chain data includes the resource parameters of the thread pool called by each node in the call chain and the timeout parameters of the called service interface. For each thread pool, the performance parameters of the thread pool are obtained based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool. Obtain the critical path in the call chain, and obtain the performance parameters of the service system based on the performance parameters of the thread pools called in the critical path and the thread pools called in the call chain, wherein the critical path is the path with the longest execution time.
[0005] Optionally, the call chain data further includes the time consumption parameters of each node in the call chain; obtaining the performance parameters of the thread pool based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool includes: The weighted resource parameters of the thread pool are calculated based on the resource parameters of the thread pool. The weighted response time of the thread pool is calculated based on the time consumption parameters of each node corresponding to the thread pool. The weighted waiting time of the thread pool is calculated based on the timeout parameters of the service interfaces called by each node corresponding to the thread pool. Calculate the first sum of the weighted response time and the weighted wait time, and use the ratio of the weighted resource parameter to the first sum as the performance parameter of the thread pool.
[0006] Optionally, calculating the weighted response time of the thread pool based on the time consumption parameters of each node corresponding to the thread pool includes: For each node corresponding to the thread pool, calculate the second sum of the time consumption parameters of each child node of the node, and take the difference between the time consumption parameter of the node and the second sum as the response time of the node; The response time of the thread pool is calculated based on the response time of each node corresponding to the thread pool, and the product of the response time of the thread pool and the response time weight is used as the weighted response time of the thread pool.
[0007] Optionally, calculating the weighted waiting time of the thread pool based on the timeout parameters of the service interfaces called by each node corresponding to the thread pool includes: For each node corresponding to the thread pool, if the node has child nodes, calculate the third sum of the timeout parameters of the service interfaces called by each serial child node of the node, and obtain the maximum timeout parameter among the timeout parameters of the service interfaces called by each parallel child node of the node. Use the maximum value between the third sum and the maximum timeout parameter as the waiting time of the node. The waiting time of the thread pool is calculated based on the waiting time of each node corresponding to the thread pool. The product of the waiting time of the thread pool and the waiting time weight is used as the weighted waiting time of the thread pool.
[0008] Optionally, obtaining the performance parameters of the service system based on the performance parameters of the thread pools called in the critical path and the thread pools called in the call chain includes: if a thread pool is called in the critical path, calculating a second sum of the performance parameters of each thread pool, using the ratio of the second sum to a preset resource quota coefficient as a target ratio, obtaining the minimum performance parameter among the performance parameters of the thread pools called in the critical path, using the product of the minimum performance parameter and a preset bottleneck tolerance factor as a target product, and using the minimum value of the target ratio and the target product as the performance parameter of the service system; if no thread pool is called in the critical path, calculating a second sum of the performance parameters of each thread pool, using the ratio of the second sum to a preset resource quota coefficient as a target ratio, and using the target ratio as the performance parameter of the service system.
[0009] Optionally, the method further includes: if the performance parameters of the thread pool are less than a set threshold, then calculating the response time of the node based on the time consumption parameters of the node and the time consumption parameters of each child node of the node, and calculating the reference response time of the node based on the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node; if the difference between the response time of the node and the reference response time of the node exceeds a set difference, then adjusting the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node, and recalculating the reference response time of the node based on the adjusted timeout parameters, until the difference between the response time of the node and the recalculated reference response time of the node is less than the set difference.
[0010] Optionally, the method further includes: if the performance parameter of the thread pool is less than a set threshold, then calculating the maximum resource parameter of the thread pool, wherein the maximum resource parameter refers to the resource parameter when the performance parameter of the thread pool is equal to the set threshold; and adjusting the resource parameter of the thread pool to a preset percentage of the maximum resource parameter of the thread pool.
[0011] In a second aspect of the present invention, a service system performance acquisition apparatus is also provided, comprising: The first acquisition module is used to acquire the call chain data corresponding to the service system. The call chain data includes the resource parameters of the thread pool called by each node in the call chain and the timeout parameters of the service interface called. The second acquisition module is used to acquire the performance parameters of each thread pool based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool. The third acquisition module is used to acquire the critical path in the call chain, and to acquire the performance parameters of the service system based on the performance parameters of the thread pools called in the critical path and the thread pools called in the call chain, wherein the critical path is the path with the longest time consumption.
[0012] Optionally, the call chain data further includes the time consumption parameters of each node in the call chain; the second acquisition module includes: The first calculation unit is used to calculate the weighted resource parameters of the thread pool based on the resource parameters of the thread pool, calculate the weighted response time of the thread pool based on the time consumption parameters of each node corresponding to the thread pool, and calculate the weighted waiting time of the thread pool based on the timeout parameters of the service interfaces called by each node corresponding to the thread pool. The second calculation unit is used to calculate the first sum of the weighted response time and the weighted waiting time, and to use the ratio of the weighted resource parameter to the first sum as the performance parameter of the thread pool.
[0013] Optionally, the first computing unit includes: The first-time calculation subunit is used to calculate the second sum of the time consumption parameters of each child node of the node for each node corresponding to the thread pool, and take the difference between the time consumption parameter of the node and the second sum as the response time of the node; calculate the response time of the thread pool based on the response time of each node corresponding to the thread pool, and take the product of the response time of the thread pool and the response time weight as the weighted response time of the thread pool.
[0014] Optionally, the first computing unit includes: The second time calculation subunit is used to calculate the third sum of the timeout parameters of the service interfaces called by each serial child node of the thread pool for each node corresponding to the thread pool. If the node has child nodes, the subunit also calculates the maximum timeout parameter among the timeout parameters of the service interfaces called by each parallel child node of the node. The maximum value between the third sum and the maximum timeout parameter is used as the waiting time of the node. The subunit also calculates the waiting time of the thread pool based on the waiting time of each node corresponding to the thread pool. The product of the waiting time of the thread pool and the waiting time weight is used as the weighted waiting time of the thread pool.
[0015] Optionally, the third acquisition module includes: The third calculation unit is used to calculate the second sum of the performance parameters of each thread pool if a thread pool is called in the critical path, take the ratio of the second sum to a preset resource quota coefficient as a target ratio, obtain the minimum performance parameter among the performance parameters of the thread pools called in the critical path, take the product of the minimum performance parameter and a preset bottleneck tolerance factor as a target product, and take the minimum value of the target ratio and the target product as the performance parameter of the service system. The fourth calculation unit is used to calculate the second sum of the performance parameters of each thread pool if no thread pool is called in the critical path, and to use the ratio of the second sum to a preset resource quota coefficient as a target ratio, and to use the target ratio as the performance parameter of the service system.
[0016] Optionally, the device further includes: a first adjustment module, configured to: if the performance parameters of the thread pool are less than a set threshold, calculate the response time of the node based on the time consumption parameters of the node and the time consumption parameters of each child node of the node, and calculate the reference response time of the node based on the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node; if the difference between the response time of the node and the reference response time of the node exceeds a set difference, adjust the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node, and recalculate the reference response time of the node based on the adjusted timeout parameters, until the difference between the response time of the node and the recalculated reference response time of the node is less than the set difference.
[0017] Optionally, the device further includes: a second adjustment module, configured to calculate the maximum resource parameter of the thread pool if the performance parameter of the thread pool is less than a set threshold, wherein the maximum resource parameter refers to the resource parameter when the performance parameter of the thread pool is equal to the set threshold; and adjust the resource parameter of the thread pool to a preset percentage of the maximum resource parameter of the thread pool.
[0018] In another aspect of the present invention, an electronic device is also provided, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; the memory is used to store computer programs; and the processor, when executing the computer programs stored in the memory, implements any of the above-described service system performance acquisition methods.
[0019] In another aspect of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer program, and when the computer program is run on a computer, the computer enables the computer to implement any of the above-described service system performance acquisition methods.
[0020] In another aspect of the present invention, a computer program product is also provided, wherein the computer program product stores a computer program that, when the computer program is run on a computer, enables the computer to implement any of the above-described service system performance acquisition methods.
[0021] In this embodiment of the invention, starting from the actual execution process of the service system itself, the call chain data corresponding to the service system is dynamically tracked in real time. The performance parameters of each thread pool are analyzed in real time based on the resource parameters of the thread pool and the timeout parameters of the service interface. Furthermore, the performance parameters of the service system are analyzed based on the performance parameters of the thread pools called in the critical path in the call chain and the performance parameters of the thread pools called in the call chain. The analysis using real call chain data improves the accuracy of service system performance evaluation and can adapt to the dynamic changes of the service system, thereby realizing the automation of service system performance evaluation. Attached Figure Description
[0022] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below.
[0023] Figure 1 This is a flowchart illustrating the steps of a service system performance acquisition method according to an embodiment of the present invention.
[0024] Figure 2 This is a system architecture diagram according to an embodiment of the present invention.
[0025] Figure 3 This is a structural block diagram of a service system performance acquisition device according to an embodiment of the present invention.
[0026] Figure 4 This is a structural block diagram of an electronic device according to an embodiment of the present invention. Detailed Implementation
[0027] The technical solutions of the present invention will now be described with reference to the accompanying drawings in the embodiments of the present invention.
[0028] First, the technical terms involved in the embodiments of the present invention will be explained.
[0029] Service system: This can be a distributed service system, such as a microservice architecture or a cloud-native system.
[0030] A call chain is the overall link of call relationships between multiple nodes in a service system; it can be understood as a complete "set of call paths." For example, after a user initiates a request, the request is processed by multiple nodes, and the overall set of calls between these nodes constitutes a call chain.
[0031] A node is the smallest independent unit of execution in a call chain and is a basic component of the call chain.
[0032] Thread pool: A tool for managing and scheduling thread resources. It is responsible for allocating thread resources for the execution of nodes, controlling the number of concurrently executing threads, and avoiding resource exhaustion.
[0033] Service interface: The third-party service interface or sub-service interface called by the node during execution.
[0034] Figure 1 This is a flowchart illustrating the steps of a service system performance acquisition method according to an embodiment of the present invention.
[0035] like Figure 1 As shown, the method for obtaining service system performance may include the following steps: Step 101: Obtain the call chain data corresponding to the service system. The call chain data includes the resource parameters of the thread pool called by each node in the call chain and the timeout parameters of the called service interface.
[0036] In this embodiment of the invention, any applicable information collection component can be deployed in the service system. The information collection component can automatically collect the original link data, thread pool configuration data and service interface configuration data corresponding to the service system.
[0037] For example, raw link data corresponding to the service system can be collected in real time using information collection components such as SkyWalking.
[0038] For example, the original link data may include descriptive information for each node. This descriptive information may include, but is not limited to: the identifier of the call chain to which the node belongs, the node's identifier, the identifier of the node's parent node, the node's call start time, the node's call end time, the identifier of the thread pool invoked by the node (if the node invoked a thread pool), the identifier of the service interface invoked by the node (if the node invoked a service interface), and so on. Of course, the node's descriptive information may also include other information, which will not be discussed in detail in this embodiment.
[0039] For example, information collection components such as AspectJ can be used to dynamically collect the thread pool configuration data corresponding to the service system.
[0040] For example, the thread pool configuration data may include, but is not limited to, the thread pool identifier, thread pool resource parameters, etc. The thread pool resource parameters may include, but are not limited to, the core resource size (CorePoolSize), the maximum resource size (MaxPoolSize), the queueing resource size (QueueCapacity), etc.
[0041] For example, information collection components such as ApplicationContext can be used to collect service interface configuration data corresponding to the service system in the form of scheduled tasks.
[0042] For example, the service interface configuration data may include, but is not limited to: the service interface identifier, the service interface invocation method, the service interface timeout parameters, etc. The service interface timeout parameters may include, but are not limited to: the service interface connection timeout parameter (ConnectTimeout), the service interface read timeout parameter (ReadTimeout), the service interface write timeout parameter (WriteTimeout), etc.
[0043] In this embodiment of the invention, the collected raw link data, thread pool configuration data, and service interface configuration data can be cleaned, denoised, and filtered for outliers, etc., to obtain valid raw link data, thread pool configuration data, and service interface configuration data. The preprocessed valid raw link data, thread pool configuration data, and service interface configuration data are then stored for subsequent querying and use.
[0044] In this embodiment of the invention, the preprocessed raw link data, thread pool configuration data, and service interface configuration data are integrated to obtain the call chain data corresponding to the service system.
[0045] For example, for any call chain, topology reconstruction can be performed on the nodes in the call chain based on the call chain identifier, node identifier, and parent node identifier of the node contained in the original link data. A call chain can be integrated into a tree structure. After integration, the description information of each node in the call chain is obtained. For each node, the time consumption parameter of the node is calculated based on the call start time and call end time of the node (the time difference between the call end time and the call start time of the node is the time consumption parameter). The time consumption parameter of the node is added to the description information of the node. Furthermore, if a node in the call chain calls a thread pool, the resource parameters of the thread pool called by the node are merged with the description information of the node. If a node in the call chain calls a service interface, the timeout parameter of the service interface called by the node is merged with the description information of the node.
[0046] Therefore, the call chain data corresponding to the service system may include, but is not limited to: description information of each node in the call chain, resource parameters of the thread pool called by each node, and timeout parameters of the service interface called by each node, etc.
[0047] Step 102: For each thread pool, obtain the performance parameters of the thread pool based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool.
[0048] In this embodiment of the invention, for each thread pool called in the call chain (a thread pool called in the call chain refers to a thread pool called by a node in the call chain), the resource parameters of the thread pool can be obtained from the call chain data, and the timeout parameters of the service interfaces called by each node corresponding to the thread pool can be obtained. Based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool, the performance parameters of the thread pool can be obtained. Here, the node corresponding to the thread pool refers to the node in the call chain that called the thread pool.
[0049] For example, thread pool-level performance parameter modeling is performed. This model, based on resource parameters (TN), response time (RT), and timeout parameters, can be expressed as: Thread pool-level performance parameter model = f(resource parameters, response time, timeout parameters) = f(RT, TN, Timeout). Here, f() can be a fitting function trained on actual data, such as a linear regression or machine learning model. Therefore, the thread pool-level performance parameter model is constrained by response time (RT) and resource parameters (TN), and must also satisfy the performance constraints imposed by the timeout parameter.
[0050] For example, the process of obtaining the performance parameters of the thread pool based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool may include the following steps A1 to A2: Step A1: Calculate the weighted resource parameters of the thread pool based on the resource parameters of the thread pool, calculate the weighted response time of the thread pool based on the time consumption parameters of each node corresponding to the thread pool, and calculate the weighted waiting time of the thread pool based on the timeout parameters of the service interfaces called by each node corresponding to the thread pool.
[0051] For example, the process of calculating the weighted resource parameters of the thread pool based on the resource parameters of the thread pool may include: using the product of the resource parameters of the thread pool and the weights of the resource parameters as the weighted resource parameters of the thread pool.
[0052] For example, the resource parameters of the thread pool can be selected from the maximum resource amount of the thread pool or the core resource amount of the thread pool. The specific selection can be made according to actual needs, and this embodiment does not limit this.
[0053] For example, the process of calculating the weighted response time of the thread pool based on the time consumption parameters of each node corresponding to the thread pool may include: for each node corresponding to the thread pool, calculating a second sum of the time consumption parameters of each child node of the node, and taking the difference between the time consumption parameter of the node and the second sum as the response time of the node; calculating the response time of the thread pool based on the response time of each node corresponding to the thread pool, and taking the product of the response time of the thread pool and the response time weight as the weighted response time of the thread pool.
[0054] For example, for each node corresponding to the thread pool, if the node has child nodes, then all child nodes of the node are found, and the sum of the time consumption parameters of all child nodes is calculated as a second sum. Then, the difference between the time consumption parameter of the node and the second sum is taken as the response time of the node. If the node has no child nodes, then the time consumption parameter of the node is taken as the response time of the node. Therefore, the response time of the node represents the business processing time of the node itself (excluding the time consumed after network waiting).
[0055] For example, the median of the response times of each node corresponding to the thread pool can be used as the response time of the thread pool, or the average of the response times of each node corresponding to the thread pool can be used as the response time of the thread pool, or the weighted average of the response times of each node corresponding to the thread pool can be used as the response time of the thread pool, and so on.
[0056] For example, the process of calculating the weighted waiting time of the thread pool based on the timeout parameters of the service interfaces called by each node corresponding to the thread pool may include: for each node corresponding to the thread pool, if the node has child nodes, calculating the third sum of the timeout parameters of the service interfaces called by each serial child node of the node, and obtaining the maximum timeout parameter among the timeout parameters of the service interfaces called by each parallel child node of the node, and taking the maximum value between the third sum and the maximum timeout parameter as the waiting time of the node; calculating the waiting time of the thread pool based on the waiting time of each node corresponding to the thread pool, and taking the product of the waiting time of the thread pool and the waiting time weight as the weighted waiting time of the thread pool.
[0057] For example, for each node corresponding to the thread pool, if the node has child nodes, then all serial child nodes and all parallel child nodes of the node are found. The sum of the timeout parameters of the service interfaces called by the serial child nodes of the node is calculated as a third sum, and the maximum value among the timeout parameters of the service interfaces called by the parallel child nodes of the node is obtained as the maximum timeout parameter. The maximum value between the third sum and the maximum timeout parameter is used as the waiting time of the node. If the node has no child nodes, then the waiting time of the node is determined to be 0. That is, waiting time = (Max{Sum{serial timeout}, Max{parallel timeout}}).
[0058] For example, the description information of the node may also include the call type of the node. The call type can be a serial call or a parallel call. Therefore, the node can be determined as a serial node or a parallel node according to the call type of the node. That is, if the call type is a serial call, it is a serial node, and if the call type is a parallel call, it is a parallel node.
[0059] For example, the timeout parameters of the service interface can be selected from the service interface read timeout parameters, the service interface connection timeout parameters, etc., and can be selected according to actual needs. This embodiment does not limit this.
[0060] For example, the maximum value of the waiting time of each node corresponding to the thread pool can be used as the waiting time of the thread pool, or the P95 value of the waiting time of each node corresponding to the thread pool can be used as the waiting time of the thread pool, and so on.
[0061] Step A2: Calculate the first sum of the weighted response time and the weighted waiting time, and use the ratio of the weighted resource parameter to the first sum as the performance parameter of the thread pool.
[0062] The performance parameters of the thread pool can be calculated using the following formula (Formula 1):
[0063] in, This represents the performance parameters of the thread pool. Indicates the weight of resource parameters. This represents the resource parameters of the thread pool. This represents the weighted resource parameters of the thread pool. Indicates response time weight, This indicates the response time of the thread pool. This represents the weighted response time of the thread pool. Indicates the weight of waiting time. This indicates the waiting time of the thread pool. This represents the weighted wait time of the thread pool.
[0064] Among them, the performance parameters of the thread pool can be the throughput of the thread pool, such as the number of tasks processed per second.
[0065] For example, the resource parameter weights corresponding to the weighted resource parameters, the response time weights corresponding to the weighted response times, and the waiting time weights corresponding to the weighted waiting times can be set to any applicable empirical values according to actual needs.
[0066] For example, the resource parameter weights corresponding to the weighted resource parameters, the response time weights corresponding to the weighted response times, and the waiting time weights corresponding to the weighted waiting times can be obtained through training using the historical call chain data corresponding to the service system and the historical performance parameters of the thread pool, thereby further improving the accuracy and rationality of the weights.
[0067] For example, based on the historical call chain data corresponding to the service system, we can obtain the historical resource parameters, historical response time, and historical waiting time of the thread pool. Since the historical performance parameters of the thread pool are also known, we can fit these parameters using linear regression or other methods according to the formulas mentioned above to obtain the resource parameter weights, response time weights, and waiting time weights. Alternatively, we can build a machine learning model, using the resource parameter weights, response time weights, and waiting time weights as learnable parameters, and the historical resource parameters, historical response time, and historical waiting time of the thread pool as inputs, and the historical performance parameters as the output target. Training the machine learning model with these parameters will then yield the resource parameter weights, response time weights, and waiting time weights.
[0068] Step 103: Obtain the critical path in the call chain. Based on the performance parameters of the thread pools called in the critical path and the thread pools called in the call chain, obtain the performance parameters of the service system, wherein the critical path is the path with the longest execution time.
[0069] In this embodiment of the invention, service system-level performance parameter modeling is performed, and the service system-level performance parameter model is obtained based on the thread pool-level performance parameter model.
[0070] As mentioned above, after data integration, the call chain corresponds to a tree structure containing multiple nodes, including a root node, intermediate nodes, and leaf nodes. For any leaf node, the link from the root node to that leaf node is a path. Therefore, the call chain contains one or more paths, and the critical path in the call chain can be obtained from the paths contained in the call chain.
[0071] For example, the path with the longest execution time can be selected from the paths contained in the call chain as the critical path. Accordingly, the process of obtaining the critical path in the call chain may include: traversing from the root node of the tree structure corresponding to the call chain, calculating the sum of the execution time parameter of the current node and the total execution time parameter of the parent node of the current node as the total execution time parameter of the current node; selecting the leaf node with the largest total execution time parameter from the leaf nodes of the call chain as the target leaf node, and the path traversed from the target leaf node back to the root node as the critical path.
[0072] The algorithm for finding the critical path is as follows: (1) Depth-first search (DFS): Traverse the entire tree structure; (2) Cumulative time calculation: Start from the root node and accumulate the time parameters of each node; (3) Leaf node comparison: Compare the total time consumption parameters at the leaf nodes and record the leaf node with the largest total time consumption parameter; (4) Path reconstruction: Based on the parent-child relationship, the critical path is constructed by mapping back from the leaf node with the largest total time parameter.
[0073] The algorithm for finding the critical path is explained below: Algorithm: Find the critical path (find_critical_path) Input: root_node (root node), span_map (tree structure of parent-child mapping) Output: The longest path from the root node to a leaf node, which is the critical path. 1. Initialization: max_duration=0; critical_leaf=null; parent_map = empty dictionary.
[0074] 2. Define the DFS function (current node, cumulative time): The total time spent up to the current node is calculated as: cumulative time (i.e., the total time spent by the parent node of the current node) + time spent by the current node.
[0075] If it is a leaf node: If the total duration parameter > max_duration: Update max_duration; Record the current node as critical_leaf; Otherwise (if there are child nodes): Sort by child node time consumption parameters in descending order (optimized pruning); For each child node: Parent-child relationships are recorded in parent_map; Recursively call DFS.
[0076] 3. Perform DFS: Starting from the root node, the cumulative time is 0.
[0077] 4. Path reconstruction: If no leaf node is found, return [root node]; Otherwise, backtrack starting from critical_leaf: If a span_map is provided: use parent_span_id to backtrack; If there is no span_map: first construct the id_to_node mapping to obtain the span_map, and then use the parent_map to backtrack; Reverse the path (because it is a backtracking from the leaf node to the root node).
[0078] 5. Return the complete critical path.
[0079] For example, the process of obtaining the performance parameters of the service system based on the performance parameters of the thread pools called in the critical path and the thread pools called in the call chain may include the following steps B1 to B2: Step B1: If a thread pool is invoked in the critical path, calculate the second sum of the performance parameters of each thread pool, take the ratio of the second sum to the preset resource quota coefficient as the target ratio, obtain the minimum performance parameter among the performance parameters of the thread pools invoked in the critical path, take the product of the minimum performance parameter and the preset bottleneck tolerance factor as the target product, and take the minimum value of the target ratio and the target product as the performance parameter of the service system.
[0080] The second sum of performance parameters for each thread pool called in the call chain is calculated, and the ratio of this second sum to a preset resource quota coefficient is used as the target ratio. The resource quota coefficient is a safety factor that takes into account the overhead and uncertainty in actual operation and is used to discount the second sum. The resource quota coefficient can be set to any applicable empirical value according to actual needs; for example, it can be 1.1, 1.2, 1.3, etc.
[0081] The performance parameters of each thread pool called in the critical path are obtained, and the performance parameter with the smallest value is selected as the minimum performance parameter. The product of the minimum performance parameter and a preset bottleneck tolerance factor is used as the target product. Here, the bottleneck tolerance factor refers to an efficiency coefficient, which takes into account the serialization effect on the critical path and is used to discount the minimum performance parameter. The bottleneck tolerance factor can be set to any applicable empirical value according to actual needs, such as 0.75, 0.8, 0.85, etc.
[0082] For example, the minimum value of the product of the target ratio and the target is used as the performance parameter of the service system. Here, the "bottleneck logic" is used to correlate the performance of the thread pool and the critical path to calculate the performance parameter of the service system. The performance parameter of the service system is jointly determined by the aggregation of the thread pool performance parameters and the minimum performance parameter in the critical path, and the smaller of the two values is taken.
[0083] In this case, the performance parameters of the service system can be calculated using the following formula 2:
[0084] Formula 2 The meanings of the parameters in Formula 2 are shown in the table below:
[0085] Among them, the performance parameters of the service system can be the throughput of the service system, such as the number of tasks processed per second.
[0086] Step B2: If no thread pool is invoked in the critical path, calculate the second sum of the performance parameters of each thread pool, and use the ratio of the second sum to the preset resource quota coefficient as the target ratio, and use the target ratio as the performance parameter of the service system.
[0087] In this embodiment of the invention, a dual constraint is applied: If there is a thread pool on the critical path: Constraint 1: Total thread pool performance parameter / k (overall resource constraint); Constraint 2: ×min (the minimum thread pool performance parameter in the critical path) (bottleneck constraint).
[0088] Take the minimum of the two.
[0089] If there is no thread pool on the critical path: Constraint 1: Total thread pool performance parameter / k (overall resource constraint).
[0090] This approach considers two main limiting factors in distributed systems, avoids overly optimistic estimations by taking the minimum value, and provides a fallback strategy for critical paths without thread pools, using parameters k and It can be optimized according to the actual system characteristics.
[0091] In one optional implementation, after obtaining the performance parameters of the service system, the method further includes: adjusting the resource parameters of the thread pools and the timeout parameters of the service interface based on the performance parameters of each thread pool and / or the performance parameters of the service system.
[0092] For example, if the performance parameters of the thread pool are less than a set threshold, the response time of the node is calculated based on the time consumption parameters of the node and the time consumption parameters of each child node of the node, and the reference response time of the node is calculated based on the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node; if the difference between the response time of the node and the reference response time of the node exceeds a set difference, the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node are adjusted, and the reference response time of the node is recalculated based on the adjusted timeout parameters, until the difference between the response time of the node and the recalculated reference response time of the node is less than the set difference.
[0093] For example, the process of calculating the response time of a node based on the time consumption parameters of the node and the time consumption parameters of each child node of the node may include: calculating a second sum of the time consumption parameters of each child node of the node, and using the difference between the time consumption parameters of the node and the second sum as the response time of the node.
[0094] For example, the process of calculating the reference response time of the node based on the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each of the node's child nodes may include: calculating a fourth sum of the timeout parameters of the service interfaces called by each of the node's child nodes, and using the difference between the timeout parameters of the service interfaces called by the node and the fourth sum as the reference response time of the node.
[0095] For example, if the performance parameter of the thread pool is less than a set threshold, the maximum resource parameter of the thread pool is calculated, where the maximum resource parameter refers to the resource parameter when the performance parameter of the thread pool is equal to the set threshold; and the resource parameter of the thread pool is adjusted to a preset percentage of the maximum resource parameter of the thread pool.
[0096] In the process of calculating the maximum resource parameters of the thread pool, the performance parameters of the thread pool in Formula 1 are set as the maximum resource parameters of the thread pool, and the resource parameters of the thread pool are calculated in reverse. The calculation result is used as the maximum resource parameters of the thread pool.
[0097] The specific values for the above-mentioned threshold, difference, and preset percentage can be set according to actual needs, and this embodiment does not impose any restrictions on them.
[0098] Of course, other methods can also be used to adjust the resource parameters of the thread pool and the timeout parameters of the service interface. The specific method can be handled according to the actual scenario, and will not be discussed in detail in this embodiment.
[0099] In this embodiment of the invention, starting from the actual execution process of the service system itself, the call chain data corresponding to the service system is dynamically tracked in real time. The performance parameters of each thread pool are analyzed in real time based on the resource parameters of the thread pool and the timeout parameters of the service interface. Furthermore, the performance parameters of the service system are analyzed. The analysis using real call chain data improves the accuracy of service system performance evaluation and can adapt to the dynamic changes of the service system, thereby realizing the automation of service system performance evaluation.
[0100] Figure 2 This is a system architecture diagram according to an embodiment of the present invention. For example... Figure 2 As shown, the service system can include a data acquisition layer, a preprocessing layer, a modeling and analysis layer, an application service layer, and an external system / user layer. The data acquisition layer is responsible for collecting the raw call chain data, thread pool configuration data, and service interface configuration data corresponding to the service system. The preprocessing layer performs data preprocessing operations on the raw call chain data, thread pool configuration data, and service interface configuration data, and then integrates these preprocessed data to obtain the call chain data corresponding to the service system. The modeling and analysis layer constructs thread pool-level performance parameter models and service system-level performance parameter models, and calculates thread pool performance parameters and service system performance parameters. The application service layer packages the processing results from the modeling and analysis layer into "services" or "tools" for use by external systems / users. The external system / user layer is the "user" of the application service layer; after receiving the processing results, it makes decisions and optimizes the system.
[0101] Figure 3 This is a structural block diagram of a service system performance acquisition device according to an embodiment of the present invention.
[0102] like Figure 3 As shown, the service system performance acquisition device may include the following modules: The first acquisition module 301 is used to acquire the call chain data corresponding to the service system. The call chain data includes the resource parameters of the thread pool called by each node in the call chain and the timeout parameters of the service interface called. The second acquisition module 302 is used to acquire the performance parameters of each thread pool based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool. The third acquisition module 303 is used to acquire the critical path in the call chain, and acquire the performance parameters of the service system based on the performance parameters of the thread pools called in the critical path and the performance parameters of the thread pools called in the call chain, wherein the critical path is the path with the longest time consumption.
[0103] Optionally, the call chain data further includes the time consumption parameters of each node in the call chain; the second acquisition module 302 includes: The first calculation unit is used to calculate the weighted resource parameters of the thread pool based on the resource parameters of the thread pool, calculate the weighted response time of the thread pool based on the time consumption parameters of each node corresponding to the thread pool, and calculate the weighted waiting time of the thread pool based on the timeout parameters of the service interfaces called by each node corresponding to the thread pool. The second calculation unit is used to calculate the first sum of the weighted response time and the weighted waiting time, and to use the ratio of the weighted resource parameter to the first sum as the performance parameter of the thread pool.
[0104] Optionally, the first computing unit includes: The first-time calculation subunit is used to calculate the second sum of the time consumption parameters of each child node of the node for each node corresponding to the thread pool, and take the difference between the time consumption parameter of the node and the second sum as the response time of the node; calculate the response time of the thread pool based on the response time of each node corresponding to the thread pool, and take the product of the response time of the thread pool and the response time weight as the weighted response time of the thread pool.
[0105] Optionally, the first computing unit includes: The second time calculation subunit is used to calculate the third sum of the timeout parameters of the service interfaces called by each serial child node of the thread pool for each node corresponding to the thread pool. If the node has child nodes, the subunit also calculates the maximum timeout parameter among the timeout parameters of the service interfaces called by each parallel child node of the node. The maximum value between the third sum and the maximum timeout parameter is used as the waiting time of the node. The subunit also calculates the waiting time of the thread pool based on the waiting time of each node corresponding to the thread pool. The product of the waiting time of the thread pool and the waiting time weight is used as the weighted waiting time of the thread pool.
[0106] Optionally, the third acquisition module 303 includes: The third calculation unit is used to calculate the second sum of the performance parameters of each thread pool if a thread pool is called in the critical path, take the ratio of the second sum to a preset resource quota coefficient as a target ratio, obtain the minimum performance parameter among the performance parameters of the thread pools called in the critical path, take the product of the minimum performance parameter and a preset bottleneck tolerance factor as a target product, and take the minimum value of the target ratio and the target product as the performance parameter of the service system. The fourth calculation unit is used to calculate the second sum of the performance parameters of each thread pool if no thread pool is called in the critical path, and to use the ratio of the second sum to a preset resource quota coefficient as a target ratio, and to use the target ratio as the performance parameter of the service system.
[0107] Optionally, the device further includes: a first adjustment module, configured to: if the performance parameters of the thread pool are less than a set threshold, calculate the response time of the node based on the time consumption parameters of the node and the time consumption parameters of each child node of the node, and calculate the reference response time of the node based on the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node; if the difference between the response time of the node and the reference response time of the node exceeds a set difference, adjust the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node, and recalculate the reference response time of the node based on the adjusted timeout parameters, until the difference between the response time of the node and the recalculated reference response time of the node is less than the set difference.
[0108] Optionally, the device further includes: a second adjustment module, configured to calculate the maximum resource parameter of the thread pool if the performance parameter of the thread pool is less than a set threshold, wherein the maximum resource parameter refers to the resource parameter when the performance parameter of the thread pool is equal to the set threshold; and adjust the resource parameter of the thread pool to a preset percentage of the maximum resource parameter of the thread pool.
[0109] In this embodiment of the invention, starting from the actual execution process of the service system itself, the call chain data corresponding to the service system is dynamically tracked in real time. The performance parameters of each thread pool are analyzed in real time based on the resource parameters of the thread pool and the timeout parameters of the service interface. Furthermore, the performance parameters of the service system are analyzed. The analysis using real call chain data improves the accuracy of service system performance evaluation and can adapt to the dynamic changes of the service system, thereby realizing the automation of service system performance evaluation.
[0110] This invention also provides an electronic device, such as... Figure 4 As shown, it includes a processor 401, a communication interface 402, a memory 403, and a communication bus 404, wherein the processor 401, the communication interface 402, and the memory 403 communicate with each other through the communication bus 404.
[0111] Memory 403 is used to store computer programs; When processor 401 executes the program stored in memory 403, it performs the following steps: Obtain the call chain data corresponding to the service system. The call chain data includes the resource parameters of the thread pool called by each node in the call chain and the timeout parameters of the called service interface. For each thread pool, the performance parameters of the thread pool are obtained based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool. Obtain the critical path in the call chain, and obtain the performance parameters of the service system based on the performance parameters of the thread pools called in the critical path and the thread pools called in the call chain, wherein the critical path is the path with the longest execution time.
[0112] Optionally, the call chain data further includes the time consumption parameters of each node in the call chain; obtaining the performance parameters of the thread pool based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool includes: The weighted resource parameters of the thread pool are calculated based on the resource parameters of the thread pool. The weighted response time of the thread pool is calculated based on the time consumption parameters of each node corresponding to the thread pool. The weighted waiting time of the thread pool is calculated based on the timeout parameters of the service interfaces called by each node corresponding to the thread pool. Calculate the first sum of the weighted response time and the weighted wait time, and use the ratio of the weighted resource parameter to the first sum as the performance parameter of the thread pool.
[0113] Optionally, calculating the weighted response time of the thread pool based on the time consumption parameters of each node corresponding to the thread pool includes: For each node corresponding to the thread pool, calculate the second sum of the time consumption parameters of each child node of the node, and take the difference between the time consumption parameter of the node and the second sum as the response time of the node; The response time of the thread pool is calculated based on the response time of each node corresponding to the thread pool, and the product of the response time of the thread pool and the response time weight is used as the weighted response time of the thread pool.
[0114] Optionally, calculating the weighted waiting time of the thread pool based on the timeout parameters of the service interfaces called by each node corresponding to the thread pool includes: For each node corresponding to the thread pool, if the node has child nodes, calculate the third sum of the timeout parameters of the service interfaces called by each serial child node of the node, and obtain the maximum timeout parameter among the timeout parameters of the service interfaces called by each parallel child node of the node. Use the maximum value between the third sum and the maximum timeout parameter as the waiting time of the node. The waiting time of the thread pool is calculated based on the waiting time of each node corresponding to the thread pool. The product of the waiting time of the thread pool and the waiting time weight is used as the weighted waiting time of the thread pool.
[0115] Optionally, obtaining the performance parameters of the service system based on the performance parameters of the thread pools called in the critical path and the thread pools called in the call chain includes: if a thread pool is called in the critical path, calculating a second sum of the performance parameters of each thread pool, using the ratio of the second sum to a preset resource quota coefficient as a target ratio, obtaining the minimum performance parameter among the performance parameters of the thread pools called in the critical path, using the product of the minimum performance parameter and a preset bottleneck tolerance factor as a target product, and using the minimum value of the target ratio and the target product as the performance parameter of the service system; if no thread pool is called in the critical path, calculating a second sum of the performance parameters of each thread pool, using the ratio of the second sum to a preset resource quota coefficient as a target ratio, and using the target ratio as the performance parameter of the service system.
[0116] Optionally, the method further includes: if the performance parameters of the thread pool are less than a set threshold, then calculating the response time of the node based on the time consumption parameters of the node and the time consumption parameters of each child node of the node, and calculating the reference response time of the node based on the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node; if the difference between the response time of the node and the reference response time of the node exceeds a set difference, then adjusting the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node, and recalculating the reference response time of the node based on the adjusted timeout parameters, until the difference between the response time of the node and the recalculated reference response time of the node is less than the set difference.
[0117] Optionally, the method further includes: if the performance parameter of the thread pool is less than a set threshold, then calculating the maximum resource parameter of the thread pool, wherein the maximum resource parameter refers to the resource parameter when the performance parameter of the thread pool is equal to the set threshold; and adjusting the resource parameter of the thread pool to a preset percentage of the maximum resource parameter of the thread pool.
[0118] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0119] The communication interface is used for communication between the aforementioned terminal and other devices.
[0120] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0121] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0122] In another embodiment of the present invention, a computer-readable storage medium is also provided, which stores a computer program that, when run on a computer, enables the computer to implement the service system performance acquisition method described in any of the above embodiments.
[0123] In another embodiment of the present invention, a computer program product is also provided, which stores a computer program that, when run on a computer, enables the computer to implement any of the service system performance acquisition methods described in the above embodiments.
[0124] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0125] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0126] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0127] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention are included within the scope of protection of the present invention.
Claims
1. A method for obtaining service system performance, characterized in that, include: Obtain the call chain data corresponding to the service system. The call chain data includes the resource parameters of the thread pool called by each node in the call chain and the timeout parameters of the called service interface. For each thread pool, the performance parameters of the thread pool are obtained based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool. Obtain the critical path in the call chain, and obtain the performance parameters of the service system based on the performance parameters of the thread pools called in the critical path and the thread pools called in the call chain, wherein the critical path is the path with the longest execution time.
2. The method according to claim 1, characterized in that, The call chain data also includes the time consumption parameters of each node in the call chain; obtaining the performance parameters of the thread pool based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool includes: The weighted resource parameters of the thread pool are calculated based on the resource parameters of the thread pool. The weighted response time of the thread pool is calculated based on the time consumption parameters of each node corresponding to the thread pool. The weighted waiting time of the thread pool is calculated based on the timeout parameters of the service interfaces called by each node corresponding to the thread pool. Calculate the first sum of the weighted response time and the weighted wait time, and use the ratio of the weighted resource parameter to the first sum as the performance parameter of the thread pool.
3. The method according to claim 2, characterized in that, The step of calculating the weighted response time of the thread pool based on the time consumption parameters of each node corresponding to the thread pool includes: For each node corresponding to the thread pool, calculate the second sum of the time consumption parameters of each child node of the node, and take the difference between the time consumption parameter of the node and the second sum as the response time of the node; The response time of the thread pool is calculated based on the response time of each node corresponding to the thread pool, and the product of the response time of the thread pool and the response time weight is used as the weighted response time of the thread pool.
4. The method according to claim 2, characterized in that, The step of calculating the weighted waiting time of the thread pool based on the timeout parameters of the service interfaces called by each node corresponding to the thread pool includes: For each node corresponding to the thread pool, if the node has child nodes, calculate the third sum of the timeout parameters of the service interfaces called by each serial child node of the node, and obtain the maximum timeout parameter among the timeout parameters of the service interfaces called by each parallel child node of the node. Use the maximum value between the third sum and the maximum timeout parameter as the waiting time of the node. The waiting time of the thread pool is calculated based on the waiting time of each node corresponding to the thread pool. The product of the waiting time of the thread pool and the waiting time weight is used as the weighted waiting time of the thread pool.
5. The method according to claim 1, characterized in that, The step of obtaining the performance parameters of the service system based on the performance parameters of the thread pools called in the critical path and the thread pools called in the call chain includes: If a thread pool is invoked in the critical path, the second sum of the performance parameters of each thread pool is calculated. The ratio of the second sum to a preset resource quota coefficient is used as the target ratio. The minimum performance parameter among the performance parameters of the thread pools invoked in the critical path is obtained. The product of the minimum performance parameter and a preset bottleneck tolerance factor is used as the target product. The minimum value of the target ratio and the target product is used as the performance parameter of the service system. If no thread pool is invoked in the critical path, the second sum of the performance parameters of each thread pool is calculated, and the ratio of the second sum to the preset resource quota coefficient is used as the target ratio. The target ratio is used as the performance parameter of the service system.
6. The method according to claim 1, characterized in that, The method further includes: If the performance parameters of the thread pool are less than the set threshold, the response time of the node is calculated based on the time consumption parameters of the node and the time consumption parameters of each child node of the node, and the reference response time of the node is calculated based on the timeout parameters of the service interfaces called by the node and the timeout parameters of the service interfaces called by each child node of the node. If the difference between the response time of the node and the reference response time of the node exceeds a set difference, the timeout parameters of the service interfaces called by the node and the service interfaces called by each child node of the node are adjusted, and the reference response time of the node is recalculated based on the adjusted timeout parameters until the difference between the response time of the node and the recalculated reference response time of the node is less than the set difference.
7. The method according to claim 1, characterized in that, The method further includes: If the performance parameters of the thread pool are less than a set threshold, then the maximum resource parameters of the thread pool are calculated. The maximum resource parameters refer to the resource parameters when the performance parameters of the thread pool are equal to the set threshold. Adjust the resource parameters of the thread pool to a preset percentage of the maximum resource parameters of the thread pool.
8. A service system performance acquisition device, characterized in that, include: The first acquisition module is used to acquire the call chain data corresponding to the service system. The call chain data includes the resource parameters of the thread pool called by each node in the call chain and the timeout parameters of the service interface called. The second acquisition module is used to acquire the performance parameters of each thread pool based on the resource parameters of the thread pool and the timeout parameters of the service interfaces called by each node corresponding to the thread pool. The third acquisition module is used to acquire the critical path in the call chain, and to acquire the performance parameters of the service system based on the performance parameters of the thread pools called in the critical path and the thread pools called in the call chain, wherein the critical path is the path with the longest time consumption.
9. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, when executing a computer program stored in memory, implements the method as described in any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is run on a computer, it causes the computer to perform the method as described in any one of claims 1-7.