A performance test method, device, apparatus and storage medium

By obtaining the maximum I/O load of the distributed block storage cluster and applying pressure to the foreground business, combined with parallel testing of background interference business, the problem of difficulty in evaluating the performance of distributed block storage systems in existing technologies has been solved, and efficient and accurate performance testing and resource allocation have been achieved.

CN115543188BActive Publication Date: 2026-01-20DAWNING INFORMATION IND (BEIJING) CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211055721.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-30
Publication Date
2026-01-20
Estimated Expiration
2042-08-30

AI Technical Summary

Technical Problem

Existing performance testing methods for distributed block storage systems struggle to accurately assess system performance when background interference and foreground services run in parallel, especially in high IOPS scenarios. They cannot effectively determine the maximum I/O load and the impact of background interference on foreground services.

Method used

This paper provides a performance testing method that obtains the maximum I/O load of a distributed block storage cluster, applies pressure to the foreground business and obtains performance parameters, and conducts performance testing under the condition of parallel background interference business. The method adopts multi-stage pressure increase and periodic interference business to determine the maximum I/O load and performance parameters under different business pressures.

Benefits of technology

It enables the rapid and accurate determination of the maximum I/O load and performance parameters of a distributed block storage system under conditions of parallel background interference and foreground business, providing a basis for system resource allocation and improving testing efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115543188B_ABST
    Figure CN115543188B_ABST
Patent Text Reader

Abstract

The application discloses a performance test method, device, equipment and storage medium. The method comprises the following steps: acquiring the maximum input / output (I / O) load of a distributed block storage cluster under a to-be-tested service mode; applying foreground service pressure to the distributed block storage cluster according to the maximum I / O load, and acquiring a first performance parameter of the distributed block storage cluster under the foreground service pressure; running a background interference service on the distributed block storage cluster under the foreground service pressure, and acquiring a second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service. The technical scheme of the embodiment of the application can perform performance test under the parallel condition of the foreground service and the background interference service.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of storage system testing, and in particular to a performance testing method, device, equipment and storage medium. BACKGROUND

[0002] With the rapid development of digital economy, various industries need to store, read and use a large amount of data, and data centers have become infrastructure like transportation and network communication. Distributed block storage is widely used for its high reliability and scalability.

[0003] Distributed block storage can realize cross-device data distribution and load sharing of multiple servers. Distributed block storage systems are usually time-sensitive services, such as Virtual Desktop Infrastructure (VDI) services, database services, and cloud computing services. These services often have high requirements for Input / Output Operations Per Second (IOPS), so performance testing of distributed block storage systems is very important. SUMMARY

[0004] The present application provides a performance testing method, device, equipment and storage medium, which can perform performance testing in the case of parallel running of background interference services and foreground services.

[0005] According to an aspect of the present application, a performance testing method is provided, comprising:

[0006] Obtaining the maximum input / output (I / O) load of a distributed block storage cluster under a to-be-tested service mode;

[0007] According to the maximum I / O load, applying foreground service pressure to the distributed block storage cluster, and obtaining a first performance parameter of the distributed block storage cluster under the foreground service pressure;

[0008] Under the foreground service pressure, running a background interference service in the distributed block storage cluster, and obtaining a second performance parameter of the distributed block storage cluster under the parallel running of the foreground service and the background interference service.

[0009] Optionally, obtaining the maximum input / output (I / O) load of a distributed block storage cluster under a to-be-tested service mode comprises:

[0010] Applying an initial foreground service pressure associated with the to-be-tested service mode to the distributed block storage cluster, and obtaining a test performance parameter of the distributed block storage cluster under the initial foreground service pressure;

[0011] According to the test performance parameter, increase foreground service pressure to the distributed block storage cluster, and continuously acquire the test performance parameter after the pressure increase;

[0012] In the case that the test performance parameter reaches a first threshold value, determine that the I / O load provided by the current distributed block storage cluster is the maximum I / O load. By continuously increasing the pressure applied to the distributed block storage cluster and continuously acquiring the test performance parameter, the maximum I / O load that the distributed block storage cluster can provide to the foreground service can be quickly acquired.

[0013] Optionally, according to the test performance parameter, increasing foreground service pressure to the distributed block storage cluster comprises:

[0014] In the case that the test performance parameter does not reach a second threshold value, increase foreground service pressure to the distributed block storage cluster according to a first pressure increase amplitude;

[0015] In the case that the test performance parameter reaches the second threshold value, increase foreground service pressure to the distributed block storage cluster according to a second pressure increase amplitude; the first pressure increase amplitude is greater than the second pressure increase amplitude. When the test performance parameter does not reach the second threshold value, the pressure is increased greatly, and when the test performance parameter reaches the second threshold value, the pressure is increased slightly, which can improve the accuracy of determining the maximum I / O load while ensuring the efficiency of acquiring the maximum I / O load.

[0016] Optionally, according to the maximum I / O load, applying foreground service pressure to the distributed block storage cluster comprises:

[0017] According to the maximum I / O load and the stage pressure increase parameter, determine the foreground service pressure corresponding to the current test stage;

[0018] Apply foreground service pressure matching the current test stage to the distributed block storage cluster. According to the maximum I / O load and the stage pressure increase parameter, the foreground service pressure of each test stage can be determined, and the performance of the distributed block storage cluster can be tested under different foreground service pressures.

[0019] Optionally, after acquiring the second performance parameter of the distributed block storage cluster in the case of parallel foreground service and background interference service, further comprising:

[0020] Stop applying foreground service pressure to the distributed block storage cluster;

[0021] Run the background interference service in the distributed block storage cluster;

[0022] The third performance parameter of the distributed block storage cluster under the running background interference service is acquired. After the foreground service pressure is stopped, the background interference service is continuously run in the distributed block storage cluster, and the performance test can be performed on the distributed block storage cluster under only the running background interference service.

[0023] Optionally, after the second performance parameter of the distributed block storage cluster under the parallel running of the foreground service and the background interference service is acquired, the method further comprises:

[0024] The service parameter of the background interference service is acquired under the parallel running of the foreground service and the background interference service. By acquiring the service parameter of the background interference service under the parallel running of the foreground service and the background interference service, it can be determined whether the background interference service can be normally executed under the current foreground service pressure.

[0025] Optionally, the background interference service comprises at least one of disk inspection, disk defragmentation, disk expansion, data balancing and data migration. According to actual test requirements, the influence of different background interference services on the foreground service can be tested.

[0026] According to another aspect of the present application, a performance testing device is provided, comprising:

[0027] A maximum load determination module is configured to acquire the maximum input / output (I / O) load of the distributed block storage cluster under a to-be-tested service mode.

[0028] A first performance parameter acquisition module is configured to apply a foreground service pressure to the distributed block storage cluster according to the maximum I / O load, and acquire a first performance parameter of the distributed block storage cluster under the foreground service pressure.

[0029] A second performance parameter acquisition module is configured to run a background interference service in the distributed block storage cluster under the foreground service pressure, and acquire a second performance parameter of the distributed block storage cluster under the parallel running of the foreground service and the background interference service.

[0030] Optionally, the maximum load determination module comprises:

[0031] An initial pressure application unit is configured to apply an initial foreground service pressure associated with the to-be-tested service mode to the distributed block storage cluster, and acquire a test performance parameter of the distributed block storage cluster under the initial foreground service pressure.

[0032] A pressure increasing unit is configured to increase the foreground service pressure to the distributed block storage cluster according to the test performance parameter, and continuously acquire a test performance parameter after the pressure is increased.

[0033] The maximum load determination unit is configured to determine that the I / O load provided by the current distributed block storage cluster is a maximum I / O load when the test performance parameter reaches a first threshold.

[0034] Optionally, the pressurizing unit is specifically configured to:

[0035] When the test performance parameter does not reach a second threshold, the foreground service pressure is increased to the distributed block storage cluster at a first pressurizing amplitude;

[0036] When the test performance parameter reaches the second threshold, the foreground service pressure is increased to the distributed block storage cluster at a second pressurizing amplitude; the first pressurizing amplitude is greater than the second pressurizing amplitude.

[0037] Optionally, the first performance parameter acquisition module is specifically configured to:

[0038] The maximum I / O load and the stage pressurizing parameter are used to determine the foreground service pressure corresponding to the current test stage;

[0039] The distributed block storage cluster is applied with the foreground service pressure matched with the current test stage.

[0040] Optionally, the performance testing device further comprises:

[0041] The foreground service pressure stopping module is configured to stop applying the foreground service pressure to the distributed block storage cluster;

[0042] The background interference service running module is configured to run a background interference service in the distributed block storage cluster;

[0043] The third performance parameter acquisition module is configured to acquire a third performance parameter of the distributed block storage cluster when the background interference service is running.

[0044] Optionally, the performance testing device further comprises:

[0045] The service parameter acquisition module is configured to acquire a service parameter of the background interference service when the foreground service and the background interference service are running in parallel.

[0046] Optionally, the background interference service comprises at least one of disk inspection, disk defragmentation, disk expansion, data balancing and data migration.

[0047] According to another aspect of the present application, an electronic device is provided, which comprises:

[0048] at least one processor; and

[0049] a memory connected with the at least one processor; wherein,

[0050] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the performance test method according to any one of the embodiments of the application.

[0051] According to another aspect of the application, a computer readable storage medium is provided, which stores computer instructions for enabling a processor to implement the performance test method according to any one of the embodiments of the application when executed by the processor.

[0052] The technical scheme of the embodiment of the application first acquires the maximum input / output (I / O) load of the distributed block storage cluster under the to-be-tested service mode, and then applies foreground service pressure to the distributed block storage cluster according to the maximum I / O load, and acquires the first performance parameter of the distributed block storage cluster under the foreground service pressure. Further, the background interference service is run on the distributed block storage cluster under the foreground service pressure, and the second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service is acquired. By running the background interference service under the foreground service pressure, the influence of the background interference service on the foreground service can be determined, thereby providing a reference basis for resource allocation of the distributed block storage cluster.

[0053] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the application, nor is it used to limit the scope of the application. Other features of the application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0054] In order to more clearly illustrate the technical solutions in the embodiments of the application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative effort.

[0055] Figure 1a is a flowchart of a performance test method according to an embodiment of the application;

[0056] Figure 1b is a structural schematic diagram of a performance test system according to an embodiment of the application;

[0057] Figure 2 is a flowchart of a performance test method according to an embodiment of the application;

[0058] Figure 3 is a flowchart of a performance test method according to an embodiment of the application;

[0059] Figure 4a is a flow chart of a performance testing method according to an embodiment of the present application;

[0060] Figure 4b is a test flow chart of a performance testing method according to an embodiment of the present application;

[0061] Figure 4c is a test result schematic diagram according to an embodiment of the present application;

[0062] Figure 5 is a structural schematic diagram of a performance testing device according to an embodiment of the present application;

[0063] Figure 6 is a structural schematic diagram of an electronic device implementing a performance testing method according to an embodiment of the present application. DETAILED DESCRIPTION

[0064] In order to make the personnel in the art better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor should belong to the scope of protection of the present application.

[0065] It should be noted that the terms "first", "second", and the like in the specification and claims of the present application and the above-described drawings are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device that includes a series of steps or units does not have to be limited to only those steps or units clearly listed, but can include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0066] Figure 1a A flow chart of a performance testing method according to an embodiment of the present application is provided, the embodiment can be applicable to the case of performance testing when foreground services and background interference services are concurrent, the method can be executed by a performance testing device, the performance testing device can be realized in the form of hardware and / or software, and the performance testing device can be configured in various general-purpose computing devices. As shown in the figure, the method comprises: Figure 1a

[0067] ​S110, acquire the maximum input / output (I / O) load of the distributed block storage cluster under the to-be-tested business mode.

[0068] The structure of the performance test system is shown in Figure 1b The structure of the performance test system is shown in

[0069] It should be noted that the technical solution of the embodiment of the present application can be executed by one of the pressure machines, or by a dedicated test device.

[0070] In the embodiment of the present application, after the test personnel selects the to-be-tested business mode, the maximum I / O load of the distributed block storage cluster under the to-be-tested business mode is acquired through an adaptive algorithm. Specifically, an initial foreground business pressure is applied to the distributed block storage cluster, and the test performance parameters of the distributed block storage cluster under the initial foreground business pressure are acquired. If the test performance parameters do not reach the performance threshold, the pressure is continuously increased, and the test performance parameters of the distributed block storage cluster after the pressure is increased are continuously acquired until the test performance parameters reach the performance threshold. Finally, the I / O load provided by the distributed block storage cluster when the performance threshold is reached is determined as the maximum I / O load.

[0071] The performance parameters of the distributed block storage cluster can include hardware performance parameters and software performance parameters. For example, the hardware performance parameters can include the CPU (central processing unit) occupancy rate, the disk occupancy rate, and the network bandwidth occupancy rate, and the software performance parameters can include the queue depth.

[0072] The test performance parameters can be one or more of the above performance parameters. When the test performance parameters include multiple performance parameters, if at least one of the performance parameters reaches the performance threshold, it is considered that the test performance parameters reach the performance threshold. For example, the test performance parameters include the CPU occupancy rate and the disk occupancy rate, and the corresponding performance threshold is 100%. During the continuous pressure increase process of the distributed block storage cluster, if one of the CPU occupancy rate and the disk occupancy rate reaches 100%, it is considered that the test performance parameters reach the threshold.

[0073] In one specific example, first, the pressure machine is controlled to apply an initial foreground service pressure to the distributed block storage cluster, for example, the IOPS of the initial foreground service pressure is 10000. At this time, the test performance parameter of the distributed block storage cluster can be obtained, and it is determined whether the performance threshold is reached. If the performance threshold is not reached, the pressure is continuously increased according to the set pressure increasing amplitude, for example, the IOPS is increased by 5000 each time, until the test performance parameter reaches the performance threshold, for example, 100%, and finally the I / O load provided by the distributed block storage cluster at this time is determined as the maximum I / O load.

[0074] In another specific example, first, the pressure machine is controlled to apply an initial foreground service pressure to the distributed block storage cluster, for example, the IOPS of the initial foreground service pressure is 10000. At this time, the test performance parameter of the distributed block storage cluster can be obtained, and it is determined whether the second performance threshold is reached, for example, the second performance threshold is 90%. If the second performance threshold is not reached, the pressure is continuously increased according to the first pressure increasing amplitude, for example, the IOPS is increased by 5000 each time; if the second performance threshold is reached, in order to avoid too large pressure increasing amplitude, the pressure is continuously increased according to the second pressure increasing amplitude, for example, the IOPS is increased by 2500 each time, until the test performance parameter reaches the first performance threshold (for example, 100%), and finally the I / O load provided by the distributed block storage cluster at this time is determined as the maximum I / O load.

[0075] S120, according to the maximum I / O load, a foreground service pressure is applied to the distributed block storage cluster, and a first performance parameter of the distributed block storage cluster under the foreground service pressure is obtained.

[0076] In the embodiment of the application, after the maximum I / O load of the distributed block storage cluster is obtained, the foreground service thread and the foreground service monitoring thread are run. The foreground service thread can control the pressure machine to apply a foreground service pressure to the distributed block storage cluster according to the maximum I / O load. The foreground service monitoring thread is parallel to the foreground service thread, and is used to obtain the hardware performance parameter and the software performance parameter of the distributed storage cluster under the foreground service pressure.

[0077] Specifically, in order to test the influence of the background interference service on the foreground service under different foreground service pressures, performance testing can be performed in multiple stages, and the foreground service pressure applied in each stage is different, but does not exceed the maximum I / O load. For example, in the first test stage, the pressure applied is 10% of the maximum I / O load, in the second test stage, the pressure applied is 20% of the maximum I / O load, and so on, until the pressure applied is equal to the maximum I / O load.

[0078] The hardware performance parameters can include central processing unit (CPU) occupancy, disk occupancy, network bandwidth occupancy, and the like, and the software performance parameter can include queue depth.

[0079] S130, under the foreground service pressure, running the background interference service in the distributed block storage cluster, and acquiring the second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service.

[0080] In addition to processing the foreground service, the distributed block storage cluster also needs to ensure the stable operation of the cluster, which requires running some background services in the cluster. These background services will have some impact on the current foreground service when executed. Therefore, these background services are referred to as background interference services. Both the foreground service and the background interference service will occupy the resources of the distributed block storage cluster. Therefore, it is very important to perform performance testing on the distributed block storage cluster under the parallel condition of the foreground service and the background interference service, and to ensure the normal execution of the foreground service and the background interference service.

[0081] The background interference service can include disk inspection, disk defragmentation, disk expansion, data balancing, and data migration.

[0082] In the embodiment of the application, under the foreground service pressure, the background interference service is started and stopped periodically according to a set interference period, and the second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service is acquired. Specifically, after applying the foreground service pressure to the distributed block storage cluster, the I / O load provided by the distributed block storage cluster is continuously acquired. After the I / O load is stable, the background interference service is started and stopped according to the set interference period, and the second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service is acquired to determine the influence of the background interference service on the foreground service.

[0083] For example, under the condition that the I / O load provided by the distributed block storage cluster under the foreground service pressure is stable, the background interference service is started and stopped every 10 minutes, and each time the background interference service is started for 3 minutes.

[0084] The technical scheme of the embodiment of the present application firstly acquires the maximum I / O load of the distributed block storage cluster under the to-be-tested service mode, and then applies foreground service pressure to the distributed block storage cluster according to the maximum I / O load, and acquires the first performance parameter of the distributed block storage cluster under the foreground service pressure. Further, the background interference service is run on the distributed block storage cluster under the foreground service pressure, and the second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service is acquired. By running the background interference service under the foreground service pressure, the performance of the distributed block storage cluster under different service models and different foreground service pressures can be tested, thereby providing a reference basis for resource allocation of the distributed block storage cluster.

[0085] Figure 2 The flowchart of the performance test method provided by the embodiment of the present application is further refined on the basis of the above-mentioned embodiment, and specific steps of acquiring the maximum I / O load of the distributed block storage cluster under the to-be-tested service mode and applying foreground service pressure to the distributed block storage cluster according to the maximum I / O load are provided. As shown in the figure, Figure 2 the method comprises:

[0086] S210, foreground service pressure associated with the to-be-tested service mode is applied to the distributed block storage cluster, and a test performance parameter of the distributed block storage cluster under the initial foreground service pressure is acquired.

[0087] In the embodiment of the present application, after the user selects the to-be-tested service mode, in order to acquire the maximum I / O load that can be provided by the distributed block storage cluster, the initial foreground service pressure associated with the to-be-tested service mode is firstly applied to the distributed block storage cluster, and the test performance parameter of the distributed block storage cluster under the initial foreground service pressure is acquired, so as to determine whether the software / hardware performance of the distributed block storage cluster reaches saturation in time.

[0088] S220, according to the test performance parameter, the foreground service pressure is increased to the distributed block storage cluster, and the test performance parameter after the pressure increase is continuously acquired.

[0089] In the embodiment of the present application, according to the test performance parameter, the foreground service pressure is continuously increased to the distributed block storage cluster, and the test performance parameter after the pressure increase is continuously acquired. Specifically, when the test performance parameter does not reach the first threshold value set in advance, the foreground service pressure is continuously increased to the distributed storage cluster, and if the first threshold value is reached, the current I / O load is determined as the maximum I / O load.

[0090] In a specific example, if the test performance parameter is 50% under the initial foreground service pressure, and the first threshold is 100%, it is clear that the test performance parameter does not reach the first threshold under the initial foreground service pressure, so the foreground service pressure will be continuously increased, and the test performance parameter after the pressure increase will be continuously monitored until the test performance parameter reaches the first threshold.

[0091] Optionally, the foreground service pressure is increased to the distributed block storage cluster according to the test performance parameter, including:

[0092] In the case where the test performance parameter does not reach the second threshold, the foreground service pressure is increased to the distributed block storage cluster according to the first pressure increase amplitude;

[0093] In the case where the test performance parameter reaches the second threshold, the foreground service pressure is increased to the distributed block storage cluster according to the second pressure increase amplitude; the first pressure increase amplitude is greater than the second pressure increase amplitude.

[0094] In the optional embodiment, a specific way of increasing the foreground service pressure to the distributed block storage cluster according to the test performance parameter is provided: before each pressure increase of the foreground service pressure, it is determined whether the current test performance parameter reaches the second threshold, for example, the second threshold is 90%; if not, it is determined that the current applied pressure is greatly different from the maximum I / O load of the distributed block storage cluster, and the foreground service pressure is increased to the distributed block storage cluster according to the first pressure increase amplitude; if not, it is determined that the current applied pressure is close to the maximum I / O load of the cluster, i.e., the difference between the current applied pressure and the maximum I / O load of the cluster is small, and the foreground service pressure is increased to the distributed block storage cluster according to the second pressure increase amplitude, so as to avoid that the pressure increase amplitude is too large and the applied pressure exceeds the maximum I / O load of the distributed block storage cluster, thereby ensuring the calculation efficiency of the maximum I / O load and improving the accuracy of the calculation data.

[0095] In a specific example, the second threshold is 90%, the first pressure increase amplitude is 5000 IOPS per time, and the second pressure increase amplitude is 2500 IOPS per time. When the test performance parameter does not reach 90%, the pressure is linearly and greatly increased each time, and the pressure increase amplitude is 5000; when the test performance parameter reaches 90%, in order to avoid that the pressure increase amplitude is too large and affects the data accuracy, the pressure is linearly and slightly increased, and the pressure increase amplitude is 2500.

[0096] S230、In the case where the test performance parameter reaches the first threshold, it is determined that the I / O load provided by the current distributed block storage cluster is the maximum I / O load.

[0097] In the embodiment of the present application, during the continuous pressure on the distributed block storage cluster, if the test performance parameter reaches the first threshold value at a certain time, the test can be continued for a period of time, and if the test performance parameter remains stable, the I / O load provided by the current distributed block storage cluster is determined as the maximum I / O load.

[0098] In S240, the foreground service pressure corresponding to the current test stage is determined according to the maximum I / O load and the stage pressure parameter.

[0099] In the embodiment of the present application, in order to test the influence of running the background interference service on the foreground service under different foreground service pressures, the test can be divided into multiple stages, and each stage applies different foreground service pressure to the distributed block storage cluster. Specifically, the foreground service pressure corresponding to the current test stage can be determined according to the maximum I / O load and the stage pressure parameter, wherein the stage pressure parameters corresponding to different stages are different.

[0100] In a specific example, in the first test stage, the stage pressure parameter is 10%, and the foreground service pressure required in the first stage is 10% of the maximum I / O load. In the second test stage, the stage pressure parameter is 20%, and the foreground service pressure required in the second stage is 20% of the maximum I / O load. Similarly, until the foreground service pressure is equal to the maximum I / O load.

[0101] In S250, the foreground service pressure matched with the current test stage is applied to the distributed block storage cluster, and a first performance parameter of the distributed block storage cluster under the foreground service pressure is obtained.

[0102] In the embodiment of the present application, after determining the foreground service pressure of the current stage, the foreground service pressure matched with the current test stage is applied to the distributed block storage cluster. At the same time, a first performance parameter of the distributed block storage cluster under the foreground service pressure is obtained. The first performance parameter is the software or hardware performance parameter of the distributed block storage cluster without the background interference service.

[0103] In S260, the background interference service is run in the distributed block storage cluster under the foreground service pressure, and a second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service is obtained.

[0104] The technical scheme of the embodiment of the present application applies initial foreground service pressure associated with a to-be-tested service mode to a distributed block storage cluster, and then determines a pressure increasing range according to a test performance parameter under the initial foreground service pressure, continuously increases pressure to the distributed block storage cluster, and finally determines that the I / O load provided by the current distributed block storage cluster is the maximum I / O load when the test performance parameter reaches a first threshold, so that the efficiency and accuracy of determining the maximum I / O load can be improved.

[0105] Figure 3 A flowchart of a performance test method provided by the embodiment of the present application is further refined on the basis of the above-mentioned embodiment, and specific steps after obtaining the second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service are provided. As shown in Figure 3 The method comprises the following steps.

[0106] S310, obtaining the maximum input / output I / O load of the distributed block storage cluster under a to-be-tested service mode.

[0107] S320, applying foreground service pressure to the distributed block storage cluster according to the maximum I / O load, and obtaining a first performance parameter of the distributed block storage cluster under the foreground service pressure.

[0108] S330, running background interference service under the foreground service pressure in the distributed block storage cluster, and obtaining a second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service.

[0109] Optionally, the background interference service comprises at least one of disk inspection, disk defragmentation, disk expansion, data balancing and data migration.

[0110] In the optional embodiment, the background interference service is a service for ensuring stable operation of the distributed block storage cluster, and the background interference service can comprise at least one of disk inspection, disk defragmentation, disk expansion, data balancing and data migration.

[0111] Optionally, after obtaining the second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service, the method further comprises the following steps.

[0112] Under the parallel running condition of the foreground service and the background interference service, obtaining a service parameter of the background interference service.

[0113] In the optional embodiment, after the periodic background interference service is run, a parallel thread is started to acquire the service parameter of the background interference service in the case of parallel running of the foreground service and the background interference service, so as to determine whether the I / O load provided by the distributed block storage cluster for the background interference service can support the normal running of the background interference service. The service parameter represents the running state of the background interference service. For example, when the running background interference service is disk defragmentation, the service parameter can be the disk defragmentation speed; when the running background interference service is disk inspection, the service parameter can be the disk inspection speed.

[0114] S340, stop applying foreground service pressure to the distributed block storage cluster.

[0115] In the embodiment of the application, after the performance test is completed for different foreground service pressures, the injection of the foreground service pressure to the distributed block storage cluster is stopped, so as to test the performance of the distributed block storage cluster when only the background interference service is run.

[0116] S350, run the background interference service in the distributed block storage cluster.

[0117] S360, acquire the third performance parameter of the distributed block storage cluster when the background interference service is run.

[0118] In the embodiment of the application, after the foreground service pressure is applied to the distributed block storage cluster, the background interference service is run in the distributed block storage cluster according to the set interference period. At the same time, the third performance parameter of the distributed block storage cluster when only the background interference service is run is acquired, so as to determine the performance of the distributed block storage cluster when only the background interference service is run.

[0119] The technical solution of the embodiment of the application respectively acquires the first performance parameter of the distributed block storage cluster under the foreground service pressure, the second performance parameter of the distributed block storage cluster in the case of parallel running of the foreground service and the background interference service, and the third performance parameter of the distributed block storage cluster when the background interference service is run. The above test results can provide a reference basis for guaranteeing the subsequent service quality of the distributed block storage cluster.

[0120] Figure 4a A flowchart of a performance test method provided by the embodiment of the application is shown in FIG. 4. Figure 4a As shown in the figure, the method comprises the following steps.

[0121] S410, acquire the maximum I / O load of the distributed block storage cluster in the to-be-tested service mode.

[0122] S420, start a multi-thread task, apply foreground service pressure to the distributed block storage cluster, and acquire the first performance parameter of the distributed block storage cluster.

[0123] The specific test flow is as shown in Figure 4b First, thread 1 and thread 2 are run.

[0124] Thread 1: control the stressor to apply a foreground service pressure of 10% of the maximum I / O load to the distributed block storage cluster;

[0125] Thread 2: collect software and hardware performance parameters of the distributed block storage cluster under the foreground service pressure according to a set sampling period. At the same time, abnormal problems that may occur, such as disk failure, can be monitored to avoid invalid testing.

[0126] S430, after the foreground service I / O provided by the distributed block storage cluster is stabilized, the background interference service and the background service monitoring thread are started under the foreground service pressure. At this time, the following four threads are run in parallel.

[0127] Thread 1: control the stressor to apply a foreground service pressure of 10% of the maximum I / O load to the distributed block storage cluster;

[0128] Thread 2: collect software and hardware performance parameters of the distributed block storage cluster under the foreground service pressure according to a set sampling period;

[0129] Thread 3: start the background interference service. For example, disk inspection service, defragmentation service, etc.

[0130] Thread 4: obtain the running parameters of the background interference service. For example, disk inspection speed, defragmentation speed, etc.

[0131] According to the set interference period, the above threads 3 and 4 are started and stopped multiple times, and multiple sets of comparison data can be obtained to determine the influence of the background interference service on the foreground service and reduce the testing error.

[0132] S440, continue to increase the foreground service pressure to the distributed block storage cluster, and repeat S420-S430, and in turn, until the foreground service pressure applied to the distributed block storage cluster is equal to the maximum I / O load.

[0133] S450, stop injecting the foreground service pressure, and start the background interference service and the background service monitoring thread.

[0134] S460, select the next service mode to be tested, and repeat S410-S450.

[0135] In the embodiment of the present application, the test result can be intuitively displayed by generating icons according to the test result, and a test report can be provided, so that the tester can intuitively obtain the performance of the distributed block storage cluster under different foreground service pressures and the influence of the background interference service on the foreground service. For example, as shown in Figure 4c the chart can show the interference of the background interference service on the foreground I / O load under different foreground service pressures.

[0136] The technical solution of the embodiment of the present application first obtains the maximum input and output I / O load of the distributed block storage cluster under a to-be-tested service mode, then applies foreground service pressure to the distributed block storage cluster according to the maximum I / O load, and obtains a first performance parameter of the distributed block storage cluster under the foreground service pressure, further, under the foreground service pressure, the background interference service is run in the distributed block storage cluster according to a set interference period, and a second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service is obtained, by periodically running the background interference service under the foreground service pressure, the influence of the background interference service on the foreground service can be determined, which provides a reference basis for resource allocation of the distributed block storage cluster.

[0137] Figure 5 A structural schematic diagram of a performance testing device provided by the embodiment of the present application is shown in Figure 5 The device comprises:

[0138] The maximum load determination module 510 is configured to obtain the maximum input and output I / O load of the distributed block storage cluster under a to-be-tested service mode.

[0139] The first performance parameter acquisition module 520 is configured to apply foreground service pressure to the distributed block storage cluster according to the maximum I / O load, and obtain a first performance parameter of the distributed block storage cluster under the foreground service pressure.

[0140] The second performance parameter acquisition module 530 is configured to run a background interference service in the distributed block storage cluster under the foreground service pressure, and obtain a second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service.

[0141] The technical scheme of the embodiment of the application first acquires the maximum input / output (I / O) load of a distributed block storage cluster under a service mode to be tested, then applies foreground service pressure to the distributed block storage cluster according to the maximum I / O load, and acquires a first performance parameter of the distributed block storage cluster under the foreground service pressure, further, under the foreground service pressure, a background interference service is run in the distributed block storage cluster, and a second performance parameter of the distributed block storage cluster under the parallel condition of the foreground service and the background interference service is acquired, by running the background interference service under the foreground service pressure, the influence of the background interference service on the foreground service can be determined, thereby providing a reference basis for resource allocation of the distributed block storage cluster.

[0142] Optionally, the maximum load determination module 510 comprises:

[0143] An initial pressure applying unit is configured to apply initial foreground service pressure associated with the service mode to be tested to the distributed block storage cluster, and acquire a test performance parameter of the distributed block storage cluster under the initial foreground service pressure.

[0144] A pressure increasing unit is configured to increase foreground service pressure to the distributed block storage cluster according to the test performance parameter, and continuously acquire a test performance parameter after pressure increasing.

[0145] A maximum load determination unit is configured to determine that the I / O load provided by the current distributed block storage cluster is the maximum I / O load when the test performance parameter reaches a first threshold value.

[0146] Optionally, the pressure increasing unit is specifically configured to:

[0147] When the test performance parameter does not reach a second threshold value, increase foreground service pressure to the distributed block storage cluster at a first pressure increasing amplitude.

[0148] When the test performance parameter reaches the second threshold value, increase foreground service pressure to the distributed block storage cluster at a second pressure increasing amplitude; the first pressure increasing amplitude is greater than the second pressure increasing amplitude.

[0149] Optionally, the first performance parameter acquisition module 520 is specifically configured to:

[0150] Determine foreground service pressure corresponding to a current test stage according to the maximum I / O load and stage pressure increasing parameters.

[0151] Apply foreground service pressure matched with the current test stage to the distributed block storage cluster.

[0152] Optionally, the performance test device further comprises:

[0153] The front-end service pressure stopping module is configured to stop applying front-end service pressure to the distributed block storage cluster.

[0154] The background interference service running module is configured to run a background interference service in the distributed block storage cluster.

[0155] The third performance parameter obtaining module is configured to obtain a third performance parameter of the distributed block storage cluster when the background interference service is running.

[0156] Optionally, the performance testing device further comprises:

[0157] The service parameter obtaining module is configured to obtain a service parameter of the background interference service when the front-end service and the background interference service are running in parallel.

[0158] Optionally, the background interference service comprises at least one of disk inspection, disk defragmentation, disk expansion, data balancing, and data migration.

[0159] The performance testing device provided by the embodiments of the present application can execute the performance testing method provided by any of the embodiments of the present application, and has the corresponding functional modules and beneficial effects of the execution method.

[0160] Figure 6 A structural schematic diagram of an electronic device 10 that can be used to implement embodiments of the present application is shown. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular telephones, smart phones, wearable devices (e.g., headsets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not intended to limit the implementations of the present application described and / or claimed in this document.

[0161] As Figure 6As shown, the electronic device 10 includes at least one processor 11, and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., communicatively connected to the at least one processor 11, where the memory stores a computer program executable by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or loaded from the storage unit 18 into the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0162] Various components in the electronic device 10 are connected to the I / O interface 15, including an input unit 16, such as a keyboard, a mouse, etc., an output unit 17, such as various types of displays, a speaker, etc., a storage unit 18, such as a magnetic disk, an optical disk, etc., and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.

[0163] The processor 11 can be various general and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 performs various methods and processes described above, such as the performance test method.

[0164] In some embodiments, the performance test method can be implemented as a computer program tangibly embodied in a computer readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded onto the RAM 13 and executed by the processor 11, one or more steps of the performance test method described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to perform the performance test method by any other appropriate means, such as by means of firmware.

[0165] The various embodiments of the systems and techniques described above can be implemented in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a complex programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0166] Computer programs used to implement the processes of the application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer program

[0167] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store computer programs for use by or in connection with an instruction execution system, apparatus, or device. Computer-readable storage media can include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0168] To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0169] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0170] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. A server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.

[0171] It should be understood that the various forms of flow shown above can be re-ordered, added to, or deleted from without departing from the scope of the present disclosure. For example, the steps recited in the present disclosure can be executed in parallel, executed in sequence, or executed in a different order, as long as the desired results of the present disclosure are achieved, and the present disclosure is not limited herein.

[0172] The specific embodiments described above are not intended to be limiting, and persons skilled in the art will appreciate that various modifications, combinations, sub-combinations and alternatives can be made to the specific embodiments without departing from the spirit and principles of the disclosure. Accordingly, the disclosure is not limited to the specific embodiments described above, but only by the scope of the appended claims.

Claims

1. A performance test method characterized by, The method comprises the following steps: obtaining the maximum input / output (I / O) load of a distributed block storage cluster under a to-be-tested service mode; applying foreground service pressure to the distributed block storage cluster according to the maximum I / O load, and obtaining a first performance parameter of the distributed block storage cluster under the foreground service pressure; running a background interference service on the distributed block storage cluster under the foreground service pressure, and obtaining a second performance parameter of the distributed block storage cluster under the parallel running of the foreground service and the background interference service.

2. The method of claim 1, wherein, The method for obtaining the maximum I / O load of the distributed block storage cluster under the to-be-tested service mode comprises the following steps: applying initial foreground service pressure associated with the to-be-tested service mode to the distributed block storage cluster, and obtaining a test performance parameter of the distributed block storage cluster under the initial foreground service pressure; increasing the foreground service pressure of the distributed block storage cluster according to the test performance parameter, and continuously obtaining a test performance parameter after the pressure increase; in the case that the test performance parameter reaches a first threshold value, determining that the I / O load provided by the current distributed block storage cluster is the maximum I / O load.

3. The method of claim 2, wherein, The method for increasing the foreground service pressure of the distributed block storage cluster according to the test performance parameter comprises the following steps: in the case that the test performance parameter does not reach a second threshold value, increasing the foreground service pressure of the distributed block storage cluster at a first pressure increase rate; in the case that the test performance parameter reaches the second threshold value, increasing the foreground service pressure of the distributed block storage cluster at a second pressure increase rate; the first pressure increase rate is greater than the second pressure increase rate.

4. The method of claim 1, wherein, The method for applying foreground service pressure to the distributed block storage cluster according to the maximum I / O load comprises the following steps: determining the foreground service pressure corresponding to the current test stage according to the maximum I / O load and a stage pressure increase parameter; applying the foreground service pressure matched with the current test stage to the distributed block storage cluster.

5. The method of claim 1, wherein, After obtaining the second performance parameter of the distributed block storage cluster under the parallel running of the foreground service and the background interference service, the method further comprises the following steps: stopping applying the foreground service pressure to the distributed block storage cluster; running the background interference service on the distributed block storage cluster; obtaining a third performance parameter of the distributed block storage cluster under the running of the background interference service.

6. The method of claim 1, wherein, After obtaining the second performance parameter of the distributed block storage cluster under the parallel running of the foreground service and the background interference service, the method further comprises the following steps: obtaining a service parameter of the background interference service under the parallel running of the foreground service and the background interference service.

7. The method according to any of claims 1 to 6, characterized in that The background interference service comprises at least one of disk inspection, disk defragmentation, disk expansion, data balancing, and data migration.

8. A performance testing apparatus characterized by comprising: The method comprises the following steps: a maximum load determination module, configured to obtain the maximum I / O load of a distributed block storage cluster under a to-be-tested service mode; a first performance parameter obtaining module, configured to apply foreground service pressure to the distributed block storage cluster according to the maximum I / O load, and obtain a first performance parameter of the distributed block storage cluster under the foreground service pressure; A second performance parameter acquisition module is configured to run a background interference service in the distributed block storage cluster under the foreground service pressure, and acquire a second performance parameter of the distributed block storage cluster under a parallel condition of the foreground service and the background interference service.

9. An electronic device, comprising: The electronic device includes: at least one processor; and a memory connected to the at least one processor in communication; wherein The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the performance test method in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions, and the computer instructions are used to enable the processor to implement the performance test method in any one of claims 1-7 when executed.

Citation Information

Patent Citations

  • A performance test method of distributed file storage system

    CN109213666A

  • Load balancing method, system and device

    CN113377530A