Parameter debugging method and device, equipment, storage medium and program product

Through the GC parameter of the Java application server, group processing and multi -performance testing, determine the target GC parameter array, solve the problem of determining the optimal GC parameter efficiency in traditional technologies, and achieve rapid and efficient parameter debugging.

CN119336591APending Publication Date: 2025-01-21SUGON INFORMATION IND +1
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411322345.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

In traditional technology, it is less efficient to determine the optimal garbage collection (GC) parameters, and a large number of GC parameters need to be repeatedly modified and debugged.

Method used

By obtaining multiple GC parameters to be debugged on the server, perform grouping processing to form an initial GC parameter group, perform multiple performance tests on each group, and determine the target GC parameter group based on the test results.

Benefits of technology

This method can quickly determine the optimal GC parameter set of the server and improves the efficiency of determining the optimal GC parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119336591A_ABST
    Figure CN119336591A_ABST
Patent Text Reader

Abstract

The invention relates to a parameter debugging method and device, computer equipment, a computer readable storage medium and a computer program product. The method comprises the following steps: acquiring a plurality of to-be-debugged garbage collection GC parameters of a server; performing grouping processing on the plurality of GC parameters to obtain a plurality of initial GC parameter groups; multiple times of performance testing are conducted on each initial GC parameter set, multiple testing results are obtained, a target GC parameter set is determined according to the testing results, and the target GC parameter set is the optimal GC parameter set corresponding to the server. By adopting the method, the efficiency of determining the optimal GC parameter is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of performance testing, and in particular to a parameter debugging method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art

[0002] SPECjbb2015 is a performance test software for JAVA application servers. It is used to evaluate the running performance of Java applications, thereby evaluating the performance of the processor, memory system and Java Virtual Machine (JVM) of the JAVA application server. In order to improve the test performance of SPECjbb2015, the JVM parameters of the JAVA application server can be debugged before executing the formal test program. Among them, the garbage collection (GC) parameters in the JVM parameters have a significant impact on the performance of JAVA applications.

[0003] In traditional technology, a large number of GC parameters need to be repeatedly modified and debugged to determine the optimal GC parameters, and then the SPEC test is performed using the debugged optimal GC parameters.

[0004] However, there is a problem in that the conventional technology has low efficiency in determining the optimal GC parameters. Summary of the invention

[0005] Based on this, it is necessary to provide a parameter debugging method, device, computer equipment, computer-readable storage medium and computer program product that can improve the efficiency of determining optimal GC parameters in response to the above technical problems.

[0006] In a first aspect, the present application provides a parameter debugging method. The method comprises:

[0007] Get multiple garbage collection GC parameters to be debugged on the server;

[0008] performing grouping processing on the multiple GC parameters to obtain multiple initial GC parameter groups;

[0009] Perform multiple performance tests on each of the initial GC parameter groups to obtain multiple test results, and determine a target GC parameter group based on each of the test results, where the target GC parameter group is an optimal GC parameter group corresponding to the server.

[0010] In one embodiment, determining the target GC parameter group according to each of the test results includes:

[0011] For each of the initial GC parameter groups, comparing the initial GC parameter group with a first test result corresponding to a current performance test and a second test result corresponding to a previous performance test to obtain a comparison result;

[0012] The target GC parameter group is determined according to the comparison result.

[0013] In one of the embodiments, the first test result includes a first garbage collection time GCT and a first throughput, the second test result includes a second GCT and a second throughput, and determining the target GC parameter group according to the comparison result includes:

[0014] If the comparison result is that the first GCT is smaller than the second GCT, determining the target GC parameter group according to the first throughput and the second throughput;

[0015] If the comparison result is that the first GCT is greater than or equal to the second GCT, the initial GC parameter group is debugged to obtain the target GC parameter group.

[0016] In one embodiment, the first throughput includes a first original throughput and a first maximum throughput, the second throughput includes a second original throughput and a second maximum throughput, and determining the target GC parameter group according to the first throughput and the second throughput includes:

[0017] Obtaining a first statistical value of the first original throughput and the first maximum throughput, and obtaining a second statistical value of the second original throughput and the second maximum throughput;

[0018] If the first statistical value is greater than the second statistical value, determining the initial GC parameter group as the target GC parameter group;

[0019] If the first statistical value is less than or equal to the second statistical value, the initial GC parameter group is debugged to obtain the target GC parameter group.

[0020] In one embodiment, debugging the initial GC parameter group includes:

[0021] Iteratively debugging the initial GC parameter group according to each of the initial GC parameter groups and each of the second test results corresponding to the previous performance test, to obtain a debugging GC parameter group corresponding to each debugging process;

[0022] A performance test is performed on the first debugging GC parameter group corresponding to the K-th debugging process and the second debugging GC parameter group corresponding to the K-1-th debugging process to obtain a third test result corresponding to the first debugging GC parameter group and a fourth test result corresponding to the second debugging GC parameter group, and based on the third test result and the fourth test result, it is determined whether to determine the first debugging GC parameter group as the target GC parameter group, where K is an integer greater than 1.

[0023] In one embodiment, the iterative debugging process includes:

[0024] Each of the initial GC parameter groups is used as a particle position corresponding to a particle swarm optimization algorithm, and each of the second test results is used as the fitness of the particle position. According to the particle swarm optimization algorithm, the initial GC parameter group is iteratively debugged.

[0025] In one embodiment, determining whether to use the first debugging GC parameter group as the target GC parameter group according to the third test result and the fourth test result includes:

[0026] If the difference between the third test result and the fourth test result is less than a preset threshold, determining the first debugging GC parameter group as the target GC parameter group;

[0027] If the difference between the third test result and the fourth test result is greater than or equal to the preset threshold, and the number of current iterative debugging reaches the preset number of iterations, the iterative debugging is stopped, and the initial GC parameter group is determined to be a non-target GC parameter group.

[0028] In a second aspect, the present application also provides a parameter debugging device. The device comprises:

[0029] An acquisition module is used to obtain multiple garbage collection GC parameters to be debugged from the server;

[0030] A first determination module, configured to group the plurality of GC parameters to obtain a plurality of initial GC parameter groups;

[0031] The second determination module is used to perform multiple performance tests on each of the initial GC parameter groups to obtain multiple test results, and determine a target GC parameter group based on each of the test results, wherein the target GC parameter group is an optimal GC parameter group corresponding to the server.

[0032] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the method described in the first aspect are implemented.

[0033] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method described in the first aspect are implemented.

[0034] In a fifth aspect, the present application further provides a computer program product, wherein the computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the method described in the first aspect are implemented.

[0035] The above-mentioned server obtains multiple garbage collection GC parameters to be debugged, then groups the multiple GC parameters to obtain multiple initial GC parameter groups, and then performs multiple performance tests on each initial GC parameter group to obtain multiple test results, and determines the target GC parameter group based on each test result. In this parameter debugging method, since the GC parameters are grouped, the number of performance tests can be reduced compared to performing performance tests on each GC parameter separately, so that the target GC parameter group can be quickly determined according to each test result, and the target GC parameter group is the optimal GC parameter group corresponding to the server, and then the GC parameters in the optimal GC parameter group can be quickly determined as the optimal GC parameters, thereby improving the efficiency of determining the optimal GC parameters. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0037] FIG1 is an application environment diagram of a parameter debugging method in one embodiment;

[0038] FIG2 is a schematic diagram of a flow chart of a parameter debugging method in one embodiment;

[0039] FIG3 is a schematic diagram of a flow chart of step 203 in another embodiment;

[0040] FIG4 is a flow chart of a parameter debugging method in another embodiment;

[0041] FIG5 is a flow chart of a parameter debugging method in another embodiment;

[0042] FIG6 is a flow chart of a parameter debugging method in another embodiment;

[0043] FIG7 is a block diagram of a parameter debugging device in one embodiment;

[0044] FIG. 8 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0045] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0046] When using SPECjbb2015 to test the performance of a JAVA application server, due to the different number of CPU cores, memory capacity configuration, etc. of different devices, it is necessary to manually debug the JVM parameters of the JAVA application server to accurately test the performance of the device. However, the single run time of SPECjbb2015 is about 2.5 hours, which leads to a relatively long cycle for manually debugging the JVM parameters. In addition, there are dozens of GC-related parameters in the JVM parameters. In the manual debugging method, only one or several parameters can be adjusted at a time, and then SPECjbb2015 is run to wipe to verify the test effect of the debugged parameters. Therefore, the debugging cycle of the manual debugging method of GC parameters is too long. Furthermore, when using SPECjbb2015 for testing, the operation and maintenance personnel need to have a deep understanding of the relevant knowledge of JVM. When manually debugging the parameters, they need to understand the meaning and mechanism of each parameter, which leads to a relatively high complexity of manual debugging. In view of this, the parameter debugging method proposed in the present application can group the multiple GC parameters to be debugged of the acquired server to obtain multiple initial GC parameter groups, and then perform multiple performance tests on each initial GC parameter group, thereby determining the optimal GC parameter group corresponding to the server based on multiple test results, thereby improving the efficiency of determining the optimal GC parameters.

[0047] The parameter debugging method provided in the embodiment of the present application can be applied in the implementation environment as shown in Figure 1, which includes a server. The server can be implemented as an independent server or a server cluster composed of multiple servers, and the data storage system can store the data that the server needs to process. The data storage system can be integrated on the server, or it can be placed on the cloud or other network servers. Among them, the server can obtain multiple garbage collection GC parameters to be debugged of the server, and then group the multiple GC parameters to obtain multiple initial GC parameter groups, and then perform multiple performance tests on each initial GC parameter group to obtain multiple test results, and determine the target GC parameter group based on each test result. The target GC parameter group is the optimal GC parameter group corresponding to the server.

[0048] In other possible implementations, the parameter debugging method provided in the embodiment of the present application can also be applied to a terminal, which can be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, IoT devices, and portable wearable devices. IoT devices can be smart speakers, smart TVs, smart air conditioners, smart car-mounted devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc.

[0049] In an exemplary embodiment, as shown in FIG2 , a parameter debugging method is provided, which is described by taking the method applied to the server in FIG1 as an example, and includes the following steps 201 to 203:

[0050] Step 201, obtaining multiple garbage collection (GC) parameters to be debugged of the server.

[0051] It should be noted that garbage collection (GC) is a core component of the server's memory management. It is responsible for automatically reclaiming unused memory space to avoid memory leaks and wild pointers, and to ensure system performance and stability. Therefore, GC plays an important role in the server's memory management efficiency and the performance stability of applications. For example, the server can regularly clean up unused objects through GC, which can optimize memory management; GC can effectively identify and recycle useless objects, reduce the risk of memory leaks, and thus improve the stability of applications; GC can reduce erroneous pointers, thereby ensuring that objects are properly managed during their life cycle; GC can improve memory utilization. In the performance test of the server, before executing the test program, it is necessary to debug and optimize the GC parameters related to GC to screen out GC parameters that can accurately test the performance of the server.

[0052] The garbage collection (GC) parameters to be debugged refer to the relevant parameters when the server to be tested performs GC processing. For example, the GC parameters may include the maximum time for executing a single GC, CPU resource consumption, memory resource consumption, pause time, throughput, thread stack size and other parameters.

[0053] Optionally, in this embodiment, the server may receive multiple GC parameters sent by other servers, or the server may also obtain multiple GC parameters in response to an input operation triggered by a user, where the input operation is that the user inputs multiple GC parameters to the server.

[0054] Step 202: Group multiple GC parameters to obtain multiple initial GC parameter groups.

[0055] The initial GC parameter group is a parameter group obtained by grouping multiple GC parameters, each of which may include multiple GC parameter groups, and each of which may represent a combination of different types of test parameters. Optionally, the group processing method may include a group exchange method, a data group processing algorithm, an orthogonal experiment method, etc.

[0056] Preferably, in this embodiment, the orthogonal experiment method can be used to group multiple GC parameter groups. Among them, the orthogonal experiment table is obtained by combining representative factors and levels. For example, if the GC parameters include 3 GC parameters, each parameter has 3 values, then 27 tests are required to fully test the combination of all parameters, while only 9 tests are required to generate the test parameter combination using the orthogonal experiment table. Determining the initial GC parameter group using the orthogonal experiment table can ensure that each factor is independent of each other, thereby reducing the number of test parameter combinations. Moreover, multiple initial GC parameter groups are obtained through the orthogonal experiment table. Compared with manual division, it is possible to find parameter combinations that are difficult to consider manually, thereby testing higher performance potential. In addition, since each initial GC parameter group represents different test performance, the richness of the test results can be improved.

[0057] In this embodiment, the server may perform group processing on the multiple GC parameter groups using the orthogonal experiment table corresponding to the orthogonal experiment method, thereby determining the multiple results obtained by the group processing as the multiple initial GC parameter groups.

[0058] Step 203 , performing multiple performance tests on each initial GC parameter group to obtain multiple test results, and determining a target GC parameter group based on each test result, the target GC parameter group being the optimal GC parameter group corresponding to the server.

[0059] The performance test refers to the test of the application performance of the server. In this embodiment, the process of determining the optimal GC parameter group can be described by taking SPECjbb2015 for testing the JAVA application server as an example. In this embodiment, the initial GC parameter group that can characterize the optimal performance of the server in the test results can be determined as the target GC parameter group, wherein the test results may include parameters characterizing the performance of the server, such as the time spent on executing a single GC, CPU occupied resources, memory occupied resources, and other information.

[0060] It is understandable that the performance testing process may be unstable. Therefore, multiple performance tests can be performed on each initial GC parameter group, and then the target GC parameter group is determined from the multiple test results obtained, thereby improving the reliability of the determined target GC parameter group.

[0061] In this embodiment, the test program corresponding to SPECjbb2015 can be used to perform multiple performance tests on each initial GC parameter group, and multiple test results corresponding to the multiple performance tests can be obtained. Then, the optimal test result can be determined based on information such as the time consumed, CPU resources occupied, and memory resources occupied in the test results. Then, the initial GC parameter group corresponding to the optimal test result is determined as the target GC parameter group.

[0062] In the above parameter debugging method, the server obtains multiple garbage collection GC parameters to be debugged, then groups the multiple GC parameters to obtain multiple initial GC parameter groups, and then performs multiple performance tests on each initial GC parameter group to obtain multiple test results, and determines the target GC parameter group based on each test result. In this parameter debugging method, since the GC parameters are grouped, the number of performance tests can be reduced compared to performing performance tests on each GC parameter separately, so that the target GC parameter group can be quickly determined according to each test result, and the target GC parameter group is the optimal GC parameter group corresponding to the server, and then the GC parameters in the optimal GC parameter group can be quickly determined as the optimal GC parameters, thereby improving the efficiency of determining the optimal GC parameters.

[0063] Based on the embodiment shown in FIG2 , referring to FIG3 , this embodiment relates to a process of how the server determines the target GC parameter group according to each test result. As shown in FIG3 , step 203 includes steps 301 and 302 shown in FIG3 :

[0064] Step 301 : for each initial GC parameter group, the initial GC parameter group is compared with a first test result corresponding to a current performance test and a second test result corresponding to a previous performance test to obtain a comparison result.

[0065] It should be noted that, based on the above-mentioned multiple performance tests on multiple initial GC parameter groups, the test result of the current performance test corresponding to each initial GC parameter group can be compared with the test result of the previous performance test, so as to determine whether each initial GC parameter group is a target GC parameter group according to the comparison result. Among them, the test result of the current performance test is the first test result, the test result of the previous performance test is the second test result, and the difference between the first test result and the second test result is determined as the comparison result.

[0066] In this embodiment, for each initial GC parameter group, the server can process and analyze the first test result and the second test result, and then determine the comparison result according to the processing and analysis results. Exemplarily, if the first test result represents the first occupied memory space corresponding to the current performance test, and the second test result represents the first occupied memory space corresponding to the previous performance test, then the difference between the capacity of the first memory occupied space and the capacity of the second memory occupied space can be determined as the comparison result.

[0067] As an optional implementation, after performing the next performance test, the test result of the next performance test can be determined as a new first test result, and the corresponding test result of the current test can be determined as a new second test result, and then a new comparison result can be determined based on the new first test result and the new second test result.

[0068] Step 302: Determine a target GC parameter group according to the comparison result.

[0069] It can be understood that if the comparison result indicates that the first test result is better than the second test result, it can be determined that the initial GC parameter group corresponding to the comparison result can achieve the expected performance improvement, and the initial GC parameter group can be determined as the target GC parameter group; if the comparison result indicates that the second test result is better than the first test result, it can be determined that the initial GC parameter group corresponding to the comparison result does not achieve the expected performance improvement, and the initial GC parameter group is a non-target GC parameter group.

[0070] In this embodiment, the server may determine whether the initial GC parameter group corresponding to the comparison result is the target GC parameter group according to the comparison relationship between the first test result and the second test result represented by the comparison result.

[0071] In this embodiment, for each initial GC parameter group, the server compares the initial GC parameter group with the first test result corresponding to the current performance test and the second test result corresponding to the previous performance test to obtain a comparison result, and then determines the target GC parameter group based on the comparison result. Since the process of obtaining the comparison result based on the first test result and the second test result is relatively simple, the comparison result can be obtained quickly, and then the target GC parameter group can be quickly determined based on the comparison result, thereby improving the efficiency of determining the target GC parameter group.

[0072] Based on the embodiment shown in Figure 3, the first test result includes the first garbage collection time GCT and the first throughput. This embodiment relates to how the server determines the target GC parameter group according to the comparison result. In this embodiment, the server implements the process by executing the following two implementation methods.

[0073] In a possible implementation manner, if the comparison result is that the first GCT is smaller than the second GCT, the target GC parameter group is determined according to the first throughput and the second throughput.

[0074] Among them, the garbage collection time (Garbage Collection Time, GCT) refers to the time taken by the server to perform a single garbage collection. In this embodiment, the GCT in the first test result is determined as the first GCT, and the GCT in the second test result is determined as the second GCT. Throughput refers to the amount of data or the number of services that the server can process per unit time. The throughput can be calculated by the following formula: Throughput = User Code Running Time / (User Code Running Time + Garbage Collection Time). The purpose of the server performing garbage collection is to maximize the throughput of the application. After using GC parameters for performance testing, the test results can record the performance of the server's throughput during the test, thereby measuring the efficiency of the server during garbage collection based on the throughput, that is, the amount of memory and the number of objects that can be recovered per unit time. In this embodiment, the throughput in the first test result is determined as the first throughput, and the throughput in the second test result is determined as the second throughput.

[0075] It is understandable that, in the process of executing multiple tests, if the GCT in the test results becomes smaller and smaller, it can be explained that the time taken by the server to execute GC is getting shorter and shorter, and if the throughput in the test results becomes larger and larger, it can be explained that the server can complete more and more work per unit time.

[0076] In this implementation, the server can calculate the difference between the first GCT and the second GCT. If the difference is greater than 0, it can be determined that the first GCT is greater than the second GCT, indicating that the garbage collection duration corresponding to the current time is less than the garbage collection duration corresponding to the previous time. On this basis, the server can calculate the difference between the first throughput and the second throughput. If the difference is less than 0, it can be determined that the first throughput is less than the second throughput, indicating that the throughput corresponding to the current time is better than the throughput corresponding to the previous time. Then it can be determined that the initial GC parameter group can achieve the expected performance improvement, and the initial GC parameter group is determined as the target GC parameter group.

[0077] In another possible implementation, if the comparison result is that the first GCT is greater than or equal to the second GCT, the initial GC parameter set is debugged to obtain a target GC parameter set.

[0078] In this implementation, if the server determines that the comparison result is that the first GCT is greater than or equal to the second GCT based on the difference between the first GCT and the second GCT, it can be explained that the duration of the current corresponding garbage collection is greater than the duration of the previous corresponding garbage collection, then it can be determined that the initial GC parameter group has not achieved the expected performance improvement, and further, the server can debug the initial GC parameter group, so as to determine that the debugged initial GC parameter group can be used as the target GC parameter group based on the debugging result.

[0079] In this embodiment, when the comparison result is that the first GCT is less than the second GCT, the server can determine the target GC parameter group according to the first throughput and the second throughput. Since the GCT and the throughput that can characterize the server performance are comprehensively considered in the process of determining the target GC parameter group, the determined target GC parameter group can be more in line with the optimal performance of the server. Moreover, when the comparison result is that the first GCT is greater than or equal to the second GCT, the server can debug the initial GC parameter group to obtain the target GC parameter group, increase the number of target GC parameter groups, and thus improve the accuracy of the test results of the performance test using the target GC parameter group.

[0080] In addition, since the process of determining the target parameter group is relatively simple, the target GC parameter group can be determined quickly, thereby improving the efficiency of determining the target GC parameter group.

[0081] In one embodiment, based on the above embodiment, the first throughput includes the first original throughput and the first maximum throughput, and the second throughput includes the second original throughput and the second maximum throughput. Referring to FIG4 , this embodiment relates to how the server determines the target GC parameter group according to the first throughput and the second throughput. As shown in FIG4 , the server can execute steps 401 to 403 to implement the process.

[0082] Step 401: obtain first statistical values ​​of a first original throughput and a first maximum throughput, and obtain second statistical values ​​of a second original throughput and a second maximum throughput.

[0083] The raw throughput refers to the load intensity of the group that the system can continuously process while ensuring that the system response time of the server is acceptable. The raw throughput reflects the maximum throughput that the system can provide while maintaining a good user experience. The maximum throughput represents the maximum theoretical throughput of the server system without considering the response time constraint, that is, the number of business operations that the system can process per second when it is fully output and does not consider the impact of delay. In this embodiment, the raw throughput in the first throughput is determined as the first raw throughput, the maximum throughput in the first throughput is determined as the first maximum throughput, the raw throughput in the second raw throughput is determined as the second raw throughput, and the maximum throughput in the second throughput is determined as the second maximum throughput.

[0084] Among them, the first statistical value refers to the statistical value calculated based on the first original throughput and the first maximum throughput. For example, the first statistical value can be a weighted average of the first original throughput and the first maximum throughput. The second first statistical value refers to the statistical value calculated based on the second original throughput and the second maximum throughput. For example, the second statistical value can be a weighted average of the second original throughput and the second maximum throughput. It should be noted that the sum of the weight value of the original throughput and the weight value of the maximum throughput is 1, and the weight value of the original throughput and the weight value of the maximum throughput can be set according to actual needs. For example, if the user is more concerned about the original throughput, the weight value of the original throughput can be increased; or if the user is more concerned about the maximum throughput, the weight value of the maximum throughput can be increased.

[0085] In this embodiment, the server may pre-set and assign weight values ​​for the first original throughput, the first maximum throughput, the second original throughput, and the second maximum throughput, and then calculate a weighted average between the first original throughput and the first maximum throughput, and use the weighted average as the first statistical value, and calculate a weighted average between the second original throughput and the second maximum throughput, and use the weighted average as the second statistical value.

[0086] Step 402: If the first statistical value is greater than the second statistical value, the initial GC parameter group is determined as the target GC parameter group.

[0087] In this embodiment, the server can calculate the difference or ratio between the first statistical value and the second statistical value, and then determine the size between the first statistical value and the second statistical value according to the difference or ratio. Then, if the first statistical value is greater than the second statistical value, it can be determined that the performance corresponding to the first throughput is better than the performance corresponding to the second throughput, indicating that the test result of the performance test using the initial GC parameter group can achieve the expected performance improvement, and then the initial GC parameter group can be determined as the target GC parameter group.

[0088] Step 403: If the first statistical value is less than or equal to the second statistical value, the initial GC parameter group is debugged to obtain a target GC parameter group.

[0089] The server can calculate the difference or ratio between the first statistical value and the second statistical value, and then determine the size between the first statistical value and the second statistical value according to the difference or ratio. Then, if the first statistical value is less than or equal to the second statistical value, it can be determined that the performance corresponding to the second throughput is better than the performance corresponding to the first throughput, indicating that the test result of the performance test using the initial GC parameter group cannot achieve the expected performance improvement. In this case, the initial GC parameter group can be debugged to further obtain the target GC parameter group according to the debugged GC parameter group.

[0090] In this embodiment, the server obtains first statistical values ​​of the first original throughput and the first maximum throughput, and obtains second statistical values ​​of the second original throughput and the second maximum throughput. Since the process of obtaining the first statistical value and the second statistical value is relatively simple, the size relationship between the first statistical value and the second statistical value can be quickly determined, so that when the first statistical value is greater than the second statistical value, the initial GC parameter group can be quickly determined as the target GC parameter group, and when the first statistical value is less than or equal to the second statistical value, the initial GC parameter group is debugged to obtain the target GC parameter group, thereby improving the efficiency of obtaining the target GC parameter group.

[0091] In one embodiment, based on the above embodiment, referring to FIG5 , this embodiment relates to a process of how the server debugs the initial GC parameter group. As shown in FIG5 , the server implements the process by executing steps 501 and 502 .

[0092] Step 501 , iteratively debug the initial GC parameter groups according to the initial GC parameter groups and the second test results corresponding to the last performance test, to obtain a debugged GC parameter group corresponding to each debugging process.

[0093] It should be noted that, in the process of debugging the initial GC parameter group, the initial GC parameter group may be debugged according to the test results of two adjacent performance tests.

[0094] In this embodiment, when the server debugs the initial GC parameter group, it can compare the first test results obtained in the current performance test of each initial GC parameter group with the second test results obtained in the previous performance test, and then determine each target GC parameter group from each initial GC parameter group. Then, use each target GC parameter group as the target value of the debugging process, and then use the optimization algorithm and each target GC parameter group to iteratively debug the initial GC parameter group, and obtain each debugging or the corresponding debugging GC parameter group from the result of each debugging.

[0095] As a possible implementation, the iterative debugging process can be: taking each initial GC parameter group as the particle position corresponding to the particle swarm optimization algorithm, and taking each second test result as the fitness of the particle position, and iteratively debugging the initial GC parameter group according to the particle swarm optimization algorithm.

[0096] Among them, the particle swarm optimization algorithm is a random search algorithm. It first determines a set of random solutions as the initial particle positions, and then iterates. In each iteration, the fitness function value of each particle is calculated, the speed and position of each particle are updated, and then the optimal solution is found through iteration.

[0097] For an initial GC parameter group, if it is determined that the initial GC parameter group needs to be tested based on the first test result of the current performance test of the initial GC parameter group and the second test result of the previous performance test, the server can use each initial GC parameter group as the particle position of the particle swarm optimization algorithm, and then use the second test results corresponding to each initial GC parameter group in the previous performance test to determine the fitness of each particle position, and then use the particle swarm optimization algorithm to iteratively debug the initial GC parameter group.

[0098] In this implementation, the server can automatically debug the initial GC parameter group according to the particle swarm optimization algorithm, each initial GC parameter group and each second test result, thereby improving the efficiency of iterative debugging of the initial GC parameter group.

[0099] Step 502, perform performance testing on the first debugging GC parameter group corresponding to the K-th debugging process and the second debugging GC parameter group corresponding to the K-1-th debugging process, obtain a third test result corresponding to the first debugging GC parameter group and a fourth test result corresponding to the second debugging GC parameter group, and determine whether to determine the first debugging GC parameter group as the target GC parameter group based on the third test result and the fourth test result, where K is an integer greater than 1.

[0100] It is understandable that in the process of iterative debugging of the initial GC parameters in the embodiment of the present application, after the first performance test is performed to obtain the test results corresponding to the first performance test, it is impossible to determine whether the initial GC parameter group needs to be debugged based on the first test results. Therefore, after the second performance test is performed, it can be determined whether the initial GC parameter group needs to be debugged based on the first test results and the second test results. If debugging is required, debugging can be performed based on the initial GC parameter groups and the test results.

[0101] Among them, K can be an integer greater than 1, the debugging GC parameter group corresponding to the Kth debugging process can be determined as the first debugging GC parameter group, and the debugging GC parameter group corresponding to the K-1th debugging process can be determined as the second debugging GC parameter group, the test result corresponding to the first debugging GC parameter group can be determined as the third test result, and the test result corresponding to the second debugging GC parameter group can be determined as the fourth test result.

[0102] For the Kth debugging process, in this embodiment, the server can perform performance tests on the first debugging GC parameter group corresponding to the Kth debugging process and the second debugging GC parameter group corresponding to the K-1th debugging process, and then obtain the third test result and the fourth test result, and then calculate the difference between the third test result and the fourth test result, and determine whether to use the first debugging GC parameter group as the target GC parameter group based on the difference.

[0103] Optionally, the server may determine the first debugging GC parameter group as the target GC parameter group based on the third test results and the fourth test results, or continue to debug the first debugging GC parameter group. Therefore, in the process of the server determining whether to use the first debugging GC parameter group as the target GC parameter group based on the third test results and the fourth test results, the server may implement the process by executing the following two implementation methods.

[0104] In a possible implementation, if the difference between the third test result and the fourth test result is smaller than a preset threshold, the first debugging GC parameter group is determined as the target GC parameter group.

[0105] The preset threshold value may be determined based on historical parameter debugging experience, and the preset threshold value may represent the difference between the test results of two adjacent performance tests.

[0106] In this embodiment, if the difference between the third test result and the fourth test result is less than a preset threshold, it can be determined that the difference between the first debugging GC parameter group and the second debugging GC parameter group is small, that is, the first debugging GC parameter group can achieve the expected performance improvement. Therefore, the first debugging GC parameter group can be determined as the target GC parameter group.

[0107] In another possible implementation, if the difference between the third test result and the fourth test result is greater than or equal to a preset threshold, and the current number of iterative debugging reaches a preset number of iterations, the iterative debugging is stopped, and the initial GC parameter group is determined to be a non-target GC parameter group.

[0108] The preset number of iterations refers to the maximum number of iterative debugging that the server can support. It is understandable that during the iterative debugging process, the initial GC parameter group needs to be tested for performance multiple times, and the performance test consumes the CPU resources and memory resources of the server. Therefore, it is necessary to set the preset number of iterations to avoid iterative debugging occupying too many CPU resources and memory resources.

[0109] In this embodiment, if the difference between the third test result and the fourth test result is greater than or equal to the preset threshold value, it means that the difference between the first debugging GC parameter group and the second debugging GC parameter group is large, that is, the test performance corresponding to the first debugging GC parameter group is unstable, and it is necessary to continue to debug the first debugging GC parameter group. If the number of iterative debugging on the day reaches the preset number of iterations, the iterative debugging can be stopped. Further, it can be determined that the initial GC parameter group is a non-target GC parameter group.

[0110] In this embodiment, the server iteratively debugs the initial GC parameter group according to each initial GC parameter group and each second test result corresponding to the previous performance test, and obtains a debugging GC parameter group corresponding to each debugging process. Compared with manual debugging, the complexity and time cost of debugging can be reduced. Then, the server performs performance testing on the first debugging GC parameter group corresponding to the Kth debugging process and the second debugging GC parameter group corresponding to the K-1th debugging process, and can obtain a third test result corresponding to the first debugging GC parameter group and a fourth test result corresponding to the second debugging GC parameter group. According to the third test result and the fourth test result, it is determined whether to determine the first debugging GC parameter group as the target GC parameter group. In the iterative debugging process, the initial GC parameter group can be debugged so that the initial GC parameter group can approach the optimal parameter group, thereby obtaining more target GC parameter groups, and further improving the accuracy of the test results of the performance test.

[0111] In one embodiment, referring to FIG6 , a parameter debugging method is provided for a server, the method comprising:

[0112] Step 601, obtaining multiple garbage collection (GC) parameters to be debugged of the server.

[0113] Step 602: Group multiple GC parameters to obtain multiple initial GC parameter groups.

[0114] Step 603, performing multiple performance tests on each initial GC parameter group to obtain multiple test results.

[0115] Step 604: for each initial GC parameter group, compare the initial GC parameter group with a first test result corresponding to the current performance test and a second test result corresponding to the previous performance test to obtain a comparison result, wherein the first test result includes a first garbage collection time GCT and a first throughput, the second test result includes a second GCT and a second throughput, the first throughput includes a first original throughput and a first maximum throughput, and the second throughput includes a second original throughput and a second maximum throughput.

[0116] Step 605, determining whether the first GCT is smaller than the second GCT.

[0117] Step 606: If the comparison result is that the first GCT is greater than or equal to the second GCT, the initial GC parameter group is debugged.

[0118] Step 607: If the first GCT is smaller than the second GCT, first statistical values ​​of the first original throughput and the first maximum throughput are obtained, and second statistical values ​​of the second original throughput and the second maximum throughput are obtained.

[0119] Step 608: Determine whether the first statistical value is greater than the second statistical value.

[0120] Step 609: If the first statistical value is greater than the second statistical value, the initial GC parameter group is determined as the target GC parameter group.

[0121] Step 6010, if the first statistical value is less than or equal to the second statistical value, the initial GC parameter group is iteratively debugged according to each initial GC parameter group and each second test result corresponding to the previous performance test to obtain a debugged GC parameter group corresponding to each debugging process.

[0122] The iterative debugging process includes:

[0123] Each initial GC parameter group is used as the particle position corresponding to the particle swarm optimization algorithm, and each second test result is used as the fitness of the particle position. According to the particle swarm optimization algorithm, the initial GC parameter group is iteratively debugged.

[0124] Step 6011, perform performance testing on the first debugging GC parameter group corresponding to the Kth debugging process and the second debugging GC parameter group corresponding to the K-1th debugging process, and obtain the third test result corresponding to the first debugging GC parameter group and the fourth test result corresponding to the second debugging GC parameter group, where K is an integer greater than 1.

[0125] Step 6012, determine whether the difference between the third test result and the fourth test result is less than a preset threshold.

[0126] Step 6013: If the difference between the third test result and the fourth test result is less than a preset threshold, the first debugging GC parameter group is determined as the target GC parameter group.

[0127] Step 6014: If the difference between the third test result and the fourth test result is greater than or equal to a preset threshold, determine whether the number of current iteration debugging reaches a preset number of iterations.

[0128] Step 6015: If the number of current iteration debugging reaches the preset number of iterations, the iteration debugging is stopped, and the initial GC parameter group is determined to be a non-target GC parameter group.

[0129] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0130] Based on the same inventive concept, the embodiment of the present application also provides a parameter debugging device for implementing the parameter debugging method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more parameter debugging device embodiments provided below can refer to the limitations on the parameter debugging method above, and will not be repeated here.

[0131] In an exemplary embodiment, as shown in FIG7 , a parameter debugging device is provided, including:

[0132] The first acquisition module 701 is used to acquire multiple garbage collection GC parameters to be debugged of the server;

[0133] A second acquisition module 702 is used to group the multiple GC parameters to obtain multiple initial GC parameter groups;

[0134] The determination module 703 is used to perform multiple performance tests on each of the initial GC parameter groups to obtain multiple test results, and determine a target GC parameter group based on each of the test results, where the target GC parameter group is the optimal GC parameter group corresponding to the server.

[0135] In one embodiment, the determining module 703 includes:

[0136] an acquisition unit, configured to compare, for each of the initial GC parameter groups, the initial GC parameter group with a first test result corresponding to a current performance test and a second test result corresponding to a previous performance test to obtain a comparison result;

[0137] A determination unit is used to determine the target GC parameter group according to the comparison result.

[0138] In one embodiment, the first test result includes a first garbage collection time GCT and a first throughput, the second test result includes a second GCT and a second throughput, and the determining unit is specifically configured to:

[0139] If the comparison result is that the first GCT is smaller than the second GCT, determining the target GC parameter group according to the first throughput and the second throughput;

[0140] If the comparison result is that the first GCT is greater than or equal to the second GCT, the initial GC parameter group is debugged to obtain the target GC parameter group.

[0141] In one embodiment, the first throughput includes a first original throughput and a first maximum throughput, the second throughput includes a second original throughput and a second maximum throughput, and the determining unit is specifically configured to:

[0142] Obtaining a first statistical value of the first original throughput and the first maximum throughput, and obtaining a second statistical value of the second original throughput and the second maximum throughput;

[0143] If the first statistical value is greater than the second statistical value, determining the initial GC parameter group as the target GC parameter group;

[0144] If the first statistical value is less than or equal to the second statistical value, the initial GC parameter group is debugged to obtain the target GC parameter group.

[0145] In one embodiment, the determining unit is specifically configured to:

[0146] Iteratively debugging the initial GC parameter group according to each of the initial GC parameter groups and each of the second test results corresponding to the previous performance test, to obtain a debugging GC parameter group corresponding to each debugging process;

[0147] A performance test is performed on the first debugging GC parameter group corresponding to the K-th debugging process and the second debugging GC parameter group corresponding to the K-1-th debugging process to obtain a third test result corresponding to the first debugging GC parameter group and a fourth test result corresponding to the second debugging GC parameter group, and based on the third test result and the fourth test result, it is determined whether to determine the first debugging GC parameter group as the target GC parameter group, where K is an integer greater than 1.

[0148] In one embodiment, the device further comprises:

[0149] The debugging module is used to use each of the initial GC parameter groups as a particle position corresponding to the particle swarm optimization algorithm, and each of the second test results as the fitness of the particle position, and iteratively debug the initial GC parameter group according to the particle swarm optimization algorithm.

[0150] In one embodiment, the determining unit is specifically configured to:

[0151] If the difference between the third test result and the fourth test result is less than a preset threshold, determining the first debugging GC parameter group as the target GC parameter group;

[0152] If the difference between the third test result and the fourth test result is greater than or equal to the preset threshold, and the number of current iterative debugging reaches the preset number of iterations, the iterative debugging is stopped, and the initial GC parameter group is determined to be a non-target GC parameter group.

[0153] Each module in the above parameter debugging device can be implemented in whole or in part by software, hardware and their combination. Each module can be embedded in or independent of the processor in the server in hardware form, or can be stored in the memory in the server in software form, so that the processor can call and execute the corresponding operations of each module.

[0154] In an exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be shown in FIG8. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store debugging data of multiple GC parameters. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a parameter debugging method is implemented.

[0155] Those skilled in the art will understand that the structure shown in FIG. 8 is merely a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.

[0156] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:

[0157] Get multiple garbage collection GC parameters to be debugged on the server;

[0158] performing grouping processing on the multiple GC parameters to obtain multiple initial GC parameter groups;

[0159] Perform multiple performance tests on each of the initial GC parameter groups to obtain multiple test results, and determine a target GC parameter group based on each of the test results, where the target GC parameter group is an optimal GC parameter group corresponding to the server.

[0160] In one embodiment, the processor implements the following steps when executing the computer program:

[0161] For each of the initial GC parameter groups, comparing the initial GC parameter group with a first test result corresponding to a current performance test and a second test result corresponding to a previous performance test to obtain a comparison result;

[0162] The target GC parameter group is determined according to the comparison result.

[0163] In one embodiment, the processor implements the following steps when executing the computer program:

[0164] If the comparison result is that the first GCT is smaller than the second GCT, determining the target GC parameter group according to the first throughput and the second throughput;

[0165] If the comparison result is that the first GCT is greater than or equal to the second GCT, the initial GC parameter group is debugged to obtain the target GC parameter group.

[0166] In one embodiment, the processor implements the following steps when executing the computer program:

[0167] Obtaining a first statistical value of the first original throughput and the first maximum throughput, and obtaining a second statistical value of the second original throughput and the second maximum throughput;

[0168] If the first statistical value is greater than the second statistical value, determining the initial GC parameter group as the target GC parameter group;

[0169] If the first statistical value is less than or equal to the second statistical value, the initial GC parameter group is debugged to obtain the target GC parameter group.

[0170] In one embodiment, the processor implements the following steps when executing the computer program:

[0171] Iteratively debugging the initial GC parameter group according to each of the initial GC parameter groups and each of the second test results corresponding to the previous performance test, to obtain a debugging GC parameter group corresponding to each debugging process;

[0172] A performance test is performed on the first debugging GC parameter group corresponding to the K-th debugging process and the second debugging GC parameter group corresponding to the K-1-th debugging process to obtain a third test result corresponding to the first debugging GC parameter group and a fourth test result corresponding to the second debugging GC parameter group, and based on the third test result and the fourth test result, it is determined whether to determine the first debugging GC parameter group as the target GC parameter group, where K is an integer greater than 1.

[0173] In one embodiment, the processor implements the following steps when executing the computer program:

[0174] Each of the initial GC parameter groups is used as a particle position corresponding to a particle swarm optimization algorithm, and each of the second test results is used as the fitness of the particle position. According to the particle swarm optimization algorithm, the initial GC parameter group is iteratively debugged.

[0175] In one embodiment, the processor implements the following steps when executing the computer program:

[0176] If the difference between the third test result and the fourth test result is less than a preset threshold, determining the first debugging GC parameter group as the target GC parameter group;

[0177] If the difference between the third test result and the fourth test result is greater than or equal to the preset threshold, and the number of current iterative debugging reaches the preset number of iterations, the iterative debugging is stopped, and the initial GC parameter group is determined to be a non-target GC parameter group.

[0178] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:

[0179] Get multiple garbage collection GC parameters to be debugged on the server;

[0180] performing grouping processing on the multiple GC parameters to obtain multiple initial GC parameter groups;

[0181] Perform multiple performance tests on each of the initial GC parameter groups to obtain multiple test results, and determine a target GC parameter group based on each of the test results, where the target GC parameter group is an optimal GC parameter group corresponding to the server.

[0182] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0183] For each of the initial GC parameter groups, comparing the initial GC parameter group with a first test result corresponding to a current performance test and a second test result corresponding to a previous performance test to obtain a comparison result;

[0184] The target GC parameter group is determined according to the comparison result.

[0185] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0186] If the comparison result is that the first GCT is smaller than the second GCT, determining the target GC parameter group according to the first throughput and the second throughput;

[0187] If the comparison result is that the first GCT is greater than or equal to the second GCT, the initial GC parameter group is debugged to obtain the target GC parameter group.

[0188] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0189] Obtaining a first statistical value of the first original throughput and the first maximum throughput, and obtaining a second statistical value of the second original throughput and the second maximum throughput;

[0190] If the first statistical value is greater than the second statistical value, determining the initial GC parameter group as the target GC parameter group;

[0191] If the first statistical value is less than or equal to the second statistical value, the initial GC parameter group is debugged to obtain the target GC parameter group.

[0192] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0193] Iteratively debugging the initial GC parameter group according to each of the initial GC parameter groups and each of the second test results corresponding to the previous performance test, to obtain a debugging GC parameter group corresponding to each debugging process;

[0194] A performance test is performed on the first debugging GC parameter group corresponding to the K-th debugging process and the second debugging GC parameter group corresponding to the K-1-th debugging process to obtain a third test result corresponding to the first debugging GC parameter group and a fourth test result corresponding to the second debugging GC parameter group, and based on the third test result and the fourth test result, it is determined whether to determine the first debugging GC parameter group as the target GC parameter group, where K is an integer greater than 1.

[0195] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0196] Each of the initial GC parameter groups is used as a particle position corresponding to a particle swarm optimization algorithm, and each of the second test results is used as the fitness of the particle position. According to the particle swarm optimization algorithm, the initial GC parameter group is iteratively debugged.

[0197] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0198] If the difference between the third test result and the fourth test result is less than a preset threshold, determining the first debugging GC parameter group as the target GC parameter group;

[0199] If the difference between the third test result and the fourth test result is greater than or equal to the preset threshold, and the number of current iterative debugging reaches the preset number of iterations, the iterative debugging is stopped, and the initial GC parameter group is determined to be a non-target GC parameter group.

[0200] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:

[0201] Get multiple garbage collection GC parameters to be debugged on the server;

[0202] performing grouping processing on the multiple GC parameters to obtain multiple initial GC parameter groups;

[0203] Perform multiple performance tests on each of the initial GC parameter groups to obtain multiple test results, and determine a target GC parameter group based on each of the test results, where the target GC parameter group is an optimal GC parameter group corresponding to the server.

[0204] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0205] For each of the initial GC parameter groups, comparing the initial GC parameter group with a first test result corresponding to a current performance test and a second test result corresponding to a previous performance test to obtain a comparison result;

[0206] The target GC parameter group is determined according to the comparison result.

[0207] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0208] If the comparison result is that the first GCT is smaller than the second GCT, determining the target GC parameter group according to the first throughput and the second throughput;

[0209] If the comparison result is that the first GCT is greater than or equal to the second GCT, the initial GC parameter group is debugged to obtain the target GC parameter group.

[0210] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0211] Obtaining a first statistical value of the first original throughput and the first maximum throughput, and obtaining a second statistical value of the second original throughput and the second maximum throughput;

[0212] If the first statistical value is greater than the second statistical value, determining the initial GC parameter group as the target GC parameter group;

[0213] If the first statistical value is less than or equal to the second statistical value, the initial GC parameter group is debugged to obtain the target GC parameter group.

[0214] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0215] Iteratively debugging the initial GC parameter group according to each of the initial GC parameter groups and each of the second test results corresponding to the previous performance test, to obtain a debugging GC parameter group corresponding to each debugging process;

[0216] A performance test is performed on the first debugging GC parameter group corresponding to the K-th debugging process and the second debugging GC parameter group corresponding to the K-1-th debugging process to obtain a third test result corresponding to the first debugging GC parameter group and a fourth test result corresponding to the second debugging GC parameter group, and based on the third test result and the fourth test result, it is determined whether to determine the first debugging GC parameter group as the target GC parameter group, where K is an integer greater than 1.

[0217] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0218] Each of the initial GC parameter groups is used as a particle position corresponding to a particle swarm optimization algorithm, and each of the second test results is used as the fitness of the particle position. According to the particle swarm optimization algorithm, the initial GC parameter group is iteratively debugged.

[0219] In one embodiment, when the computer program is executed by a processor, the following steps are specifically implemented:

[0220] If the difference between the third test result and the fourth test result is less than a preset threshold, determining the first debugging GC parameter group as the target GC parameter group;

[0221] If the difference between the third test result and the fourth test result is greater than or equal to the preset threshold, and the number of current iterative debugging reaches the preset number of iterations, the iterative debugging is stopped, and the initial GC parameter group is determined to be a non-target GC parameter group.

[0222] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0223] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0224] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A parameter debugging method, characterized in that: The method comprises: Get multiple garbage collection GC parameters to be debugged on the server; performing grouping processing on the multiple GC parameters to obtain multiple initial GC parameter groups; Perform multiple performance tests on each of the initial GC parameter groups to obtain multiple test results, and determine a target GC parameter group based on each of the test results, where the target GC parameter group is an optimal GC parameter group corresponding to the server.

2. The method according to claim 1, characterized in that Determining a target GC parameter group according to each of the test results includes: For each of the initial GC parameter groups, comparing the initial GC parameter group with a first test result corresponding to a current performance test and a second test result corresponding to a previous performance test to obtain a comparison result; The target GC parameter group is determined according to the comparison result.

3. The method according to claim 2, characterized in that The first test result includes a first garbage collection time GCT and a first throughput, the second test result includes a second GCT and a second throughput, and the determining the target GC parameter group according to the comparison result includes: If the comparison result is that the first GCT is smaller than the second GCT, determining the target GC parameter group according to the first throughput and the second throughput; If the comparison result is that the first GCT is greater than or equal to the second GCT, the initial GC parameter group is debugged to obtain the target GC parameter group.

4. The method according to claim 3, characterized in that The first throughput includes a first original throughput and a first maximum throughput, the second throughput includes a second original throughput and a second maximum throughput, and determining the target GC parameter group according to the first throughput and the second throughput includes: Obtaining a first statistical value of the first original throughput and the first maximum throughput, and obtaining a second statistical value of the second original throughput and the second maximum throughput; If the first statistical value is greater than the second statistical value, determining the initial GC parameter group as the target GC parameter group; If the first statistical value is less than or equal to the second statistical value, the initial GC parameter group is debugged to obtain the target GC parameter group.

5. The method according to claim 3 or 4, characterized in that: The debugging of the initial GC parameter group includes: Iteratively debugging the initial GC parameter group according to each of the initial GC parameter groups and each of the second test results corresponding to the previous performance test, to obtain a debugging GC parameter group corresponding to each debugging process; A performance test is performed on the first debugging GC parameter group corresponding to the K-th debugging process and the second debugging GC parameter group corresponding to the K-1-th debugging process to obtain a third test result corresponding to the first debugging GC parameter group and a fourth test result corresponding to the second debugging GC parameter group, and based on the third test result and the fourth test result, it is determined whether to determine the first debugging GC parameter group as the target GC parameter group, where K is an integer greater than 1.

6. The method according to claim 5, characterized in that The iterative debugging process includes: Each of the initial GC parameter groups is used as a particle position corresponding to a particle swarm optimization algorithm, and each of the second test results is used as the fitness of the particle position. According to the particle swarm optimization algorithm, the initial GC parameter group is iteratively debugged.

7. The method according to claim 5, characterized in that The determining, according to the third test result and the fourth test result, whether to use the first debugging GC parameter group as the target GC parameter group includes: If the difference between the third test result and the fourth test result is less than a preset threshold, determining the first debugging GC parameter group as the target GC parameter group; If the difference between the third test result and the fourth test result is greater than or equal to the preset threshold, and the number of current iterative debugging reaches the preset number of iterations, the iterative debugging is stopped, and the initial GC parameter group is determined to be a non-target GC parameter group.

8. A parameter debugging device, characterized in that: The device comprises: An acquisition module is used to obtain multiple garbage collection GC parameters to be debugged from the server; A first determination module, configured to group the plurality of GC parameters to obtain a plurality of initial GC parameter groups; The second determination module is used to perform multiple performance tests on each of the initial GC parameter groups to obtain multiple test results, and determine a target GC parameter group based on each of the test results, wherein the target GC parameter group is an optimal GC parameter group corresponding to the server.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Cited By

  • Parameter adjustment method and device of test software, equipment, medium and program product

    CN121349901A