Object storage load balancing performance test method and device

Through the combination of load simulation, performance monitoring and data analysis modules, the problem of object storage load balancing performance testing relies on manual operations, realizes an efficient and accurate test process, and improves system performance and user satisfaction.

CN119311582APending Publication Date: 2025-01-14CHINA TELECOM DIGITAL INTELLIGENCE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411349659.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-26
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

Existing object storage load balancing performance testing mainly relies on manual operations, is inefficient and error-prone, lacks systematic methods, is difficult to comprehensively evaluate, and is unable to quickly adapt to changing storage needs, affecting system performance and availability.

Method used

A method of load balancing performance testing of object storage is designed, including load simulation module, performance monitoring module and data analysis module. By generating test data, simulating user access requests, collecting performance indicators and analyzing, the load balancing status of the object storage server is judged. Generate test reports to improve test efficiency and accuracy.

Benefits of technology

Through a systematic testing process, comprehensively evaluate the performance of the object storage server, improve testing efficiency, ensure responsiveness and stability, quickly identify load balancing status, optimize resource allocation, improve system performance and user satisfaction, and provide detailed optimization strategies and maintenance refer to.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119311582A_ABST
    Figure CN119311582A_ABST
Patent Text Reader

Abstract

The invention relates to a performance testing method and device for object storage load balancing, and belongs to the field of software testing. Comprising the steps of generating test data through a data generation module; simulating access requests of different user types by using a load simulation module; sending the test data and the access request to an object storage server to test the object storage server; performance indexes of the object storage server side in the testing process are collected through a performance monitoring module; the performance indexes are input into a data analysis module for data analysis, whether the performance indexes meet a performance index threshold value or not is judged, if yes, it is determined that the object storage server side is in a load balancing state, and if not, it is determined that the object storage server side is in a non-load balancing state; and generating a test report according to the analysis result. The objective of the invention is to overcome the defects of low manual test efficiency and high error rate in the prior art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of software testing, and in particular relates to a performance testing method and device for object storage load balancing. Background Art

[0002] Performance testing of object storage load balancing is an important method to evaluate the responsiveness and processing efficiency of object storage systems under different load conditions. Performance testing is an important part of software testing, which aims to test whether the response time, throughput, success rate, stability, recoverability and other characteristics of a system under a certain load in a specific environment and configuration meet the needs of specific stakeholders. During the performance testing process, multiple load conditions are generally simulated, and the performance of the system under different loads is tested to find the performance bottleneck in the system and optimize it.

[0003] With the rapid development of cloud computing, object storage systems are becoming increasingly important in various data storage needs. However, as the amount of data grows, a single storage node may not be able to meet storage needs. Therefore, it is necessary to test object storage load balancing to ensure the performance and availability of the storage system. It can reasonably distribute requests to multiple storage nodes, thereby improving the overall performance and availability of the system.

[0004] However, the current object storage load balancing performance testing mainly relies on manual operations, which is inefficient and error-prone. The lack of a systematic approach makes it difficult to conduct a comprehensive evaluation and cannot quickly adapt to changing storage needs, which in turn affects the performance and availability of the system. Summary of the invention

[0005] In order to solve the technical problem that the current object storage load balancing performance test mainly relies on manual operation, resulting in low efficiency and prone to errors, lacks a systematic method, makes it difficult to conduct a comprehensive evaluation, and cannot quickly adapt to changing storage needs, which in turn affects the performance and availability of the system, the invention provides a performance testing method and device for object storage load balancing.

[0006] In a first aspect of the present invention, a performance testing method for object storage load balancing is proposed, which is applied to a performance testing system for an object storage service end. The performance testing system for the object storage service end includes a load simulation module, an object storage service end, a performance monitoring module, and a data analysis module connected in sequence. The data generation module is connected to the object storage service end, and the load simulation module is connected to the data analysis module. The method includes:

[0007] S1, generate test data through the data generation module;

[0008] S2, using the load simulation module to simulate access requests of different user types;

[0009] S3, sends the test data and access request to the object storage service to test the object storage service;

[0010] S4, collecting performance indicators of the object storage service during the test process through the performance monitoring module;

[0011] S5, inputting the performance indicator into the data analysis module for data analysis, determining whether the performance indicator meets the performance indicator threshold, if so, determining that the object storage service client is in a load balancing state, otherwise, determining that the object storage service client is in a non-load balancing state;

[0012] S6, generating a test report according to the analysis results.

[0013] Furthermore, the data generation module, the load simulation module, the object storage service end, the performance monitoring module and the data analysis module perform data transmission through the data processing unit, wherein the data processing unit is a cloud platform data transmission unit or a data processing hardware device.

[0014] Furthermore, the data generation module includes a random number generator and a file generator, and S1 is specifically:

[0015] Corresponding random numbers and test files are generated by a random number generator and a file generator respectively, wherein the random numbers and the test files constitute test data.

[0016] Furthermore, the file generator is a file generator based on the Mersenne Twister algorithm, and the generation process of the test file is specifically as follows:

[0017] Initialize the state value of the state array of the Mersenne rotation, where the state value includes the seed and the state array length:

[0018] MT_array=l,MT_aray[0]=s

[0019] Wherein, MT_aray[0] represents the initial state value of the state array MT_array, s represents the seed value, and l represents the length of the state array;

[0020] Determine the state array index at the stated state array length:

[0021] k=i mod l

[0022] Wherein, mod represents a modulus operation representing a remainder, i represents the number of times a random number is generated, and k represents the state array index;

[0023] Generate a primary random number by combining the state array index:

[0024]

[0025] Wherein, y represents the primary random number, Represents the bitwise exclusive OR operator, MT_array[k]>>b means shifting the binary number of MT_array[k] right by b bits;

[0026] Perform bitwise operations on the primary random number to generate a pseudo-random number:

[0027]

[0028] Wherein, z represents the pseudo-random number, 0x6c078965 represents a hexadecimal constant, >> represents a binary right shift, and << represents a binary left shift;

[0029] Map the obtained pseudo-random number to the file length:

[0030] FileSize=minSize+(z mod(maxSize-minSize+1))

[0031] Wherein, FileSize represents the file length, maxSize and minSize represent the maximum file length and the minimum file length respectively;

[0032] Generate the test file according to the file length:

[0033] FileContent=RandomBytes(FileSize)

[0034] Among them, FileContent represents the test file, and RandomBytes represents the generation of random bytes corresponding to the number of bits of the file length.

[0035] Furthermore, the load simulation module includes a simulator, S2 specifically:

[0036] An access request is generated through the simulator, where the access request includes a GET request, a PUT request, and a DELETE request.

[0037] Furthermore, the object storage service client is tested, specifically:

[0038] Test the object storage service client through load testing, stress testing, and stability testing.

[0039] Furthermore, the performance indicators specifically include response time, data throughput and request success rate.

[0040] In a second aspect of the present invention, a performance testing device for object storage load balancing is provided, which is used to implement the performance testing method for object storage load balancing according to any one of the first aspects, and is applied to a performance testing system for an object storage service end, wherein the performance testing system for the object storage service end includes a load simulation module, an object storage service end, a performance monitoring module, and a data analysis module connected in sequence, wherein the data generation module is connected to the object storage service end, and the load simulation module is connected to the data analysis module; the device includes:

[0041] A first generating module, used for generating test data through a data generating module;

[0042] A simulation module, used to simulate access requests of different user types using a load simulation module;

[0043] A test module, used to send test data and access requests to the object storage service client to test the object storage service client;

[0044] A collection module is used to collect performance indicators of the object storage service client during the test process through the performance monitoring module;

[0045] An analysis module is used to input the performance indicator into the data analysis module for data analysis, and determine whether the performance indicator meets the performance indicator threshold. If so, the object storage service client is determined to be in a load-balanced state; otherwise, the object storage service client is determined to be in a non-load-balanced state;

[0046] The second generating module is used to generate a test report according to the analysis result.

[0047] Furthermore, the data generation module, the load simulation module, the object storage service end, the performance monitoring module and the data analysis module perform data transmission through the data processing unit, wherein the data processing unit is a cloud platform data transmission unit or a data processing hardware device.

[0048] Furthermore, the data generation module includes a random number generator and a file generator, and the first generation module is specifically:

[0049] Corresponding random numbers and test files are generated by a random number generator and a file generator respectively, wherein the random numbers and the test files constitute test data.

[0050] Furthermore, the file generator is a file generator based on the Mersenne Twister algorithm, and the test file generation process is specifically as follows:

[0051] Initialize the state value of the state array of the Mersenne rotation, where the state value includes the seed and the state array length:

[0052] MT_array=l,MT_aray[0]=s

[0053] Among them, MT_aray[0] represents the initial state value of the state array MT_array, s represents the seed value, and l represents the length of the state array;

[0054] Determine the state array index given the state array length:

[0055] k=i mod l

[0056] Among them, mod represents the modulus operation representing the remainder, i represents the number of times the random number is generated, and k represents the state array index;

[0057] Generate primary random numbers based on the state array index:

[0058]

[0059] Among them, y represents the primary random number, Represents the bitwise exclusive OR operator, MT_array[k]>>b means shifting the binary number of MT_array[k] right by b bits;

[0060] Perform bitwise operations on primary random numbers to generate pseudo-random numbers:

[0061]

[0062] Among them, z represents a pseudo-random number, 0x6c078965 represents a hexadecimal constant, >> represents a binary right shift, and << represents a binary left shift;

[0063] Map the obtained pseudo-random number to the file length:

[0064] FileSize=minSize+(z mod(maxSize-minSize+1))

[0065] Among them, FileSize represents the file length, maxSize and minSize represent the maximum and minimum file length respectively;

[0066] Generate a test file based on the file length:

[0067] FileContent=RandomBytes(FileSize)

[0068] Among them, FileContent represents the test file, and RandomBytes represents the generation of random bytes corresponding to the number of bits of the file length.

[0069] Furthermore, the load simulation module includes a simulator, and the simulation module is specifically:

[0070] An access request is generated through the simulator, where the access request includes a GET request, a PUT request, and a DELETE request.

[0071] Furthermore, the object storage service client is tested, specifically:

[0072] Test the object storage service client through load testing, stress testing, and stability testing.

[0073] Furthermore, the performance indicators specifically include response time, data throughput and request success rate.

[0074] A third aspect of the present invention provides a performance testing system for object storage load balancing, comprising: a memory and one or more processors.

[0075] One or more applications are stored in the memory, and the one or more applications are suitable for being executed by one or more processors to implement the performance testing method for object storage load balancing of the first aspect.

[0076] A fourth aspect of the present invention provides a computer-readable storage medium having a computer program stored thereon, which can be loaded and executed by a processor to perform a performance testing method for object storage load balancing according to the first aspect.

[0077] The beneficial effects of the present invention are as follows:

[0078] In the embodiment of the present invention, through a systematic test process, the performance of the object storage service can be comprehensively evaluated, the efficiency of the test can be improved, its responsiveness and stability under different loads can be ensured, and the ever-changing storage needs can be met. By simulating the access modes of various user types, the reliability of the system can be improved. Through performance indicator threshold judgment, it can be quickly identified whether the server is in a load balancing state, which helps to adjust resource allocation in time and avoid performance bottlenecks. By simulating access requests of different user types, the test is closer to the actual usage scenario, thereby improving the performance of the system in actual applications and user satisfaction. Through detailed performance indicator analysis, the optimization strategy is clarified, and the direction of system improvement is formulated. The generated test report provides a valuable reference for subsequent maintenance and optimization, which helps to track performance changes and the effects of improvement measures. BRIEF DESCRIPTION OF THE DRAWINGS

[0079] The accompanying drawings are only used to illustrate specific embodiments and are not considered to limit the present invention. In the entire drawings, the same reference symbols represent the same components. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present invention. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings.

[0080] Figure 1It is a flow chart of a performance testing method for object storage load balancing provided by an embodiment of the present invention;

[0081] Figure 2 It is a structural diagram of a performance testing system for an object storage service provided by an embodiment of the present invention;

[0082] Figure 3 It is a structural schematic diagram of a performance testing device for object storage load balancing provided by an embodiment of the present invention;

[0083] Figure 4 It is a structural diagram of a performance testing system for object storage load balancing provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0084] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of the embodiments. It should be understood that these descriptions are only exemplary and are not intended to limit the scope of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in the field without making creative work should fall within the scope of protection of the present invention.

[0085] Furthermore, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily obscuring the concepts disclosed in the present invention.

[0086] In the description of the present invention, it should be noted that, unless otherwise clearly specified and limited, the orientation or position relationship indicated by the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inside", "outside", etc. is based on the orientation or position relationship shown in the drawings, which is only for the convenience of describing the present invention and simplifying the description, and does not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation of the present invention. In addition, the terms "first", "second", and "third" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance. The terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be a connection between the two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0087] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Instead, they are merely examples of methods and systems consistent with some aspects of the present invention as detailed in the appended claims.

[0088] The present invention proposes a performance testing method and device for object storage load balancing, in order to solve the problems that the existing object storage load balancing performance testing mainly relies on manual operation, resulting in low efficiency and prone to errors, lacks a systematic method, makes it difficult to conduct a comprehensive evaluation, and cannot quickly adapt to changing storage needs, thereby affecting the performance and availability of the system.

[0089] Method Embodiment

[0090] Reference Figure 1 , showing a flow chart of a performance testing method for object storage load balancing provided in an embodiment of the present invention.

[0091] Reference Figure 2 , showing a structural diagram of a performance testing system for an object storage service client provided in an embodiment of the present invention.

[0092] An embodiment of the present invention provides a performance testing method for object storage load balancing, which is applied to a performance testing system of an object storage service end. The performance testing system of the object storage service end includes a load simulation module, an object storage service end, a performance monitoring module and a data analysis module connected in sequence. The data generation module is connected to the object storage service end, and the load simulation module is connected to the data analysis module.

[0093] In a possible implementation, the data generation module, the load simulation module, the object storage service end, the performance monitoring module and the data analysis module perform data transmission through a data processing unit, wherein the data processing unit is a cloud platform data transmission unit or a data processing hardware device.

[0094] Methods include:

[0095] Specifically, the method includes steps S1 to S6:

[0096] S1, generate test data through the data generation module.

[0097] Among them, the data generation module is used to generate test data and send it to the object storage system. The module may include a random number generator for generating random numbers as test data, or a file generator for generating files of specified size and type as test data. The test data is a set of data used to verify the function, performance and stability of the system or software.

[0098] It should be noted that by generating a variety of different test data for testing, we can comprehensively evaluate the performance of the system in different situations, ensure that the software can operate normally in various usage scenarios, identify potential defects, and improve system reliability and user experience. The diversity and authenticity of test data also help to improve the effectiveness and accuracy of the test.

[0099] In a possible implementation, the data generation module includes a random number generator and a file generator.

[0100] In a possible implementation manner, S1 specifically includes:

[0101] Corresponding random numbers and test files are generated by a random number generator and a file generator respectively, wherein the random numbers and the test files constitute test data.

[0102] It should be noted that generating random numbers and test files through a random number generator and a file generator respectively can create diverse and representative test data, thereby more comprehensively simulating actual usage scenarios. Automatically generating test data reduces the errors and time costs of manual creation, improves the efficiency and accuracy of the test, and makes the testing process more systematic and scientific.

[0103] In a possible implementation, the file generator is a file generator based on the Mersenne Twister algorithm, and the test file generation process is specifically as follows:

[0104] Initialize the state value of the state array of the Mersenne rotation, where the state value includes the seed and the state array length:

[0105] MT_array=l,MT_aray[0]=s

[0106] Among them, MT_aray[0] represents the initial state value of the state array MT_array, s represents the seed value, and l represents the length of the state array.

[0107] Specifically, different seed values ​​will result in different random number sequences being generated. Using the same seed value will generate the same random number sequence, ensuring repeatability.

[0108] Determine the state array index given the state array length:

[0109] k=i mod l

[0110] Among them, mod represents the modulus operation representing the remainder, i represents the number of times the random number is generated, and k represents the state array index.

[0111] Specifically, k is the current index of the state array, indicating that you are accessing the kth element in the array. Each time a new pseudo-random number is generated, the corresponding element is taken from the state array according to the current k value, and a pseudo-random number is generated through bitwise operations. As the algorithm runs, k will continue to increase. When k exceeds the length of the array (for example, 624), the algorithm will reset k to the legal range of the array through modulo operations to ensure that k will never exceed the array boundary and prevent out-of-bounds errors.

[0112] Generate primary random numbers based on the state array index:

[0113]

[0114] Among them, y represents the primary random number, Represents the bitwise exclusive OR operator, MT_array[k]>>b means shifting the binary number of MT_array[k] right by b bits.

[0115] Perform bitwise operations on primary random numbers to generate pseudo-random numbers:

[0116]

[0117] Among them, z represents a pseudo-random number, 0x6c078965 represents a hexadecimal constant, >> represents a binary right shift, and << represents a binary left shift.

[0118] Map the obtained pseudo-random number to the file length:

[0119] FileSize=minSize+(z mod(maxSize-minSize+1))

[0120] Among them, FileSize represents the file length, maxSize and minSize represent the maximum file length and the minimum file length respectively.

[0121] Generate a test file based on the file length:

[0122] FileContent=RandomBytes(FileSize)

[0123] Among them, FileContent represents the test file, and RandomBytes represents the generation of random bytes corresponding to the number of bits of the file length.

[0124] Furthermore, the process first initializes a state array through the Mersenne Twister algorithm, sets the seed value and array length. Then, the index k of the state array is calculated using the number of random number generation i and the array length l. On this basis, a primary random number y is generated, and a pseudo-random number z is further generated through bit operations. The pseudo-random number is mapped to the length of the file, and then a random byte test file of the corresponding size is generated based on the length. The test file generated in this way has good randomness and repeatability, and is suitable for object storage load balancing testing. It can effectively simulate data requests of various sizes and types, allowing the system to undergo extensive performance testing under different load conditions. At the same time, pseudo-random numbers are used to control file size changes to ensure the diversity of test data, helping to evaluate the performance of object storage systems when processing data of different sizes.

[0125] S2, uses the load simulation module to simulate access requests of different user types.

[0126] The load simulation module includes a simulator for simulating access requests of different user types. Different user types refer to user groups that may perform different operations in the system. These users may have different behavior patterns, needs, and access frequencies.

[0127] It should be noted that by using the load simulation module to simulate the access requests of these different user types, we can understand the performance of the system under real user behavior. By simulating the access patterns of various user types, we can evaluate the responsiveness and stability of the system under high load, ensuring that the system can adapt to traffic fluctuations and demand changes in actual usage scenarios, thereby improving user satisfaction and system reliability.

[0128] In one possible manner, the load simulation module includes a simulator, S2 specifically:

[0129] An access request is generated through the simulator, where the access request includes a GET request, a PUT request, and a DELETE request.

[0130] Among them, GET is used to obtain resources from the server, requesting the server to return the specified resource (such as a web page, image, or data), and will not change the data on the server. GET requests are usually used for query and read operations. PUT requests are used to send data to the server to update or create resources. They can be used to upload new files or modify existing resources. If the specified resource does not exist, the PUT request will usually create a new resource. DELETE requests are used to request the server to delete the specified resource. By sending a DELETE request, the client can tell the server to remove a specific resource. After successful execution, the server will usually return a confirmation message.

[0131] S3 sends the test data and access request to the object storage service to test the object storage service.

[0132] Among them, object storage is a flat structure in which files are split into multiple parts and spread across multiple hardware. In object storage, data is broken down into discrete units called "objects" and stored in a single repository, rather than as files in folders or blocks on servers. Each storage volume is a self-contained repository that contains data, unique identifiers that allow objects to be found on distributed systems, and metadata that describes the data. The metadata includes details such as age, privacy information, and access emergencies. In order to retrieve data, the storage operating system uses metadata and identifiers, which can better distribute the load and allow administrators to apply policies to perform more powerful searches.

[0133] It should be noted that sending test data and access requests to the object storage service for testing can comprehensively evaluate the processing capabilities and response time of the server, observe the performance of the system when receiving real data and requests, and ensure that the system can effectively process and store data. In this way, potential performance bottlenecks and errors can be identified, the system architecture can be optimized, and the stability and reliability of the service can be improved, thereby ensuring a better experience for end users.

[0134] In one possible approach, the object storage service is tested as follows:

[0135] Test the object storage service client through load testing, stress testing, and stability testing.

[0136] Among them, load testing refers to testing and evaluating the performance of the system under specific load conditions, usually simulating normal and peak user activities to determine the system's response time and processing capacity. Stress testing is used to test the performance of the system under load conditions beyond normal conditions. The purpose is to identify the system's maximum carrying capacity and failure points to ensure that the system can remain stable under extreme conditions. Stability testing refers to evaluating the system's performance under continuous load and detecting the system's stability and reliability. It usually runs for a period of time to observe whether the system will crash or performance will degrade.

[0137] It should be noted that these tests can provide a comprehensive understanding of the performance of the object storage service under different load and pressure conditions, help identify potential bottlenecks and weaknesses, and provide data support for system optimization. This in-depth performance analysis can improve system reliability and ensure stable and efficient services in a real environment.

[0138] S4, collecting performance indicators of the object storage service during the test process through the performance monitoring module.

[0139] It should be noted that the advantage of collecting these indicators through the performance monitoring module is that it can provide real-time system status information, understand the performance of the server during the test, and provide a basis for subsequent optimization to ensure that the system can run stably and efficiently in actual use. In addition, accurate performance monitoring can detect anomalies in a timely manner, reduce potential risks, and improve user experience.

[0140] In one possible approach, the performance indicators specifically include response time, data throughput, and request success rate.

[0141] Among them, response time refers to the time required from sending a request to receiving a response, usually in milliseconds. It is an important indicator to measure the speed at which the system processes requests. A shorter response time means that the system can quickly process user requests, thereby improving user experience. Data throughput refers to the amount of data that the system can process per unit time, usually expressed in bytes per second (Bps) or requests per second (RPS). High data throughput means that the system can efficiently process large amounts of data under high load conditions and adapt to the needs of more users. Request success rate refers to the proportion of successfully processed requests to the total number of requests within a certain period of time, usually expressed as a percentage. A high request success rate indicates that the system can stably and reliably process user requests, reflecting the availability and stability of the system.

[0142] S5, input the performance indicator into the data analysis module for data analysis, and determine whether the performance indicator meets the performance indicator threshold. If so, determine that the object storage service client is in a load-balanced state; otherwise, determine that the object storage service client is in a non-load-balanced state.

[0143] The load balancing state refers to the system's ability to effectively allocate resources when processing requests, ensuring that the load between components or services is even, thereby avoiding performance degradation or crash due to overload in a certain part.

[0144] It should be noted that by inputting performance indicators into the data analysis module for analysis, the health status of the server can be systematically evaluated, and whether there is an uneven load can be identified in a timely manner. By confirming whether a load balance is achieved, corresponding measures can be taken, such as adjusting resource allocation or optimizing the architecture, to ensure that the system remains stable and efficient under high load conditions. This not only improves the availability of the system, but also enhances the user experience and reduces the risk of failure.

[0145] S6, generating a test report according to the analysis results.

[0146] Among them, the test report is a systematic summary document of the test process, results and findings, usually including the test purpose, methods, execution status, performance indicators and conclusions.

[0147] It should be noted that the advantage of generating a test report is that it provides a clear view of system performance and a comprehensive understanding of test results and potential problems. Through detailed records and analysis, the test report can ensure that all relevant parties have a consistent understanding of system performance and status, thereby providing support for decision-making and improving the overall quality and reliability of the system.

[0148] The beneficial effects of the present invention are as follows:

[0149] In the embodiment of the present invention, through a systematic test process, the performance of the object storage service can be comprehensively evaluated, the efficiency of the test can be improved, its responsiveness and stability under different loads can be ensured, and the ever-changing storage needs can be met. By simulating the access modes of various user types, the reliability of the system can be improved. Through performance indicator threshold judgment, it can be quickly identified whether the server is in a load balancing state, which helps to adjust resource allocation in time and avoid performance bottlenecks. By simulating access requests of different user types, the test is closer to the actual usage scenario, thereby improving the performance of the system in actual applications and user satisfaction. Through detailed performance indicator analysis, the optimization strategy is clarified, and the direction of system improvement is formulated. The generated test report provides a valuable reference for subsequent maintenance and optimization, which helps to track performance changes and the effects of improvement measures.

[0150] Device Embodiment

[0151] Reference Manual Attached Figure 3 , shows a structural schematic diagram of a performance testing device for object storage load balancing provided by an embodiment of the present invention.

[0152] Another specific embodiment of the present invention discloses a performance testing device for object storage load balancing, which is used to implement the performance testing method for object storage load balancing in any one of the method embodiments, and is applied to a performance testing system for an object storage service end, wherein the performance testing system for the object storage service end includes a load simulation module, an object storage service end, a performance monitoring module, and a data analysis module connected in sequence, wherein the data generation module is connected to the object storage service end, and the load simulation module is connected to the data analysis module; the performance testing device 20 for object storage load balancing includes:

[0153] The first generating module 201 is used to generate test data through a data generating module.

[0154] The simulation module 202 is used to simulate access requests of different user types using a load simulation module.

[0155] The testing module 203 is used to send the test data and the access request to the object storage service to test the object storage service.

[0156] The collection module 204 is used to collect the performance indicators of the object storage service client during the test process through the performance monitoring module.

[0157] The analysis module 205 is used to input the performance indicator into the data analysis module for data analysis to determine whether the performance indicator meets the performance indicator threshold. If so, the object storage service client is determined to be in a load-balanced state; otherwise, the object storage service client is determined to be in a non-load-balanced state.

[0158] The second generating module 206 is used to generate a test report according to the analysis result.

[0159] In one possible manner, the data generation module, the load simulation module, the object storage service end, the performance monitoring module and the data analysis module perform data transmission through a data processing unit, wherein the data processing unit is a cloud platform data transmission unit or a data processing hardware device.

[0160] In a possible manner, the data generation module includes a random number generator and a file generator, and the first generation module 201 is specifically:

[0161] Corresponding random numbers and test files are generated by a random number generator and a file generator respectively, wherein the random numbers and the test files constitute test data.

[0162] In a possible implementation, the file generator is a file generator based on the Mersenne Twister algorithm, and the test file generation process is specifically as follows:

[0163] Initialize the state value of the state array of the Mersenne rotation, where the state value includes the seed and the state array length:

[0164] MT_array=l,MT_aray[0]=s

[0165] Among them, MT_aray[0] represents the initial state value of the state array MT_array, s represents the seed value, and l represents the length of the state array;

[0166] Determine the state array index given the state array length:

[0167] k=i mod l

[0168] Among them, mod represents the modulus operation representing the remainder, i represents the number of times the random number is generated, and k represents the state array index;

[0169] Generate primary random numbers based on the state array index:

[0170]

[0171] Among them, y represents the primary random number, Represents the bitwise exclusive OR operator, MT_array[k]>>b means shifting the binary number of MT_array[k] right by b bits;

[0172] Perform bitwise operations on primary random numbers to generate pseudo-random numbers:

[0173]

[0174] Among them, z represents a pseudo-random number, 0x6c078965 represents a hexadecimal constant, >> represents a binary right shift, and << represents a binary left shift;

[0175] Map the obtained pseudo-random number to the file length:

[0176] FileSize=minSize+(z mod(maxSize-minSize+1))

[0177] Among them, FileSize represents the file length, maxSize and minSize represent the maximum and minimum file length respectively;

[0178] Generate a test file based on the file length:

[0179] FileContent=RandomBytes(FileSize)

[0180] Among them, FileContent represents the test file, and RandomBytes represents the generation of random bytes corresponding to the number of bits of the file length.

[0181] In one possible manner, the load simulation module includes a simulator, and the simulation module 202 is specifically:

[0182] An access request is generated through the simulator, where the access request includes a GET request, a PUT request, and a DELETE request.

[0183] In a possible manner, the testing of the object storage service client is specifically performed as follows:

[0184] The object storage service client is tested through load testing, stress testing and stability testing.

[0185] In one possible manner, the performance indicators specifically include response time, data throughput, and request success rate.

[0186] The device provided in the embodiment of the present invention can implement each process and step in the above method embodiment, and can obtain the same or similar technical effects. To avoid repetition, the present invention will not go into details.

[0187] The beneficial effects of the present invention are as follows:

[0188] In the embodiment of the present invention, through a systematic test process, the performance of the object storage service can be comprehensively evaluated, the efficiency of the test can be improved, its responsiveness and stability under different loads can be ensured, and the ever-changing storage needs can be met. By simulating the access modes of various user types, the reliability of the system can be improved. Through performance indicator threshold judgment, it can be quickly identified whether the server is in a load balancing state, which helps to adjust resource allocation in time and avoid performance bottlenecks. By simulating access requests of different user types, the test is closer to the actual usage scenario, thereby improving the performance of the system in actual applications and user satisfaction. Through detailed performance indicator analysis, the optimization strategy is clarified, and the direction of system improvement is formulated. The generated test report provides a valuable reference for subsequent maintenance and optimization, which helps to track performance changes and the effects of improvement measures.

[0189] System Example

[0190] Reference Manual Attached Figure 4 , shows a structural diagram of a performance testing system for object storage load balancing provided by an embodiment of the present invention.

[0191] The present invention proposes a performance testing system 30 for object storage load balancing, including: a memory 303 and one or more processors 301 .

[0192] One or more application programs are stored in the memory 303 , and the one or more application programs are suitable for being executed by one or more processors 301 to implement the performance testing method for object storage load balancing of the method embodiment.

[0193] The performance test system 30 for object storage load balancing includes: a processor 301 and a memory 303. The processor 301 and the memory 303 are connected, for example, via a bus 302.

[0194] The structure of the object storage load balancing performance testing system 30 does not constitute a limitation on the embodiment of the present invention.

[0195] Processor 301 may be a CPU, a general purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. It may implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of the present invention. Processor 301 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0196] The bus 302 may include a path to transmit information between the above components. The bus 302 may be a PCI bus or an EISA bus, etc. The bus 302 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0197] The memory 303 can be a ROM or other type of static storage device that can store static information and instructions, a RAM or other type of dynamic storage device that can store information and instructions, or an EEPROM, a CD-ROM or other optical disk storage, an optical disk storage (including a compressed optical disk, a laser disk, an optical disk, a digital versatile disk, a Blu-ray disk, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to these.

[0198] Computer Readable Storage Medium Embodiments

[0199] The present invention proposes a computer-readable storage medium on which a computer program is stored. The computer program can be loaded and executed by a processor to perform a performance testing method for object storage load balancing according to the first aspect.

[0200] The applicant of the present invention has made a detailed explanation and description of the implementation examples of the present invention in conjunction with the drawings in the specification. However, those skilled in the art should understand that the above implementation examples are only preferred implementation schemes of the present invention, and the detailed description is only to help readers better understand the spirit of the present invention, but not to limit the scope of protection of the present invention. On the contrary, any improvements or modifications based on the inventive spirit of the present invention should fall within the scope of protection of the present invention.

[0201] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the embodiments of the present invention, rather than to limit them. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the above embodiments, or replace some of the technical features therein by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention. Any changes or replacements that can be easily thought of by those skilled in the art within the technical scope disclosed in the present invention should be covered within the protection scope of the present invention.

Claims

1. A performance testing method for object storage load balancing, characterized in that: A performance testing system applied to an object storage service end, the performance testing system of the object storage service end comprising a load simulation module, an object storage service end, a performance monitoring module and a data analysis module connected in sequence, a data generation module connected to the object storage service end, and the load simulation module connected to the data analysis module; the method comprising: S1, generating test data through the data generation module; S2, using the load simulation module to simulate access requests of different user types; S3, sending the test data and the access request to the object storage service to test the object storage service; S4, collecting performance indicators of the object storage service during the test process through the performance monitoring module; S5, inputting the performance indicator into the data analysis module for data analysis, determining whether the performance indicator meets the performance indicator threshold, and if so, determining that the object storage service client is in a load-balanced state, otherwise, determining that the object storage service client is in a non-load-balanced state; S6, generating a test report according to the analysis results.

2. The object storage load balancing performance testing method according to claim 1 is characterized in that: The data generation module, the load simulation module, the object storage service end, the performance monitoring module and the data analysis module perform data transmission through a data processing unit, wherein the data processing unit is a cloud platform data transmission unit or a data processing hardware device.

3. The object storage load balancing performance testing method according to claim 1 is characterized in that: The data generation module includes a random number generator and a file generator, and S1 is specifically: Corresponding random numbers and test files are generated by the random number generator and the file generator respectively, wherein the random numbers and the test files constitute the test data.

4. The object storage load balancing performance testing method according to claim 3 is characterized in that: The file generator is a file generator based on the Mersenne Twister algorithm, and the generation process of the test file is specifically as follows: Initialize the state value of the state array of the Mersenne rotation, where the state value includes the seed and the state array length: MT_array=l,MT_aray[0]=s Among them, MT_aray[0] represents the initial state value of the state array MT_array, s represents the seed value, and l represents the length of the state array; Determine the state array index at the stated state array length: k=i mod l Among them, mod represents the modulus operation representing the remainder, i represents the number of times the random number is generated, and k represents the state array index; Generate a primary random number by combining the state array index: Among them, y represents the primary random number, Represents the bitwise exclusive OR operator, MT_array[k]>>b means shifting the binary number of MT_array[k] right by b bits; Perform bitwise operations on the primary random number to generate a pseudo-random number: Among them, z represents a pseudo-random number, 0x6c078965 represents a hexadecimal constant, >> represents a binary right shift, and << represents a binary left shift; Map the obtained pseudo-random number to the file length: FileSize=minSize+(z mod(maxSize-minSize+1)) Among them, FileSize represents the file length, maxSize and minSize represent the maximum and minimum file length respectively; Generate the test file according to the file length: FileContent=RandomBytes(FileSize) Among them, FileContent represents the test file, and RandomBytes represents the generation of random bytes corresponding to the number of bits of the file length.

5. The object storage load balancing performance testing method according to claim 1, characterized in that: The load simulation module includes a simulator, and S2 is specifically: The access request is generated by the simulator, wherein the access request includes a GET request, a PUT request and a DELETE request.

6. The object storage load balancing performance testing method according to claim 1, characterized in that: The testing of the object storage service client is specifically as follows: The object storage service client is tested through load testing, stress testing and stability testing.

7. The object storage load balancing performance testing method according to claim 1, characterized in that: The performance indicators specifically include response time, data throughput and request success rate.

8. A performance testing device for object storage load balancing, characterized in that: A performance testing system applied to an object storage service client, the performance testing system of the object storage service client comprising a load simulation module, an object storage service client, a performance monitoring module and a data analysis module connected in sequence, a data generation module connected to the object storage service client, and the load simulation module connected to the data analysis module; the device comprises: A first generating module, used for generating test data through the data generating module; A simulation module, used to simulate access requests of different user types using the load simulation module; A testing module, used for sending the test data and the access request to the object storage service client to test the object storage service client; A collection module, used to collect the performance indicators of the object storage service during the test process through the performance monitoring module; An analysis module, used for inputting the performance indicator into the data analysis module for data analysis, and determining whether the performance indicator meets the performance indicator threshold value, and if so, determining that the object storage service client is in a load-balanced state, otherwise, determining that the object storage service client is in a non-load-balanced state; The second generating module is used to generate a test report according to the analysis result.

9. The performance testing device for object storage load balancing according to claim 8, characterized in that: The data generation module, the load simulation module, the object storage service end, the performance monitoring module and the data analysis module perform data transmission through a data processing unit, wherein the data processing unit is a cloud platform data transmission unit or a data processing hardware device.

10. The performance testing device for object storage load balancing according to claim 8, characterized in that: The data generation module includes a random number generator and a file generator, and the first generation module is specifically: Corresponding random numbers and test files are generated by the random number generator and the file generator respectively, wherein the random numbers and the test files constitute the test data.