Automatic pressure testing method and device for graph database system

Through automated parameter adjustment and stress testing methods in the long testing phase, the inefficiency and instability problems caused by manual parameter adjustment of the graph database system are solved, and efficient and accurate load capacity assessment is achieved.

CN120653570APending Publication Date: 2025-09-16ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510906651.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2025-09-16

AI Technical Summary

Technical Problem

Existing graph database stress testing solutions rely on manual setting and modification of test parameters, resulting in heavy workload, low testing efficiency, and poor result stability and accuracy.

Method used

This paper provides an automated stress testing method that adjusts the stress testing parameters of the graph database system through automated parameter adjustment and long-term testing phases, allowing performance testing to be performed in a stable state under high load, and obtaining performance indicators such as throughput.

Benefits of technology

It reduces manual parameter adjustment time, improves test efficiency and the stability and accuracy of results, and can more accurately measure the load capacity of the graph database system under stable performance conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120653570A_ABST
    Figure CN120653570A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an automatic pressure testing method and device for a graph database system, and the method comprises the steps: obtaining a pressure testing parameter for the graph database system, and determining a first operation timeliness rate of the graph database system within a first preset duration based on the pressure testing parameter, determining a first difference according to the first operation timeliness ratio and a preset timeliness ratio; and if the first difference is greater than the preset threshold value, performing first modification on the pressure test parameter in a preset mode, and re-determining the first operation timeliness rate according to the pressure test parameter after the first modification.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] One or more embodiments of this specification relate to the field of automated testing technology, and in particular, to an automated stress testing method and apparatus for a graph database system. Background Art

[0002] A graph database system is a type of database designed to process highly connected data. Its core is to build a data model for highly connected data based on nodes, edges, and attributes. This allows for efficient querying and analysis of complex relationships through graph theory algorithms. Currently, graph databases have become a core technology supporting complex relationship analysis. However, existing stress testing solutions for graph databases typically rely on manually setting and modifying test parameters. This not only requires extensive manual effort but also results in low test efficiency. Summary of the Invention

[0003] The embodiments described herein aim to provide an automated stress testing method and apparatus for a graph database system. These methods automatically adjust stress testing parameters for the graph database system and, using the adjusted stress testing parameters, measure the load capacity of the graph database system under stable performance conditions. This reduces the manual workload of parameter adjustment and the duration of stress testing, improves the efficiency of stress testing of graph database systems, and addresses shortcomings of existing technologies.

[0004] According to a first aspect, an automated stress testing method for a graph database system is provided, comprising:

[0005] Obtaining stress test parameters for the graph database system, determining a first operation timeliness rate of the graph database system within a first preset time period based on the stress test parameters, and determining a first difference between the first operation timeliness rate and the preset timeliness rate;

[0006] If the first difference is greater than a preset threshold, the stress test parameter is first modified in a preset manner, and the first operation timeliness rate is re-determined based on the first modified stress test parameter.

[0007] In one possible implementation, the method further includes:

[0008] A first iteration difference is determined based on the re-determined first operation timeliness rate and the preset timeliness rate. If the first iteration difference is not greater than the preset threshold, a second operation timeliness rate of the graph database system within a second preset time length is determined based on the first modified stress test parameter, and the second preset time length is longer than the first preset time length. A second difference is determined based on the second operation timeliness rate and the preset timeliness rate. If the second difference is not greater than the preset threshold, the throughput of the graph database system within the second preset time length is obtained.

[0009] In one possible implementation, the method further includes:

[0010] If the first difference is not greater than a preset threshold, determine the second difference based on the stress test parameter; if the second difference is not greater than the preset threshold, obtain the throughput of the graph database system within the second preset time period.

[0011] In one possible implementation, determining a second operation timeliness rate of the graph database system within a second preset time period based on the first modified stress test parameter includes:

[0012] determining a third operation timeliness rate of the graph database system within a third preset time period based on the first modified stress test parameter, and determining a third difference based on the third operation timeliness rate and the preset timeliness rate; if the third difference is greater than a preset threshold, performing a second modification on the stress test parameter in a preset manner, and re-determining the third operation timeliness rate based on the second modified stress test parameter;

[0013] The second iteration difference is determined based on the re-determined third operation timeliness and the preset timeliness. If the second iteration difference is not greater than the preset threshold, the second operation timeliness of the graph database system within the second preset time length is determined based on the second modified stress test parameter.

[0014] In a possible implementation, the first preset time length is 5 to 10 minutes, the second preset time length is 2 hours, and the third preset time length is 1 hour.

[0015] In one possible implementation, performing a first modification on the stress test parameters in a preset manner includes:

[0016] Determining whether the operation timeliness of the graph database system can reach the preset timeliness within a first preset time length within a preset range of values ​​of the stress test parameter;

[0017] If the operation timeliness of the graph database system can reach the preset timeliness within the first preset time period, the stress test parameters are modified according to a preset method.

[0018] In a possible implementation, the stress test parameter is positively correlated with the load of the graph database system, and the preset method includes a binary increase and decrease method;

[0019] If the first difference is greater than a preset threshold, the stress test parameter is modified for the first time in a preset manner, including: if the first difference is greater than a preset threshold and the first operation timeliness is greater than a preset timeliness, then half of the existing value of the stress test parameter is added to the stress test parameter.

[0020] In one possible implementation, the method further includes:

[0021] If the first difference is greater than a preset threshold and the first operation timeliness is less than a preset timeliness, half of the existing value of the stress test parameter is reduced from the stress test parameter.

[0022] In a possible implementation, the stress test parameter is a time compression ratio.

[0023] According to a second aspect, an automated stress testing device for a graph database system is provided, the device comprising:

[0024] an acquiring unit configured to acquire stress test parameters for the graph database system, determine a first operation timeliness rate of the graph database system within a first preset time period based on the stress test parameters, and determine a first difference between the first operation timeliness rate and the preset timeliness rate;

[0025] The determination unit is configured to, if the first difference is greater than a preset threshold, perform a first modification on the stress test parameter in a preset manner, and re-determine the first operation timeliness rate based on the first modified stress test parameter.

[0026] According to a third aspect, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed in a computer, the computer is caused to execute the method described in the first aspect.

[0027] According to a fourth aspect, a computing device is provided, comprising a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method described in the first aspect is implemented.

[0028] By utilizing one or more of the methods, apparatuses, computing devices, and storage media described above, stress test parameters for a graph database system can be automatically adjusted. The adjusted stress test parameters can then be used to measure the load capacity of the graph database system under stable performance conditions. This reduces the workload of manual parameter adjustment and the duration of stress testing, thereby improving the efficiency of stress testing of the graph database system. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0030] Figure 1 A schematic diagram showing a stress testing solution for a graph database;

[0031] Figure 2 A schematic diagram illustrating a testing phase in an automated stress testing method for a graph database system according to an embodiment of this specification;

[0032] Figure 3 A schematic diagram illustrating automatic parameter adjustment according to an embodiment of this specification is shown;

[0033] Figure 4 A flowchart of an automated stress testing method for a graph database system according to an embodiment of this specification is shown;

[0034] Figure 5 A schematic diagram illustrating automatic parameter adjustment according to another embodiment of this specification is shown;

[0035] Figure 6 A schematic diagram illustrating a testing phase in an automated stress testing method for a graph database system according to another embodiment of this specification;

[0036] Figure 7 A structural diagram of an automated stress testing device for a graph database system according to an embodiment of this specification is shown. DETAILED DESCRIPTION

[0037] To help those skilled in the art better understand the technical solutions in this specification, the following will provide a clear and complete description of the technical solutions in the embodiments of this specification, in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. All other embodiments derived by those skilled in the art based on the embodiments in this specification without creative effort shall fall within the scope of protection of this specification.

[0038] As mentioned earlier, graph database systems are a type of database designed to process highly connected data. Their core approach is to build a data model for highly connected data based on nodes, edges, and attributes, and to use graph theory algorithms to efficiently query and analyze complex relationships. Currently, graph databases have become a core technology for complex relationship analysis. However, existing stress testing solutions for graph databases typically rely on manually set and modified test load parameters. Figure 1 A schematic diagram showing a stress test solution for a graph database is shown in FIG. Figure 1As shown, the user can manually set stress test parameters and then perform a performance test on the graph database system based on the set stress test parameters. The user can then modify the stress test parameters based on the test results and retest the graph database system accordingly in order to obtain more stable performance values. However, this solution also has the following problems. On the one hand, configuring and modifying stress test parameters requires a lot of manual work, which can easily lead to long test times and low test efficiency. On the other hand, since manually configured parameters are easily limited by the user's own knowledge level and subjective thinking, it can easily lead to poor stability and accuracy of test results.

[0039] In order to solve the above technical problems, the embodiments of this specification provide an automated stress testing method for a graph database system. Figure 2 A schematic diagram of the test phase of an automated stress testing method for a graph database system according to an embodiment of this specification is shown. Figure 2 As shown, automated stress testing of a graph database can be performed through an automated parameter tuning phase and a long-term testing phase. The automated parameter tuning phase is used to optimize the stress test parameters set by the user to ensure that the graph database system under test is in a stable state under the highest possible load. The long-term testing phase is used to stress test the graph database system under test based on the stress test parameters optimized in the automated parameter tuning phase to obtain its performance indicators, such as throughput, under a high-load stable state. Figure 3 Schematic diagram of automatic parameter adjustment according to an embodiment of this specification is shown. Figure 3 As shown, during the automated parameter adjustment phase, stress test parameters set by the user can be obtained, and then the graph database system can be stress tested within a preset test duration based on the stress test parameters, and the graph database system's operational timeliness can be obtained. If the difference between the graph database system's operational timeliness and the preset timeliness is less than a preset threshold, the next phase of testing will be entered. If the difference between the graph database system's operational timeliness and the preset timeliness is not less than the preset threshold, one or more iterations can be performed, with each iteration modifying the stress test parameters by proportionally increasing or decreasing them and stress testing the graph database system based on the modified stress test parameters within a preset test duration until the difference between the graph database system's operational timeliness and the preset timeliness is less than the preset threshold. After the automated parameter adjustment phase, the graph database system can be stress tested within a preset test duration based on the stress test parameters obtained in the automated parameter adjustment phase in a long-term test phase to obtain performance indicators of the graph database system under a high-load stable state. The test duration of the long-term test phase is usually longer than that of the automated parameter adjustment phase.

[0040] This method has the following advantages: First, it can automatically adjust the stress test parameters set by the user. After adjustment, the stress test parameters can make the graph database system maintain a stable performance state under the highest possible load. Therefore, the load capacity of the graph database system under a stable performance state can be determined during the long-term test phase by adjusting the stress test parameters after adjustment. Compared with existing stress testing solutions, the stability and accuracy of the test results can be improved. On the other hand, by automating the adjustment of the stress test parameters set by the user, the time for manual adjustment is reduced. In turn, the total duration of the stress test is reduced, and the test efficiency is improved.

[0041] The detailed process of this method is further explained below. Figure 4 A flowchart of an automated stress testing method for a graph database system according to an embodiment of this specification is shown. Figure 4 Said method comprises at least the following steps:

[0042] Step S401: Obtain stress test parameters for the graph database system, determine a first operation timeliness rate of the graph database system within a first preset time period based on the stress test parameters, and determine a first difference between the first operation timeliness rate and the preset timeliness rate;

[0043] Step S403: If the first difference is greater than a preset threshold, the stress test parameter is first modified in a preset manner, and the first operation timeliness rate is re-determined based on the first modified stress test parameter.

[0044] First, in step S401, stress test parameters for the graph database system can be obtained, and based on the stress test parameters, a first operation timeliness rate of the graph database system within a first preset time period can be determined, and a first difference can be determined according to the first operation timeliness rate and the preset timeliness rate.

[0045] Stress testing parameters generally refer to system parameters used to increase or decrease the workload of a graph database system. In different embodiments, stress testing parameters can be different specific parameters. In one embodiment, the stress testing parameter can be a time compression ratio (TCR). Increasing the TCR can increase the computational overhead of the graph database system and increase the consumption of computing resources, thereby increasing the load on the graph database system.

[0046] Then, in step S403, if the first difference is greater than a preset threshold, the stress test parameter may be first modified in a preset manner, and the first operation timeliness rate may be re-determined based on the first modified stress test parameter.

[0047] In some actual production scenarios, users often preset the available value range of stress test parameters to avoid invalid modifications to stress test parameters. In one embodiment, it is also possible to determine whether the operation timeliness of the graph database system can reach the preset timeliness within the preset range of the stress test parameter value within the first preset time length; if the operation timeliness of the graph database system can reach the preset timeliness within the first preset time length, modify the stress test parameter according to the preset method, such as Figure 5 As shown. In one example, it is possible to determine whether the timeliness of the operation of the graph database system can reach the preset timeliness rate within the preset range of the stress test parameter value by testing whether the timeliness of the operation of the graph database system can be greater than or equal to the preset timeliness rate when the stress test parameter is at the lower limit of the above-mentioned preset range. If the timeliness of the operation of the graph database system cannot be greater than or equal to the preset timeliness rate when the stress test parameter is at the lower limit of the above-mentioned preset range, it is determined that the timeliness of the operation of the graph database system cannot reach the preset timeliness rate within the preset range of the stress test parameter value. On the contrary, the timeliness of the operation of the graph database system can reach the preset timeliness rate within the first preset time.

[0048] In different embodiments, if the first difference is greater than a preset threshold, the specific method for performing the first modification to the stress test parameter via a preset method may vary. In one embodiment, for example, the stress test parameter may be modified using a proportional increase / decrease method, where each modification modifies the stress test parameter by a preset proportion of the existing value of the stress test parameter. In different embodiments, the preset proportion may vary, for example, by half, one-third, etc. In one specific embodiment, the stress test parameter may be positively correlated with the load of the graph database system, and the preset method may include a binary increase / decrease method. Furthermore, if the first difference is greater than a preset threshold and the first operation timeliness rate is greater than the preset timeliness rate, half of the existing value of the stress test parameter may be added to the stress test parameter. If the first difference is greater than a preset threshold and the first operation timeliness rate is less than the preset timeliness rate, half of the existing value of the stress test parameter may be subtracted from the stress test parameter. In one example, if the first difference is greater than the preset threshold, and the first operation timeliness rate is greater than the preset timeliness rate, and the existing value of the stress test parameter is 10, half of the existing value of 10 may be added to the stress test parameter, resulting in the stress test parameter being 15. If the first operation timeliness rate is less than the preset timeliness rate, the stress test parameter may be reduced by half of its current value 10, so that the stress test parameter becomes 5.

[0049] In another embodiment, for example, the stress test parameter can also be modified according to the step increase and decrease method, that is, the stress test parameter is modified according to the preset step value each time it is modified. For example, in a specific embodiment, the stress test parameter can be positively correlated with the load of the graph database system. Furthermore, if the first difference is greater than a preset threshold and the first operation timeliness rate is greater than the preset timeliness rate, the preset step value is added to the stress test parameter. If the first difference is greater than the preset threshold and the first operation timeliness rate is less than the preset timeliness rate, the preset step value is reduced from the stress test parameter. In one example, when the first difference is greater than the preset threshold, if the first operation timeliness rate is greater than the preset timeliness rate, and the existing value of the stress test parameter is 10, the preset step value (for example, 2) can be added to the stress test parameter so that the stress test parameter becomes 12. If the first operation timeliness rate is less than the preset timeliness rate, the preset step value (for example, 2) can be reduced from the stress test parameter so that the stress test parameter becomes 8.

[0050] In actual production scenarios, the stress test parameters may be modified multiple times during an automated parameter adjustment process. After each modification, the first difference may be re-determined until the first difference is no greater than a preset threshold. The stress test parameters obtained during the automated parameter adjustment process may then be determined. Figure 5 As shown. In the above example of modifying the stress test parameters according to the binary increase and decrease method, for example, the initial value of the stress test parameter is 10. After the first modification, the stress test parameter becomes 15, and the operation timeliness of the graph data system and the first difference between the operation timeliness rate and the preset timeliness rate are re-determined. If the first difference is still greater than the preset threshold, the stress test parameter is modified again to 22.5, and the operation timeliness of the graph data system and the first difference between the operation timeliness rate and the preset timeliness rate are re-determined. If the first difference is not greater than the preset threshold, the automated parameter adjustment process is completed. If the first difference is still greater than the preset threshold, the stress test parameter continues to be modified... until the first difference determined after modification is not greater than the preset threshold.

[0051] Subsequently, in a specific embodiment, a first iteration difference may be determined based on the re-determined first operation timeliness rate and the preset timeliness rate. If the first iteration difference is not greater than a preset threshold, a second operation timeliness rate of the graph database system within a second preset duration is determined based on the first modified stress test parameter, where the second preset duration is longer than the first preset duration. A second difference is determined based on the second operation timeliness rate and the preset timeliness rate. If the second difference is not greater than the preset threshold, the throughput of the graph database system within the second preset duration is obtained. Throughput is generally used to indicate the amount of workload or data processed by the system within a specific time period. In different specific embodiments, different specific types of throughput metrics of the graph database system within the second preset duration may be obtained, and this specification is not limited thereto. In one specific embodiment, the transaction throughput of the graph database system within the second preset duration may be obtained, for example, in units of TPS (Transactions Per Second). In another specific embodiment, the query throughput of the graph database system within the second preset duration may be obtained, for example, in units of QPS (Queries Per Second).

[0052] In another embodiment, if the first difference determined in step S401 is not greater than the preset threshold, the second difference can also be determined based on the stress test parameters; if the second difference is not greater than the preset threshold, the throughput of the graph database system within the second preset time period is obtained.

[0053] In some scenarios, the stress test parameters can be adjusted through multiple automated parameter adjustment processes. For example, the stress test parameters can be adjusted through two parameter adjustment processes (for example, respectively referred to as a coarse adjustment process and a fine adjustment process), such as Figure 6 As shown in Figure 2. The rough adjustment process of the automation parameters can be as follows: Figure 5 As shown. Then, the pressure parameters can be fine-tuned based on the coarse-tuned parameters. The basic process of parameter fine-tuning can be similar to parameter coarse-tuning. The difference between the two is that the test duration of each graph database system in the parameter fine-tuning process is longer than the test duration of each coarse-tuning stage. For example, Figure 5 The first preset duration for the mid-test graph database system is replaced with a third preset duration. The third preset duration can be longer than the first preset duration and shorter than the second preset duration. In this way, during the coarse tuning phase, stress test parameter values ​​that enable the graph database system to maintain a high-load, stable state for a relatively short period of time can be quickly discovered. During the fine tuning phase, stress test parameter values ​​that enable the graph database system to maintain a high-load, stable state for a longer period of time can be further accurately discovered.

[0054] Therefore, in one embodiment, the third operation timeliness of the graph database system within a third preset time period can also be determined based on the first modified stress test parameter, and a third difference can be determined based on the third operation timeliness and the preset timeliness; if the third difference is greater than a preset threshold, the stress test parameter is modified for a second time in a preset manner, and the third operation timeliness is re-determined based on the second modified stress test parameter; a second iteration difference is determined based on the re-determined third operation timeliness and the preset timeliness; if the second iteration difference is not greater than the preset threshold, the second operation timeliness of the graph database system within the second preset time period is determined based on the second modified stress test parameter. In different specific embodiments, the specific method of performing the second modification on the stress test parameter can be similar to that in step S403, and the method of performing the first modification on the stress test parameter can refer to the description in step S403, which will not be repeated here.

[0055] In different embodiments, the first preset duration, the second preset duration, and the specific duration of the first preset duration may be different. In one embodiment, the first preset duration may be 5 to 10 minutes, the second preset duration may be 2 hours, and the third preset duration may be 1 hour.

[0056] According to yet another embodiment, an automated stress testing device for a graph database system is also provided. Figure 7 A structural diagram of an automated stress testing device for a graph database system according to an embodiment of this specification is shown. Figure 7 As shown, the apparatus 700 includes:

[0057] An acquiring unit 702 is configured to acquire stress test parameters for the graph database system, determine a first operation timeliness rate of the graph database system within a first preset time period based on the stress test parameters, and determine a first difference between the first operation timeliness rate and the preset timeliness rate;

[0058] The determining unit 704 is configured to, if the first difference is greater than a preset threshold, modify the stress test parameter in a first manner in a preset manner, and re-determine the first operation timeliness rate based on the first modified stress test parameter.

[0059] Another aspect of the embodiments of this specification provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed in a computer, the computer is caused to execute any one of the above methods.

[0060] On the other hand, the embodiments of this specification provide a computing device, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, any one of the above methods is implemented.

[0061] It should be understood that the descriptions such as “first” and “second” in this article are only used to distinguish similar concepts for the sake of simplicity of description and do not have any other limiting effect.

[0062] In the 1990s, technological improvements could be clearly distinguished as either hardware improvements (for example, improvements to circuit structures like diodes, transistors, and switches) or software improvements (improvements to process flows). However, with the advancement of technology, many process flow improvements today can now be considered direct improvements to hardware circuit structures. Designers almost always create the corresponding hardware circuit structure by programming the improved process flow into the hardware circuit. Therefore, it cannot be said that a process flow improvement cannot be implemented using a hardware module. For example, a programmable logic device (PLD), such as a field programmable gate array (FPGA), is an integrated circuit whose logical function is determined by user programming. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to hire a chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of manually manufacturing integrated circuit chips, this type of programming is mostly implemented using "logic compiler" software. This is similar to the software compiler used when developing programs. Before compilation, the original code must also be written in a specific programming language, which is called a hardware description language (HDL). There is not only one HDL, but many types, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. It should be clear to those skilled in the art that by simply programming the method flow in the above-mentioned hardware description languages ​​and then programming it into the integrated circuit, a hardware circuit that implements the logic method flow can be easily obtained.

[0063] The controller can be implemented in any suitable manner. For example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91 SAM, Microchip PIC18F26K20, and Silicone Labs C8051 F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also understand that in addition to implementing the controller in pure computer-readable program code, the controller can also be implemented in the form of logic gates, switches, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller can be considered a hardware component, and the means for implementing various functions included therein can also be considered as structures within the hardware component. Or even, the means for implementing various functions can be considered as both a software module implementing the method and a structure within the hardware component.

[0064] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a server system. Of course, this application does not exclude that with the future development of computer technology, the computer that implements the functions of the above embodiments may be, for example, a personal computer, a laptop computer, an in-vehicle human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0065] Although one or more embodiments of this specification provide method operation steps as described in the embodiments or flow charts, more or fewer operation steps may be included based on conventional or non-creative means. The order of steps listed in the embodiments is only one way of executing the order of many steps and does not represent the only execution order. When the device or terminal product in practice is executed, it can be executed in sequence or in parallel according to the method shown in the embodiments or the drawings (for example, a parallel processor or a multi-threaded processing environment, or even a distributed data processing environment). The term "comprise", "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, product or equipment including a series of elements includes not only those elements, but also includes other elements that are not clearly listed, or also includes elements inherent to such process, method, product or equipment. In the absence of more restrictions, it is not excluded that there are other identical or equivalent elements in the process, method, product or equipment including the elements. For example, if the words first, second, etc. are used to represent the name, they do not represent any particular order.

[0066] For the convenience of description, the above devices are described in terms of functions divided into various modules. Of course, when implementing one or more of the present specifications, the functions of each module can be implemented in the same or multiple software and / or hardware, or the module that implements the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0067] The present invention is described with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0068] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0069] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0070] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0071] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0072] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage, graphene storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.

[0073] Those skilled in the art will appreciate that one or more embodiments of this specification may be provided as a method, system, or computer program product. Thus, one or more embodiments of this specification may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, one or more embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0074] One or more embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. One or more embodiments of this specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0075] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between the various embodiments can be referenced across them. Each embodiment focuses on the differences from the other embodiments. In particular, since the system embodiments are generally similar to the method embodiments, their description is relatively simple. For relevant parts, reference can be made to the description of the method embodiments. Throughout this specification, reference to the terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples" means that the specific features, structures, materials, or characteristics described in conjunction with that embodiment or example are included in at least one embodiment or example of this specification. In this specification, the schematic representations of these terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, those skilled in the art may combine and integrate the different embodiments or examples, and features of different embodiments or examples, described in this specification, without conflict.

[0076] The foregoing description is merely an example of one or more embodiments of this specification and is not intended to limit the one or more embodiments of this specification. Those skilled in the art will appreciate that various modifications and variations of one or more embodiments of this specification are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of this specification are intended to be included within the scope of the claims.

Claims

1. An automated stress testing method for a graph database system, comprising: Obtaining stress test parameters for the graph database system, determining a first operation timeliness rate of the graph database system within a first preset time period based on the stress test parameters, and determining a first difference between the first operation timeliness rate and the preset timeliness rate; If the first difference is greater than a preset threshold, the stress test parameter is first modified in a preset manner, and the first operation timeliness rate is re-determined based on the first modified stress test parameter.

2. The method according to claim 1, further comprising: Determining a first iteration difference based on the re-determined first operation timeliness rate and the preset timeliness rate, if the first iteration difference is not greater than a preset threshold, determining a second operation timeliness rate of the graph database system within a second preset time length based on the first modified stress test parameter, where the second preset time length is longer than the first preset time length; A second difference is determined based on the second operation timeliness rate and the preset timeliness rate. If the second difference is not greater than a preset threshold, the throughput of the graph database system within the second preset time period is obtained.

3. The method according to claim 2, further comprising: If the first difference is not greater than a preset threshold, determining the second difference based on the stress test parameter; If the second difference is not greater than the preset threshold, the throughput of the graph database system within the second preset time period is obtained.

4. The method according to claim 2, wherein: Determining a second operation timeliness rate of the graph database system within a second preset time period based on the first modified stress test parameter includes: determining a third operation timeliness rate of the graph database system within a third preset time period based on the first modified stress test parameter, and determining a third difference based on the third operation timeliness rate and the preset timeliness rate; if the third difference is greater than a preset threshold, performing a second modification on the stress test parameter in a preset manner, and re-determining the third operation timeliness rate based on the second modified stress test parameter; The second iteration difference is determined based on the re-determined third operation timeliness and the preset timeliness. If the second iteration difference is not greater than the preset threshold, the second operation timeliness of the graph database system within the second preset time length is determined based on the second modified stress test parameter.

5. The method according to claim 3, wherein The first preset time length is 5 to 10 minutes, the second preset time length is 2 hours, and the third preset time length is 1 hour.

6. The method according to claim 1, wherein The first modification of the stress test parameters is performed in a preset manner, including: Determining whether the operation timeliness of the graph database system can reach the preset timeliness within a first preset time length within a preset range of values ​​of the stress test parameter; If the operation timeliness of the graph database system can reach the preset timeliness within the first preset time period, the stress test parameters are modified according to a preset method.

7. The method according to claim 1, wherein The stress test parameter is positively correlated with the load of the graph database system, and the preset method includes a binary increase and decrease method; If the first difference is greater than a preset threshold, the stress test parameter is modified for the first time in a preset manner, including: if the first difference is greater than a preset threshold and the first operation timeliness is greater than a preset timeliness, then half of the existing value of the stress test parameter is added to the stress test parameter.

8. The method according to claim 7, further comprising: If the first difference is greater than a preset threshold and the first operation timeliness is less than a preset timeliness, half of the existing value of the stress test parameter is reduced from the stress test parameter.

9. The method according to claim 1, wherein The stress test parameter is the time compression ratio.

10. An automated stress testing device for a graph database system, the device comprising: an acquiring unit configured to acquire stress test parameters for the graph database system, determine a first operation timeliness rate of the graph database system within a first preset time period based on the stress test parameters, and determine a first difference between the first operation timeliness rate and the preset timeliness rate; The determination unit is configured to, if the first difference is greater than a preset threshold, perform a first modification on the stress test parameter in a preset manner, and re-determine the first operation timeliness rate based on the first modified stress test parameter.

11. A computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to execute the method according to any one of claims 1 to 9.

12. A computing device comprising a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method according to any one of claims 1 to 9 is implemented.