Load determination method and device of server and storage medium

By obtaining reference models and reference services, and using their historical load data to determine the server load of the model to be tested, the problem of low accuracy in server power consumption prediction in the prior art is solved, and the power utilization rate is improved and the risk of overpowering is reduced.

CN119690788APending Publication Date: 2025-03-25HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311247280.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-25
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

The prior art has low accuracy when estimating server power consumption, resulting in low power utilization of cabinets and risk of overpowering.

Method used

By obtaining the reference model of the model to be tested and the reference service of the service to be tested, the second load scenario of the same load type is determined from the load scenario where the reference model runs the reference service, and the load of the server of the model to be tested is determined based on its historical load data.

Benefits of technology

It improves the accuracy of server load, enhances the predictive ability of server power consumption, thereby improving cabinet power utilization and reducing overpower risk.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119690788A_ABST
    Figure CN119690788A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a load determination method and device of a server and a storage medium. In the embodiment of the invention, a reference model of a to-be-tested model and a reference service of a to-be-tested service can be acquired; determining a second load scene belonging to the same load type as the first load scene in which the to-be-tested machine type operates the to-be-tested service from the load scenes in which the reference machine type operates the reference service; and then, according to the historical load data of the second load scene, determining the load of the to-be-tested model running the to-be-tested service. When the to-be-tested machine type is determined to operate the load of the to-be-tested service, not only are the reference machine type of the to-be-tested machine type and the reference service of the to-be-tested service utilized, but also the historical load data of which the load scene is the same load type are utilized, so that the reference load information of the determined load is closer to the load of the to-be-tested machine type operating the to-be-tested service, and therefore, the reliability of the to-be-tested machine type is improved. And the accuracy of the determined to-be-tested model running the load of the to-be-tested service can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method, device and storage medium for determining a load of a server. Background Art

[0002] As an information infrastructure, data centers are a strong support for the development of the digital economy. Racks (also known as cabinets) are the infrastructure of data centers. They can be used as carriers to store servers and provide resources such as power and communications for servers. Since the power consumption that a rack can support is limited, in order to improve the utilization rate of cabinet resources, data centers need to reasonably set the number of servers in the cabinet.

[0003] In the existing data center planning scheme, the server allocation scheme is usually determined based on the total power consumption supported by each rack and the power consumption of each server, which requires accurate estimation of server power consumption. The server load is an important factor affecting the server power consumption, so accurate estimation of server load helps to improve the accuracy of server power consumption prediction. Summary of the invention

[0004] Multiple aspects of the present application provide a method, device, and storage medium for determining a server load, so as to improve the accuracy of a predicted server load.

[0005] The present application provides a method for determining a server load, including:

[0006] Obtain reference models of the model to be tested and reference services of the service to be tested;

[0007] Obtaining a target load type of a first load scenario in which a server of the model to be tested runs the service to be tested;

[0008] Determine, from the load scenario of the reference service being run by the server of the reference machine model, a second load scenario whose load type is the target load type;

[0009] Acquire historical load data of the second load scenario;

[0010] According to the historical load data of the second load scenario, a first load of the server of the model to be tested running the service to be tested is determined.

[0011] The embodiment of the present application further provides a computing device, comprising: a memory and a processor; wherein the memory is used to store a computer program;

[0012] The processor is coupled to the memory and is configured to execute the computer program to perform the steps in the above-mentioned method for determining the load of the server.

[0013] An embodiment of the present application also provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the steps in the above-mentioned method for determining the load of the server.

[0014] In an embodiment of the present application, a reference model of the model to be tested and a reference service of the service to be tested can be obtained; and from the load scenario of the reference model running the reference service, a second load scenario belonging to the same load type as the first load scenario of the model to be tested running the service to be tested can be determined; thereafter, the load of the model to be tested running the service to be tested can be determined based on the historical load data of the second load scenario. Since when determining the load of the model to be tested running the service to be tested, not only the reference model of the model to be tested and the reference service of the service to be tested are used, but also the historical load data of the same load type of the load scenario is used, so that the reference load information for determining the load is closer to the load of the model to be tested running the service to be tested, thus helping to improve the accuracy of the load determined for the model to be tested running the service to be tested. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0016] Figure 1 A flow chart of a method for determining a server load provided in an embodiment of the present application;

[0017] Figure 2 A schematic diagram of a specific implementation process of the method for determining the load of a server provided in an embodiment of the present application;

[0018] Figure 3 A schematic diagram of a load correction process provided in an embodiment of the present application;

[0019] Figure 4 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0020] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0021] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0022] A data center is a computer room that can accommodate a large number of servers and related power distribution, network and cooling equipment, and can control applications used to store, manage and process data. Therefore, the data center as a whole can be regarded as a warehouse-sized computer, or simply as a server cluster.

[0023] When setting up a data center, you need to consider the total cost of the data center, including: servers, cabinets, power consumption, network equipment, and maintenance costs. Since the power consumption that a cabinet can support is limited, the power consumption needs to be estimated before the server is deployed in the cabinet to decide how many servers to deploy in a cabinet. If the estimated server power consumption is too low, it may lead to too many servers being deployed in the cabinet, which will cause the cabinet to be overpowered. Cabinet overpowering means that the actual power consumption of the servers deployed in the cabinet is greater than the rated power of the cabinet. If the estimated server power consumption is too high, it may lead to too few servers being deployed in the cabinet, resulting in low cabinet power utilization. Therefore, accurate power consumption estimation is crucial to the safe and economical operation of data centers.

[0024] Server power consumption estimation generally includes: using rated power consumption as the server rack power consumption and estimating the server rack power consumption using the power consumption dictionary of the server under a given load. In an embodiment of the present application, server rack refers to the deployment of the server in a cabinet; server rack power consumption refers to the power consumed by the server deployed in the cabinet. The power consumption dictionary stores the relationship between the server load and the server power consumption. Among them, the server load refers to the resource utilization of the server when the server is running. Among them, the resources of the server include but are not limited to: processor resources and storage resources. Processor resources can be central processing unit (CPU) resources, graphics processing unit (GPU) and / or field programmable gate array (FPGA) resources, etc.

[0025] The power consumption dictionary of the server can be obtained by fully loading other types of resources of the server except the processor in a given experimental environment, testing the relationship between the change of the server power consumption and the processor load, and obtaining the relationship between the server processor load and the power consumption, that is, obtaining the power consumption dictionary of the server. For example, in a given experimental environment, the power consumption of the server corresponding to the processor load rate of 10%, 20%, ..., 100% can be tested by fully loading other components of the server except the processor, and obtaining the relationship curve between the processor load and the power consumption, that is, obtaining the power consumption dictionary of the server. In general, the power consumption of the server is positively correlated with the processor load, that is, the greater the processor load, the greater the server power consumption.

[0026] As for using the rated power consumption as the rack power consumption of the server, since the daily power consumption of most servers is lower than the rated power consumption, the estimated power consumption is too high when the rated power consumption is used as the rack power consumption of the server, resulting in a low number of servers deployed on the cabinet, and then resulting in low power utilization of the cabinet.

[0027] For the solution of estimating the server rack power consumption using the power consumption dictionary at a given load rate, since the daily load rate of the server is usually lower than the load rate given by the server demander, the server power consumption estimated using the power consumption dictionary at the given load rate by the server demander is usually too high, which will also lead to a low number of servers deployed on the cabinet, thereby resulting in low cabinet power utilization.

[0028] In order to improve the power utilization rate of the cabinet, in some embodiments of the present application, a reference model of the model to be tested and a reference service of the service to be tested can be obtained; and from the load scenario of the reference model running the reference service, a second load scenario of the same load type as the first load scenario of the model to be tested running the service to be tested can be determined; then, the load of the model to be tested running the service to be tested can be determined based on the historical load data of the second load scenario. Since when determining the load of the model to be tested running the service to be tested, not only the reference model of the model to be tested and the reference service of the service to be tested are used, but also the historical load data of the same load type of the load scenario is used, so that the reference load information of the load is determined to be closer to the load of the model to be tested running the service to be tested, thus helping to improve the accuracy of the load determined for the model to be tested running the service to be tested.

[0029] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0030] It should be noted that the same reference numerals denote the same objects in the following drawings and embodiments, and therefore, once an object is defined in one drawing or embodiment, it does not need to be further discussed in the subsequent drawings and embodiments.

[0031] Figure 1The following is a flow chart of a method for determining the load of a server provided in an embodiment of the present application. Figure 1 As shown, the method mainly includes:

[0032] 101. Obtain a target load type of a first load scenario in which a server of a model to be tested runs a service to be tested.

[0033] 102. Obtain a reference model of the model to be tested and a reference service of the service to be tested.

[0034] 103. Determine a second load scenario whose load type is a target load type from load scenarios of a reference service run by a server of a reference model.

[0035] 104. Obtain historical load data of a second load scenario.

[0036] 105. Determine the load of the server of the model to be tested running the service to be tested according to the historical load data of the second load scenario.

[0037] In this embodiment, the model refers to the server, that is, the model of the physical machine. Service refers to the service or application running on the server, such as cloud desktop service, cloud application, cloud communication service, instant messaging service, live broadcast service or computing service. Load scenario refers to the scenario in which a server of a certain model runs a certain service. At least one of the models and services corresponding to different load scenarios is different, that is, the models and / or services corresponding to different load scenarios are different.

[0038] Among them, the load of the load scenario refers to: the server load caused by the server of the model corresponding to the load scenario running the service corresponding to the load scenario, that is, the resource utilization of the server when the server of the model corresponding to the load scenario runs the service corresponding to the load scenario.

[0039] The power consumption profile is usually closer to the actual power consumption than the rated power consumption and the power consumption dictionary. Therefore, using the power consumption profile to estimate the server rack power can improve power utilization. In actual applications, the power consumption of the server is not easy to collect directly. Generally, the server load is collected, and the corresponding relationship between the server load and power consumption is recorded by the server power consumption dictionary to convert the collected server load data into the server power consumption. Therefore, when performing power consumption profiling for the server running service, the historical load data of the server running service is generally used to perform load profiling for the server; and then the power consumption dictionary corresponding to the server is used to convert the load profile into the power consumption profile of the server.

[0040] The existing server load profiling method is to collect statistics on the historical load of the server, which is mainly used for mature service models. Among them, mature service models refer to mature models running mature services. Mature models refer to models that are deployed in cabinets and the actual load data generated reaches (greater than or equal to) the set data volume threshold. The set data volume threshold can be flexibly set according to the accuracy requirements of the load profile. Among them, the higher the accuracy requirements of the load profile, the larger the data volume threshold. Mature services refer to services or applications where the data volume of the actual load data generated by the model deployed in the cabinet running the service reaches the set data volume threshold. Correspondingly, mature service models refer to models that have been deployed in the cabinet for a long enough time, and the model has run one or some services for a long enough time, generating enough actual load data, which can accurately profile the load of the server running one or some services. The model runs the service for a long enough time, which can be achieved that the length of time the model runs the service is greater than or equal to the set length of time threshold.

[0041] However, the method of load profiling the server based on historical load data requires sufficient historical load data and the future load distribution is consistent with the historical load distribution. For new server models or new services (referred to as new service models), if there is not enough historical load data to profile the server, or if the new service model generates historical load data for a short time and has a low load rate, the historical load distribution of the new service model may not be equal to the future load distribution, which may also lead to inaccurate load profiling.

[0042] The above-mentioned new service models refer to service models that have not generated enough actual load data to profile the load of the server, and may include: new models and / or new services. Specifically, new service models may include: new models of servers running new services, new models of servers running mature services, and / or mature models of servers running new services, etc. Among them, new models refer to models that have not yet been deployed in the cabinet and / or models that are deployed in the cabinet but have not yet generated enough actual power consumption data. Not generating enough actual power consumption data means that the amount of actual power consumption data generated does not reach the set data volume threshold. A new service refers to a service or application that has not yet been run by the server deployed in the cabinet, and / or a service or application in which the amount of actual power consumption data generated by the model deployed in the cabinet running the service has not reached the set data volume threshold.

[0043] The server load determination method provided in the embodiment of the present application is applicable to the load scenario of any model of server running any service. Since there is enough actual load data for the load scenario of mature models running mature services, the server load determination method provided in the embodiment of the present application is mainly applied to the load scenario of new service models, that is, the load scenario of new models of servers running new services, and / or the load scenario of mature models of servers running new services, and / or the load scenario of new models of servers running mature services, etc.

[0044] Optionally, at least one of the machine model to be tested and the service to be tested is new. That is, the load scenario of the server of the machine model to be tested running the service to be tested can be the load scenario of a new machine model server running a new service, the load scenario of a mature machine model server running a new service, or the load scenario of a new machine model server running a mature service.

[0045] In an embodiment of the present application, since the amount of actual load data generated by the load scenario of the service to be tested running on the model to be tested has not yet reached the set data amount threshold, a load portrait is performed on the load scenario of the service to be tested running on the model to be tested based on the actual load data generated by the service to be tested running on the model to be tested, and the accuracy of the obtained load portrait is relatively low.

[0046] Therefore, in order to determine the load of the server of the model to be tested running the service to be tested, in step 101, a reference model of the model to be tested and a reference service of the service to be tested may be obtained. Specifically, the reference model of the model to be tested may be obtained from the models deployed in the cabinet. The cabinet is a cabinet in a data center or a computer room. The reference model of the model to be tested may be the model to be tested itself, or a similar model to the model to be tested.

[0047] In the embodiment of the present application, the specific implementation method of obtaining the reference model of the model to be tested is not limited. In some embodiments, the technical personnel or maintenance personnel of the data center can pre-set the reference model of each model; and pre-store the correspondence between the model and the reference model in the device, equipment or module for determining the load of the server. Further, step 101 can be implemented as: matching the correspondence between the preset model and the reference model according to the identification of the model to be tested to obtain the reference model corresponding to the model to be tested. In the embodiment of the present application, the reference model of the model to be tested may be the model to be tested deployed in the cabinet. The reference model may be the model to be tested, or it may be other models among the models deployed in the cabinet. The reference model is generally a mature model defined above.

[0048] In some embodiments, the reference model may be a model deployed in a cabinet, of the same generation as the model of the next generation, and providing the same resource types as the model to be tested. Generation refers to the generation of the model, such as first generation, second generation, etc. The resource type provided by the model refers to the resource type mainly provided by the model, such as the resources provided by the model are computing resources, storage resources or network resources, etc. For another example, the resources provided by the model are the hardware resources themselves, such as graphics processing unit (GPU) resources, etc. And / or, the reference model is a model deployed in a cabinet and running the service to be tested; and / or, the reference model is a model deployed in a cabinet, and the similarity between the power consumption dictionary and the power consumption dictionary of the model to be tested meets the set similarity conditions.

[0049] The power consumption dictionary of the reference model and the power consumption dictionary of the model to be tested can be obtained by pre-testing under given experimental conditions. For the specific implementation of obtaining the power consumption dictionary of the reference model and the power consumption dictionary of the model to be tested, please refer to the relevant content of the above embodiment, which will not be repeated here.

[0050] The similarity between the power consumption dictionary of the reference model and the power consumption dictionary of the model to be tested can be characterized by the distance between the power consumption dictionary of the reference model and the power consumption dictionary of the model to be tested. The distance between the power consumption dictionary of the reference model and the power consumption dictionary of the model to be tested can be Euclidean distance, cosine distance, Manhattan distance, etc.

[0051] In practical applications, the correspondence between the load and power consumption recorded in the power consumption dictionary can be represented by an algebraic expression. The independent variable of the algebraic expression is the load, and the dependent variable is the power consumption. For example, y=f(x). x represents the load, y represents the power consumption, and f represents the functional relationship between the load and the power consumption. The algebraic expressions of the power consumption dictionaries of different models have the same form of the independent variable x, and the coefficients of x may be the same or different. Based on this, the similarity between the power consumption dictionary of the reference model and the power consumption dictionary of the model to be tested can also be expressed by 1 minus the relative error. Among them, the relative error refers to: the coefficient of the algebraic expression of the power consumption dictionary of the reference model, and the relative error between the system of the algebraic expression of the power consumption dictionary of the test model.

[0052] In some embodiments, the similarity condition set above can be implemented as: the similarity is the greatest. Accordingly, the reference model is a model deployed in a cabinet, and the power consumption dictionary has the greatest similarity with the power consumption dictionary of the model to be tested. In some embodiments, the similarity condition set above can be implemented as: the similarity is greater than or equal to a set similarity threshold, such as 80%, 90%, 95% or 98%. Accordingly, the reference model is a model deployed in a cabinet, and the power consumption dictionary has a similarity with the power consumption dictionary of the model to be tested that is greater than or equal to the set similarity threshold.

[0053] Based on the above screening principle, in the embodiment of the present application, the reference model can also be automatically obtained by the computing device. Accordingly, in the above step 101, obtaining the reference model of the model to be tested can be implemented as at least one of the following implementations:

[0054] Implementation method a1: obtaining the model to be tested from the models deployed in the cabinet as a reference model.

[0055] Implementation method a2: From the models deployed in the cabinet, a model with the same generation as the model to be tested and providing the same resource type as the model to be tested is obtained as a reference model.

[0056] Implementation method a3: From the machine models deployed in the cabinet, obtain the machine model running the service to be tested as a reference machine model.

[0057] Implementation method a4: From the models deployed in the cabinet, a model whose power consumption dictionary and the power consumption dictionary of the model to be tested have similarities that meet a set similarity condition is obtained as a reference model.

[0058] The above embodiments a1-a4 can be implemented one by one or in combination. Multiple means 2 or more. When multiple embodiments a1-a4 are implemented in combination, the reference model determined by any one of the embodiments can be used as the reference model in step 101.

[0059] Optionally, when multiple combinations of the above-mentioned embodiments a1-a4 are implemented, when multiple reference models are determined by the multiple embodiments, some or all of the reference models can be arbitrarily selected from the multiple reference models determined as the reference models in step 101.

[0060] Alternatively, if the multiple implementations implemented in combination include the above-mentioned implementation a1, and the reference models determined by the multiple implementations include the reference model determined by the implementation a1, the reference model determined by the implementation a1 is selected as the reference model in step 101. If the above-mentioned implementation a1 does not determine a reference model, then any one of the reference models determined by other implementations is selected as the reference model in step 101, or all the reference models determined by other implementations are selected as the reference models in step 101.

[0061] or,

[0062] If the multiple implementations implemented in combination do not include implementation a1 but include implementation a4, and the reference models determined by the multiple implementations include the reference model determined by implementation a4, then the reference model determined by implementation a4 is selected as the reference model in step 101. If the above implementation a4 does not determine a reference model, then any one of the reference models determined by other implementations is selected as the reference model in step 101, or all the reference models determined by other implementations are selected as the reference models in step 101.

[0063] Of course, the technical staff or maintenance staff of the data center may also pre-set the reference service for each service. And the correspondence between the service and the reference service is pre-stored in the device, equipment or module for determining the load of the server. Further, obtaining the reference service for the service to be tested in step 101 may be implemented as follows: matching the service to be tested in the correspondence between the preset service and the reference service to obtain the reference service corresponding to the service to be tested. Generally, the reference service is a mature service running in the server in the cabinet. The reference service may be the service to be tested itself, or it may be other mature services running in the server in the cabinet.

[0064] In other embodiments, the reference service may be a similar service to the service to be tested. A similar service refers to a service whose similarity to the service to be tested satisfies a set similarity condition (such as the maximum similarity, or greater than or equal to a set similarity threshold). The similarity between different services may be characterized by service attributes of different services and / or resource demand characteristics of different services.

[0065] The service attributes of a service refer to information that can characterize the nature of the service. For example, the service attribute of an online shopping service can be online shopping; the service attribute of an online car-hailing service can be online car-hailing; the service attribute of a live broadcast service is live broadcast; the service attribute of a cloud communication service is communication, and so on. The resource demand characteristics of a service refer to information that can reflect the resource demand characteristics of a service, including but not limited to: the ownership attributes of the service for resources, and the resource demand of the service, etc. The ownership attributes of a service for resources refer to whether the service is a resource-exclusive type or a resource-sharing type.

[0066] Based on the above screening principle, the reference service can also be automatically obtained by the computing device. Accordingly, in the above step 101, obtaining the reference service of the service to be tested can also be implemented as: obtaining the reference service from the services running on the servers in the cabinet according to the service attributes and / or resource requirement characteristics of the service to be tested and the service attributes and / or resource requirement characteristics of the services running on the servers in the cabinet.

[0067] Specifically, the above-mentioned obtaining of reference services from the services run by the servers in the cabinet according to the service attributes and / or resource requirement characteristics of the service to be tested and the service attributes and / or resource requirement characteristics of the services run by the servers in the cabinet can be implemented in the following ways:

[0068] Implementation mode b1: obtaining a service to be tested from services running on a server in a cabinet as a reference service.

[0069] Implementation mode b2: according to the service attributes of the service to be tested and the service attributes of the services run by the servers in the cabinet, a service with the same service attributes as the service to be tested is obtained from the services run by the servers in the cabinet as a reference service.

[0070] Implementation method b3: according to the resource requirement characteristics of the service to be tested, a reference service is obtained from the services running on the servers in the cabinet.

[0071] Optionally, a first service having the same ownership attributes of resources as the service to be tested can be obtained from the services running on the servers in the cabinet; and based on the relative error between the resource demand of the first service and the resource demand of the service to be tested, a second service having a relative error less than or equal to a set error ratio can be obtained from the first service as a reference service.

[0072] Implementation mode b4: according to the service attributes and resource requirement characteristics of the service to be tested and the service attributes and resource requirement characteristics of the services run by the servers in the cabinet, a reference service is obtained from the services run by the servers in the cabinet.

[0073] Specifically, a first service can be obtained from the services running on the servers in the cabinet, whose service attributes are the same as those of the service to be tested and whose ownership attributes of resources are the same as those of the service to be tested; and based on the relative error between the resource demand of the first service and the resource demand of the service to be tested, a second service whose relative error is less than or equal to the set error ratio is obtained from the first service as a reference service.

[0074] The above implementation b1 can be implemented in combination with any one of the implementations b2-b4; of course, any one of the above implementations b1-b4 can be implemented alone. Generally, implementations b2-b4 are implemented one by one.

[0075] Optionally, when the above-mentioned implementation b1 is implemented in combination with any one of the implementations b2-b4, the reference service determined in implementation b1 and the reference service determined in any one of the implementations b2-b4 can be used as the reference service in the above-mentioned step 101; or, the reference service determined in implementation b1 is selected as the reference service in step 101.

[0076] The reference machine models and reference service acquisition methods shown in the above embodiments are merely illustrative and do not constitute limitations.

[0077] In order to improve the accuracy of the load of the server of the model to be tested running the service to be tested, in this embodiment, the load type of the load scenario can also be determined according to the load level of the same load scenario. The load type of the load scenario is used to reflect the load level of the load scenario. In the same load scenario where the same model runs the same service, there are great differences in the application loads of different users. For the same service A, different users have different load requirements for service A. Some users have more accounts registered in service A, while some users have fewer accounts registered in service A. The load requirements of users with more accounts are higher than those of users with fewer accounts. For example, for cloud desktop services, large companies have more employees and higher load requirements for cloud desktop services; small and micro companies have fewer employees and lower load requirements for cloud desktop services. For another example, for the same live broadcast service, although the servers of the same model all run the live broadcast service, the load of popular live broadcast users is much higher than that of niche live broadcast users, and so on.

[0078] Based on this, in some embodiments of the present application, for the same load scenario, the load type of the load scenario can be determined according to the load level corresponding to the same load scenario. The same load scenario can be further divided into multiple load types. Multiple means 2 or more. Multiple load types correspond to different load levels. For example, Figure 2 As shown, in some embodiments, the load scenario can be divided into a first load type and a second load type. The load corresponding to the first load type is higher than the load corresponding to the second load type. For example, the first load type can be a high load type; the second load type can be a low load type, etc.

[0079] When determining the load of the server of the model to be tested running the service to be tested, the load data of the load scenario of the same load type is used to determine the load of the server of the model to be tested running the service to be tested, which can improve the accuracy of the determined load. Based on this, in step 102, the target load type of the load scenario of the server of the model to be tested running the service to be tested can be obtained. Among them, the target load type can be any one of a plurality of load types. For example, the target load type can be the first load type or the second load type, etc.

[0080] Among them, Figure 2 As shown, the load scenario of the server of the model to be tested running the service to be tested can be predetermined and input into the load determination process of the server. Of course, the load scenario of the server of the model to be tested running the service to be tested can also be determined in real time.

[0081] Specifically, the historical load demand of the user requesting the service to be tested may be obtained. The historical load demand of the user of the service to be tested may reflect the historical load demand of the user. Further, the load type corresponding to the user may be determined according to the historical load demand of the user as the target load type.

[0082] Optionally, in an embodiment where the load type is divided into a first load type (such as a high load type) and a second load type (such as a low load type), a load threshold for determining which load type it is may be set. Among them, the load demand corresponding to the first load type is greater than the second load type. In the embodiment of the present application, the specific value of the load threshold is not limited. Optionally, the load threshold may be any ratio value between greater than 50% and less than 100%, such as the load threshold may be 60%, 65%, 70% or 80%, etc. Correspondingly, if the user's historical load demand is greater than or equal to the set load threshold, it is determined that the load type corresponding to the user is the first load type, that is, the load scenario of the server of the model to be tested running the service to be tested is the first load type; if the user's historical load demand is less than the set load threshold, it is determined that the load type corresponding to the user is the second load type, that is, the load scenario of the server of the model to be tested running the service to be tested is the second load type.

[0083] Correspondingly, in step 103, a load scenario in which the load type is the target load type can also be determined from the server of the reference model running the above-mentioned reference service. In an embodiment of the present application, for the convenience of description and distinction, the load scenario in which the server of the above-mentioned model to be tested runs the service to be tested is defined as a first load scenario; and the load scenario in which the load type is the target load type determined from the server of the reference model running the above-mentioned reference service is defined as a second load scenario. Wherein, when the reference model is the model to be tested and the reference service is the service to be tested, the second load scenario is the same load scenario as the first load scenario. When the reference model is not the model to be tested and / or the reference service is not the service to be tested, the second load scenario is a different load scenario from the first load scenario.

[0084] Further, in step 104, historical load data of the second load scenario may be obtained. The historical load data of the second load scenario is the actual load data of the second load scenario. Since the historical load data of the second load scenario of the target load type in the load scenario of the reference model running the reference service has a reference role in determining the load of the test model running the test service to a certain extent, therefore, in step 105, the load of the server of the test service running the test service may be determined based on the historical load data of the second load scenario.

[0085] In this embodiment, a reference model of the model to be tested and a reference service of the service to be tested can be obtained; and from the load scenario of the reference model running the reference service, a second load scenario of the same load type as the first load scenario of the model to be tested running the service to be tested can be determined; then, the load of the model to be tested running the service to be tested can be determined based on the historical load data of the second load scenario. Since when determining the load of the model to be tested running the service to be tested, not only the reference model of the model to be tested and the reference service of the service to be tested are used, but also the historical load data of the same load type of the load scenario is used, so that the reference load information for determining the load is closer to the actual load of the model to be tested running the service to be tested, and therefore, it helps to improve the accuracy of the load determined when the model to be tested runs the service to be tested.

[0086] In the embodiments of the present application, the specific implementation method of determining the load of the server of the service to be tested running the service to be tested based on the historical load data of the second load scenario is not limited. In some embodiments, the second load scenario can be load profiled based on the historical load data of the second load scenario to obtain a historical load profile of the second load scenario; and the load of the server of the service to be tested running the service to be tested is determined based on the historical load profile of the second load scenario. Load profiling generally refers to a means of describing the load characteristics of a load scenario using probabilistic statistical methods and historical load data of the load scenario, and the load profile of the load scenario obtained can reflect the load characteristics of the load scenario.

[0087] In the embodiments of the present application, the specific expression form of the load portrait is not limited. In some embodiments, the load portrait can be represented by a mathematical model, such as a distribution function, a probability density function, etc.; of course, the load portrait can also be represented by physical parameters to represent the power consumption distribution, such as load mean and load standard deviation, or load mean and load variance. Among them, the load mean can characterize the mean resource utilization of the server under the load scenario of the model running the service, and the load standard deviation or load variance can characterize the fluctuation of the resource utilization of the server under the load scenario of the model running the service. Therefore, the load mean and load standard deviation (or load variance) of the load scenario can provide a basis for determining the maximum load of the load scenario. Therefore, the load portrait can be characterized by the load mean and load standard deviation (or load variance).

[0088] For the embodiment in which the load profile is characterized by the load mean and load variance, the load profile of the second load scenario based on the historical load data of the second load scenario can be implemented as follows: based on the historical load data of the second load scenario, the load mean and load variance of the second load scenario are calculated as the historical load profile of the second load scenario. The historical load profile of the second load scenario is represented by the load mean and load variance of the second load scenario. Further, the maximum load of the second load scenario can be determined based on the load mean and load variance of the second load scenario as the load of the server of the tested model running the service to be tested.

[0089] In other embodiments, the historical load data of the second load scenario may also be sorted in order of size to obtain target historical load data arranged in order of size; thereafter, historical load data at a set percentile may be obtained from the target historical load data as the load of the server of the model to be tested running the service to be tested.

[0090] Optionally, the historical load data of the second load scenario can be sorted in order from small to large to obtain the target historical load data arranged in order from small to large. The quantile is set to be greater than the 50th percentile here, such as setting the quantile to the 70th percentile, 75th percentile, 80th percentile, 85th percentile or 90th percentile. The reason for setting the quantile to be greater than the 50th percentile is mainly because if the quantile value is too small, it may cause the predicted load of the server of the model to be tested running the service to be tested to be smaller than the actual load. Later, when planning the shelf operation of the server of the model to be tested to run the service to be tested, too many servers are planned to be put on the shelf, resulting in the power consumption of the servers on the shelf exceeding the rated power of the cabinet, bringing the risk of overpowering. Therefore, in this embodiment, the quantile is set to be greater than the 50th percentile.

[0091] Alternatively, the historical load data of the second load scenario can be sorted in order from large to small to obtain the target historical load data arranged in order from large to small. Accordingly, the quantile is set to be less than the 50th percentile, such as setting the quantile to the 5th percentile, 10th percentile, 15th percentile, 20th percentile or 25th percentile, etc. The reason why the quantile is set to be less than the 50th percentile here is mainly because if the quantile value is too large, it may cause the predicted load of the server of the model to be tested running the service to be tested to be smaller than the actual load. Later, when planning the shelf operation of the server of the model to be tested to run the service to be tested, too many servers are planned to be put on the shelf, resulting in the power consumption of the servers on the shelf exceeding the rated power of the cabinet, bringing the risk of overpowering. Therefore, in this embodiment, the quantile is set to be less than the 50th percentile.

[0092] The specific implementation of step 105 shown in the above embodiment is only for illustrative purposes and does not constitute a limitation.

[0093] In the embodiments of the present application, Figure 2As shown, in the historical load data of the data center, when there is historical load data of the same load scenario as the model under test running the service under test, the reference service of the service under test is the service under test itself; the reference model of the model under test is the model under test itself, then the load of the server of the model under test running the service under test can be determined based on the historical load data of the load scenario with the same service model and the load type being the target load type.

[0094] For example, Figure 2 As shown, if the target load type is the first load type (such as a high load type), the load of the server of the model to be tested running the service to be tested can be determined based on the historical load data of the load scenario of the same service model and the load type of the first load type. If the target load type is the second load type (such as a low load type), the load of the server of the model to be tested running the service to be tested can be determined based on the historical load data of the load scenario of the same service model and the load type of the second load type. Among them, the same service model means that the model is the same as the model to be tested, and the service running is the load scenario of the service to be tested.

[0095] In some embodiments, in the historical load data of the data center, there is no historical load data of the same load scenario as the model under test running the service under test, but there is historical load data of a service model similar to the service model under test. The service model under test refers to the first load scenario of the server of the model under test running the service under test, and the similar service model includes: a load scenario of a similar model of the model under test running the service under test, and / or a load scenario of a server of the model under test running a service similar to the service under test, and / or a load scenario of a similar model of the model under test running a service similar to the service under test. In the load scenario of a similar model of the model under test running the service under test, the reference model of the model under test is a similar model of the model under test, and the reference service of the service under test is the service under test itself. In the load scenario of a server of the model under test running a service similar to the service under test, the reference model of the model under test is the model under test itself, and the reference service of the service under test is a similar service of the service under test. In a load scenario where a similar machine model to the machine model under test runs a similar service to the service under test, the reference machine model of the machine model under test is a similar model to the machine model under test, and the reference service of the service under test is a similar service to the service under test.

[0096] Among them, similar models of the model to be tested can be determined by using the implementation methods a2-a3 shown in the above embodiment; similar services of the service to be tested can be determined by using the above implementation methods b2-b4.

[0097] In this embodiment, the load of the server of the model to be tested running the service to be tested can be determined based on the historical load data of the load scenario of similar service models and the load type of the target load type. Figure 2As shown, if the target load type is the first load type (such as a high load type), the load of the server of the model to be tested running the service to be tested can be determined based on the historical load data of the load scenario of similar service models and the load type of the first load type. If the target load type is the second load type (such as a low load type), the load of the server of the model to be tested running the service to be tested can be determined based on the historical load data of the load scenario of similar service models and the load type of the second load type.

[0098] In other embodiments, Figure 2 As shown, in the historical load data of the data center, there is no historical load data of the same load scenario as the model under test running the service under test, nor is there historical load data of a service model similar to the service model under test. In this case, the load of the server of the model under test running the service under test can be determined according to the default rules.

[0099] Specifically, in the default rules, multiple load types are configured with adapted loads, that is, the default rules may include: a correspondence between load types and loads. Among them, the higher the load demand corresponding to the load type, the higher the corresponding load in the correspondence. For example, the multiple load types include: a first load type and a second load type, then in the correspondence, the load corresponding to the first load type is higher than the load corresponding to the second load type. For example, in the correspondence between the load type and the load, the load corresponding to the first load type is 80%, and the load corresponding to the second load type is 40%.

[0100] Based on this, the load corresponding to the target load type can be obtained, and the load corresponding to the target load type can be determined as the load of the server of the model to be tested running the service to be tested. For example, if the target load type is the first load type, the load corresponding to the first load type can be determined as the load of the server of the model to be tested running the service to be tested. If the target load type is the second load type, the load corresponding to the second load type can be determined as the load of the server of the model to be tested running the service to be tested. Among them, the load corresponding to the first load type is higher than the load corresponding to the second load type.

[0101] After determining the load of the server of the machine model to be tested running the service to be tested, the load of the server of the machine model to be tested running the service to be tested may be output.

[0102] In some embodiments of the present application, in order to further improve the accuracy of the load of the server of the tested model running the tested service, such as Figure 3As shown, the actual load data of the server of the model to be tested running the service to be tested can also be obtained. The actual load data of the server of the model to be tested running the service to be tested can be obtained by the operation and maintenance personnel or technical personnel of the data center, who deploy the server of the model to be tested in the cabinet of the data center in advance, run the service to be tested in the server of the model to be tested, and collect the actual load data generated by the server of the model to be tested running the service to be tested.

[0103] Alternatively, there is a machine model to be tested deployed in a cabinet in the data center, and the machine model to be tested runs a service to be tested. However, when the load profile is performed on the machine model to be tested running the service to be tested, the amount of actual load data generated by the machine model to be tested running the service to be tested is less than the set data amount threshold, and these actual load data are not sufficient to accurately profile the load of the machine model to be tested running the service to be tested. Therefore, the actual load data generated by the server of the machine model to be tested running the service to be tested can also be collected.

[0104] Optionally, the actual load data of the server of the model to be tested that is obtained above when running the service to be tested may be actual load data that meets the inspection conditions. The inspection conditions may include: the amount of actual load data generated by the server of the model to be tested running the service to be tested is greater than or equal to the data amount threshold set above; and / or, the duration of the actual load data generated by the server of the model to be tested running the service to be tested is greater than or equal to the set duration threshold. The data amount threshold set here is the data amount threshold used to determine whether a mature model runs a mature service in the above embodiment. The duration threshold set here is the duration threshold used to determine whether a mature model runs a mature service in the above embodiment.

[0105] In some embodiments, Figure 3 As shown, the actual load data generated by the server of the tested model running the service to be tested can be used to perform an abnormality check on the load of the server of the tested model running the service to be tested obtained in the above step 105. For ease of description, in the following embodiment, the load of the server of the tested model running the service to be tested obtained in the above step 105 is defined as the first load.

[0106] Specifically, the relative error between the first load and the actual load data can be calculated; and according to the relative error between the first load and the actual load data, the load of the server of the tested model running the tested service obtained in the above step 105 is checked for abnormality. The relative error between the first load and the actual load data can be expressed as the average of the relative errors between the first load and each actual load data, such as the relative error ΔE between the first load and the actual load data can be expressed as:

[0107]

[0108] In formula (1), N represents the total number of actual load data of the server of the tested model running the tested service. i Indicates the i-th actual load data, i = 1, 2, ..., N. L 0 It indicates the first load of the server of the model to be tested obtained in the above step 105 running the service to be tested.

[0109] Further, if the relative error between the first load and the actual load data is less than the set error threshold, it is determined that the first load has passed the abnormality check and there is no need to correct the first load. If the relative error between the first load and the actual load data is greater than or equal to the set error threshold, it is determined that the first load has not passed the abnormality check and the first load needs to be corrected. In this embodiment, the specific value of the set error threshold is not limited. Optionally, the set error threshold is greater than 0 and less than 50%. For example, the set error threshold is 5%, 10%, 15%, 20% or 25%, etc.

[0110] Accordingly, if Figure 3 As shown, in order to improve the accuracy of the load determined when the machine model to be tested runs the service to be tested, when correcting the first load, the first load obtained in step 105 can be corrected according to the actual load data generated when the machine model to be tested runs the service to be tested, thereby obtaining another load when the server of the machine model to be tested runs the service to be tested. In the embodiment of the present application, in order to distinguish it from the first load obtained in the above step 105 when the server of the machine model to be tested runs the service to be tested, the load obtained by correcting the first load according to the actual load data generated when the server of the machine model to be tested runs the service to be tested is defined as the second load.

[0111] In this embodiment, the initial load is corrected by utilizing the actual load data generated by the test model running the service to be tested, thereby implementing adaptive adjustment of the load of the test model running the service to be tested. This can make the obtained load of the test model running the service to be tested as close as possible to its actual load, thereby helping to further improve the accuracy of the determined load of the test model running the service to be tested.

[0112] In the embodiments of the present application, the specific implementation method of correcting the first load obtained in step 105 using the actual load data generated by the machine model under test running the service under test is not limited. In some embodiments, a load profile can be performed on the server of the service under test running the service under test based on the actual load data generated by the server of the machine model under test running the service under test, so as to obtain an actual load profile of the server of the machine model under test running the service under test. Regarding the specific implementation method of load profiling the server of the service under test running the service under test based on the actual load data generated by the server of the machine model under test running the service under test, reference can be made to the above-mentioned content of performing load profiling on the second load scenario based on the historical load data of the second load scenario to obtain the relevant content of the historical load profile of the second load scenario, which will not be repeated here.

[0113] For the above-mentioned embodiment of characterizing the load portrait with load mean and load variance (or load standard deviation), based on the actual load data generated by the server of the model to be tested running the service to be tested, load profiling of the server of the service to be tested running the service to be tested can be implemented as follows: calculating the mean and variance of the actual load data, and characterizing the actual load data of the server of the model to be tested running the service to be tested with the mean and variance of the actual load data.

[0114] Further, if Figure 3 As shown, the first load can be corrected using the actual load profile of the server of the model to be tested running the service to be tested, so as to obtain the second load of the server of the model to be tested running the service to be tested.

[0115] Optionally, in order to prevent the determined load from being too small, when subsequently planning the shelves for the servers of the model to be tested to run the service to be tested, too many servers are planned to be put on the shelves, resulting in the power consumption of the put on the shelves exceeding the rated power of the cabinet, bringing the risk of cabinet overpowering. Based on this, the maximum load value of the server of the model to be tested running the service to be tested can be predicted according to the actual load portrait of the server of the model to be tested running the service to be tested. For example, for an embodiment in which the load portrait is characterized by the load mean and the load variance (or the load standard deviation), the maximum load value of the server of the model to be tested running the service to be tested can be the load mean plus the load standard deviation. Furthermore, the first load can be corrected to the predicted maximum load value to obtain the second load, that is, the second load is the predicted maximum load value.

[0116] In the embodiment of the present application, after determining the load (the first load or the corrected second load) of the tested model running the service to be tested, the power consumption of the server of the tested model running the service to be tested can be determined according to the load of the server of the tested model running the service to be tested and the power consumption dictionary of the tested model. Specifically, the load of the server of the tested model running the service to be tested can be brought into the algebraic expression corresponding to the power consumption dictionary of the tested model to calculate the power consumption of the server of the tested model running the service to be tested.

[0117] Furthermore, based on the power consumption of the server of the model to be tested running the service to be tested and the power information supported by the cabinet, the server running the service to be tested and of the model to be tested can be deployed in the cabinet. The power information supported by the cabinet may be the rated power of the cabinet. Optionally, based on the power consumption of the server of the model to be tested running the service to be tested and the power information supported by the cabinet, the number of servers of the model to be tested to be deployed in the cabinet and running the service to be tested and of the model to be tested can be determined; and the servers of the model to be tested to be deployed in the cabinet and running the service to be tested are based on the number. Among them, the number of servers of the model to be tested to be deployed in the cabinet and running the service to be tested is less than or equal to the rated power of the cabinet divided by the power consumption of the server of the model to be tested running the service to be tested, rounded down.

[0118] Since the load of the server of the model to be tested running the service to be tested determined by the embodiment of the present application is highly accurate, therefore, when the power consumption of the server of the model to be tested running the service to be tested is used, the power consumption of the server of the model to be tested running the service to be tested is predicted with high accuracy, so that the number of servers deployed in the cabinet running the service to be tested and of the model to be tested is determined with high accuracy. On the one hand, as many servers running the service to be tested and of the model to be tested as possible can be deployed in the cabinet to improve the power utilization rate of the cabinet; on the other hand, it can also prevent too many servers running the service to be tested and of the model to be tested from being deployed in the cabinet, reducing the risk of cabinet overpowering.

[0119] The method for determining the load of a server provided in the embodiment of the present application can be deployed on any computing device. Optionally, the method for determining the load of a server provided in the embodiment of the present application can also be deployed on a cloud server as a software as a service (SaaS) application. For a cloud server deployed with the SaaS application, the steps in the method for determining the load of the server described above can be executed in response to a request to call a target service.

[0120] In this embodiment, the target service refers to a service that provides a method for determining the load of a server. The processing resources corresponding to the target service refer to the processing resources required to execute the above rendering method, including but not limited to: processor resources, memory resources, and input / output (IO) resources.

[0121] The server load determination method provided in this embodiment can be deployed on a cloud server to provide users with a server load determination service for a target application, i.e., a target service. Optionally, the cloud server may provide an application programming interface (API) to the user. The service requester (i.e., the user) may call the API to call the target service. Accordingly, the request to call the target service is implemented as a call event generated by calling the API. The service requester (i.e., the user) may also call the target service through a remote procedure call (RPC) or remote direct memory access (RDMA) technology.

[0122] For the cloud server, in response to a request to call the target service, the processing resources corresponding to the target service can be determined; and the processing resources corresponding to the target service are used to execute steps 101 to 105 to determine the load of the server.

[0123] It should be noted that the execution subject of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution subject of steps 101 and 102 can be device A; for another example, the execution subject of step 101 can be device A, and the execution subject of step 102 can be device B; and so on.

[0124] In addition, in some of the processes described in the above embodiments and the accompanying drawings, multiple operations appearing in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel, and the serial numbers of the operations, such as 101, 102, etc., are only used to distinguish between different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel.

[0125] Accordingly, an embodiment of the present application also provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the steps in the above-mentioned server load determination method.

[0126] Figure 4 This is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. Figure 4 As shown, the computing device mainly includes: a memory 40a and a processor 40b. The memory 40a is used to store computer programs.

[0127] The processor 40b is coupled to the memory 40a, and is used to execute a computer program for: obtaining a reference model of the model to be tested and a reference service of the service to be tested; obtaining a target load type of a first load scenario in which the server of the model to be tested runs the service to be tested; determining a second load scenario with a load type of the target load type from the load scenario in which the server of the reference model runs the reference service; obtaining historical load data for the second load scenario; and determining a first load in which the server of the model to be tested runs the service to be tested based on the historical load data for the second load scenario.

[0128] In some embodiments, when the processor 40b obtains the target load type of the first load scenario in which the server of the model under test runs the service under test, it is specifically used to: obtain the historical load demand of the user who requested the service under test; and determine the load type corresponding to the user as the target load type based on the historical load demand.

[0129] Optionally, when the processor 40b determines the load type corresponding to the user based on the historical load demand, it is specifically used to: when the historical load demand is greater than or equal to the set load threshold, determine that the load type corresponding to the user is the first load type; when the historical load demand is less than the set load threshold, determine that the load type corresponding to the user is the second load type; wherein the load demand corresponding to the first load type is greater than the second load type.

[0130] Optionally, when obtaining a reference model of the model to be tested, the processor 40b is specifically used to: obtain the model to be tested from the models deployed in the cabinet as a reference model; and / or, obtain a model from the models deployed in the cabinet that has the same generation as the model to be tested and provides the same resource types as the model to be tested as a reference model; and / or, obtain a model running the service to be tested from the models deployed in the cabinet as a reference model; and / or, obtain a model from the models deployed in the cabinet whose power consumption dictionary and the power consumption dictionary of the model to be tested have a similarity that meets a set first similarity condition as a reference model.

[0131] Accordingly, when the processor 40b obtains a reference service for the service to be tested, it is specifically used to: obtain the service to be tested from the services run by the servers in the cabinet as a reference service; and / or obtain a reference service from the services run by the servers in the cabinet based on the service attributes and / or resource requirement characteristics of the service to be tested and the service attributes and / or resource requirement characteristics of the services run by the servers in the cabinet.

[0132] In some embodiments, when the processor 40b determines the first load of the server of the model to be tested running the service to be tested based on the historical load data of the second load scenario, it is specifically used to: sort the historical load data of the second load scenario in order of size to obtain target historical load data; and obtain historical load data at a set percentile from the target historical load data as the first load.

[0133] In other embodiments, the processor 40b is also used to: determine the power consumption of the server of the model to be tested running the service to be tested based on the first load and the power consumption dictionary of the model to be tested; the power consumption dictionary of the model to be tested includes: the correspondence between the load and power consumption corresponding to the model to be tested; and deploy a server that runs the service to be tested and is the model to be tested in the cabinet based on the power consumption of the model to be tested running the service to be tested and the power information supported by the cabinet.

[0134] In some other embodiments, the processor 40b is further used to: obtain actual load data of the server of the model under test running the service under test; and modify the first load according to the actual load data to obtain a second load of the server of the model under test running the service under test.

[0135] Further, when the processor 40b corrects the first load based on the actual load data, it is specifically used to: perform a load profile on the server of the service to be tested running the service to be tested based on the actual load data to obtain an actual load profile of the server of the service to be tested running the service to be tested; and use the actual load profile to correct the first load to obtain a second load of the server of the model to be tested running the service to be tested.

[0136] Optionally, when the processor 40b uses the actual load portrait to correct the first load, it is specifically used to: predict the maximum load of the server of the tested model running the tested service based on the actual load portrait; and correct the first load to the maximum load to obtain the second load.

[0137] In some embodiments of the present application, the processor 40b is also used to: before correcting the first load according to the actual load data, perform an abnormality check on the first load using the actual load data; if the first load fails the abnormality check, execute an operation of correcting the first load using the actual load portrait.

[0138] Optionally, when the processor 40b uses the actual load data to perform an abnormality check on the first load, it is specifically used to: calculate the relative error between the first load and the actual load data; if the relative error is greater than or equal to a set error threshold, determine that the first load has failed the abnormality check.

[0139] In some embodiments, the processor 40b is also used to: when a reference model and a reference service do not exist, obtain the load corresponding to a preset target load type, determine the load corresponding to the target load type, and run the load of the service to be tested on the server of the model to be tested.

[0140] In some optional embodiments, such as Figure 4 As shown, the computing device may also include optional components such as a communication component 40c and a power component 40d. In the embodiment of the present application, the computing device may be implemented as a server, or as a terminal device such as a computer or a mobile phone. Optionally, the computing device may also include a display component 40e and an audio component 40f. Figure 4 The components are shown schematically only and do not necessarily include Figure 4 The components shown do not necessarily mean that the computing device can only include Figure 4 Components shown.

[0141] The computing device provided in this embodiment can obtain a reference model of the model to be tested and a reference service of the service to be tested; and from the load scenario of the reference model running the reference service, determine a second load scenario of the same load type as the first load scenario of the model to be tested running the service to be tested; then, the load of the model to be tested running the service to be tested can be determined based on the historical load data of the second load scenario. Since when determining the load of the model to be tested running the service to be tested, not only the reference model of the model to be tested and the reference service of the service to be tested are used, but also the historical load data of the same load type of the load scenario is used, so that the reference load information for determining the load is closer to the load of the model to be tested running the service to be tested, thus helping to improve the accuracy of the load determined for the model to be tested running the service to be tested.

[0142] In an embodiment of the present application, the memory is used to store a computer program and can be configured to store various other data to support operations on the device where it is located. Among them, the processor can execute the computer program stored in the memory to implement the corresponding control logic. The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (Static Random-Access Memory, SRAM), electrically erasable programmable read only memory (Electrically Erasable Programmable Read Only Memory, EEPROM), erasable programmable read only memory (Electrical Programmable Read Only Memory, EPROM), programmable read only memory (Programmable Read Only Memory, PROM), read only memory (Read Only Memory, ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0143] In the embodiment of the present application, the processor can be any hardware processing device that can execute the logic of the above method. Optionally, the processor can be a central processing unit (CPU), a graphics processing unit (GPU) or a microcontroller unit (MCU); it can also be a field programmable gate array (FPGA), a programmable array logic device (PAL), a general array logic device (GAL), a complex programmable logic device (CPLD) and other programmable devices; or an advanced reduced instruction set (RISC) processor (Advanced RISC Machines, ARM) or a system on chip (SoC), etc., but not limited to this.

[0144] In an embodiment of the present application, the communication component is configured to facilitate wired or wireless communication between the device in which it is located and other devices. The device in which the communication component is located can access a wireless network based on a communication standard, such as Wireless Fidelity (WiFi), 2G or 3G, 4G, 5G or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component can also be based on Near Field Communication (NFC) technology, Radio Frequency Identification (RFID) technology, Infrared Data Association (IrDA) technology, Ultra Wide Band (UWB) technology, Bluetooth (BT) technology or other technologies.

[0145] In an embodiment of the present application, the display component may include a liquid crystal display (LCD) and a touch panel (TP). If the display component includes a touch panel, the display component may be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.

[0146] In an embodiment of the present application, a power supply component is configured to provide power to various components of the device in which it is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply component is located.

[0147] In an embodiment of the present application, the audio component may be configured to output and / or input audio signals. For example, the audio component includes a microphone (Microphone, MIC), and when the device where the audio component is located is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal may be further stored in a memory or sent via a communication component. In some embodiments, the audio component also includes a speaker for outputting an audio signal. For example, for a device with a language interaction function, voice interaction with a user can be achieved through an audio component.

[0148] It should be noted that the descriptions such as “first” and “second” in this article are used to distinguish different messages, devices, modules, etc., and do not represent the order of precedence, nor do they limit “first” and “second” to different types.

[0149] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, compact disc read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage, etc.) that contain computer-usable program code.

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

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

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

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

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

[0155] The storage medium of a computer is a readable storage medium, which may also be referred to as a readable medium. The readable storage medium includes permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. The information can be a computer-readable instruction, a data structure, a module of a program, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic cassettes, disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0156] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of further restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the above elements.

[0157] The above contents are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.

Claims

1. A method for determining a server load, characterized in that: include: Obtain reference models of the model to be tested and reference services of the service to be tested; Obtaining a target load type of a first load scenario in which a server of the model to be tested runs the service to be tested; Determine, from the load scenario of the reference service being run by the server of the reference machine model, a second load scenario whose load type is the target load type; Acquire historical load data of the second load scenario; According to the historical load data of the second load scenario, a first load of the server of the model to be tested running the service to be tested is determined.

2. The method according to claim 1, characterized in that The obtaining of the target load type of the first load scenario in which the server of the tested model runs the service to be tested includes: Obtaining historical load requirements of users requesting the service to be tested; According to the historical load demand, a load type corresponding to the user is determined as the target load type.

3. The method according to claim 2, characterized in that The determining, according to the historical load demand, a load type corresponding to the user includes: When the historical load demand is greater than or equal to the set load threshold, determining that the load type corresponding to the user is a first load type; When the historical load demand is less than the set load threshold, determining that the load type corresponding to the user is a second load type; The load demand corresponding to the first load type is greater than that corresponding to the second load type.

4. The method according to claim 1, characterized in that: The obtaining of a reference model of the model to be tested includes: Obtaining the model to be tested from the models deployed in the cabinet as the reference model; and / or, From the models deployed in the cabinet, obtain a model that has the same generation as the model to be tested and provides the same resource type as the model to be tested, as the reference model; and / or, obtaining, from the models deployed in the cabinet, a model running the service to be tested as the reference model; And / or, from the models deployed in the cabinet, a model whose power consumption dictionary and the power consumption dictionary of the model to be tested have similarities that meet a set first similarity condition is obtained as the reference model.

5. The method according to claim 1, characterized in that: Get reference services for the service under test, including: Obtaining a service to be tested from services running on the server in the cabinet as the reference service; and / or, The reference service is obtained from the services run by the servers in the cabinet according to the service attributes and / or resource requirement characteristics of the service to be tested and the service attributes and / or resource requirement characteristics of the services run by the servers in the cabinet.

6. The method according to claim 1, characterized in that The determining, according to the historical load data of the second load scenario, a first load of the server of the model to be tested running the service to be tested includes: Sorting the historical load data of the second load scenario in order of size to obtain target historical load data; From the target historical load data, historical load data at a set quantile is obtained as the first load.

7. The method according to any one of claims 1 to 6, characterized in that: Also includes: Determine the power consumption of the server of the model to be tested running the service to be tested according to the first load and the power consumption dictionary of the model to be tested; The power consumption dictionary of the machine type to be tested includes: a correspondence between a load and power consumption corresponding to the machine type to be tested; According to the power consumption of the machine model to be tested running the service to be tested and the power information supported by the cabinet, a server running the service to be tested and having the machine model of the machine model to be tested is deployed in the cabinet.

8. The method according to any one of claims 1 to 6, characterized in that: Also includes: Obtaining actual load data of the server of the tested model running the service to be tested; The first load is modified according to the actual load data to obtain a second load of the server of the model to be tested running the service to be tested.

9. The method according to claim 8, characterized in that The step of correcting the first load according to the actual load data to obtain a second load of the server of the tested model running the service to be tested includes: Performing load profiling on the server of the service to be tested running the service to be tested according to the actual load data, so as to obtain an actual load profile of the server of the service to be tested running the service to be tested; The first load is modified using the actual load portrait to obtain a second load of the server of the model to be tested running the service to be tested.

10. The method according to claim 9, characterized in that The using the actual load profile to modify the first load to obtain a second load of the server of the tested model running the service to be tested includes: Predicting the maximum load of the server of the tested model running the service under test based on the actual load profile; The first load is corrected to the maximum load value to obtain the second load.

11. The method according to claim 8, characterized in that Before correcting the first load according to the actual load data, the method further includes: The first load is checked for abnormalities using the actual load data; if the first load fails the abnormality check, the operation of correcting the first load using the actual load portrait is performed.

12. The method according to claim 11, characterized in that The using the actual load data to perform an abnormality check on the first load includes: Calculating a relative error between the first load and the actual load data; If the relative error is greater than or equal to a set error threshold, it is determined that the first load has failed the abnormality check.

13. The method according to any one of claims 1 to 6, characterized in that: Also includes: In the case that the reference machine model and the reference service do not exist, obtaining a load corresponding to the preset target load type, The load corresponding to the target load type is determined to be the load of the server of the model to be tested running the service to be tested.

14. A computing device, characterized in that include: A memory and a processor; wherein the memory is used to store a computer program; The processor is coupled to the memory and configured to execute the computer program to perform the steps of the method according to any one of claims 1 to 13.

15. A computer-readable storage medium storing computer instructions, characterized in that: When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the steps in the method according to any one of claims 1 to 13.