A method, system, storage medium and device for evaluating server performance
By collecting hardware information, determining health status, grouping and evaluation, and combining with the method of reentering read-write locks to simulate NameNode scenarios, the difficulty of batch evaluating the performance of Hadoop-NameNode server is solved, and the rapid, intelligent and batch evaluation results are achieved.
Patent Information
- Application Number
- CN202211041600.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-29
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2042-08-29
AI Technical Summary
There are difficulties in batch evaluation of the performance of Hadoop-NameNode server. The existing tools are complex, error-prone, and time-consuming, and require relevant technical personnel to operate.
A method for evaluating server performance is proposed, including collecting hardware information, determining the server health status, grouping the packets according to the configuration level, performing memory performance evaluation and parallel processing capability evaluation, and using reentrant read and write locks to simulate NameNode's actual operation business scenarios.
It realizes rapid, intelligent and batch evaluation of the processing capabilities of NameNode servers, without the need to deploy Hadoop clusters in batches, simplifies operational processes and reduces evaluation costs.
Smart Images

Figure CN115357465B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of servers, and in particular, to a method, a system, a storage medium and a device for evaluating the performance of a server. Background Art
[0002] With the continuous growth of the big data market, data shows that there are currently 25 billion bytes of data, and it is growing at a rate of 463 EB per day. How to deal with the existing massive data has become one of the most important issues at present. Technologies such as the combination of big data and blockchain technology have emerged as the times require. This combination makes the network architecture difficult to be tampered with, thus ensuring data security, and the data structure is easier to analyze and understand.
[0003] Big data technology refers to the technology of quickly obtaining valuable information from various types of large-scale data. This is the core issue of big data. The current so-called big data not only refers to the scale of the data itself, but also includes the tools, platforms and data analysis systems for collecting data. The purpose of big data research and development is to develop big data technology and apply it to related fields, and to promote its breakthrough development by solving the problem of processing large-scale data. Therefore, the challenges brought by the big data era are not only reflected in how to process large-scale data and obtain valuable information from it, but also reflected in how to strengthen the research and development of big data technology. The key technologies involved in big data generally include six aspects: data collection and data management, distributed storage and parallel computing, big data application development, data analysis and mining, big data front-end applications, data services and presentation.
[0004] Big data technology is penetrating into all walks of life. As a typical representative of data distributed processing systems, Hadoop has become the de facto standard in this field. Hadoop is an open-source framework written in Java for Apache (a web server software), which allows distributed processing of large datasets across large computers using a simple programming model. Applications working with the Hadoop framework can operate in an environment that provides distributed storage and computing across computer clusters. Hadoop is designed to scale from a single server to thousands of machines, with each machine providing local computing and storage. The core of the Hadoop architecture includes: the distributed file system HDFS (Hadoop Distributed File System), the distributed computing system MapReduce, and the distributed resource management system YARN. Among them, HDFS is a file system for distributed storage, mainly responsible for storing and reading cluster data. It is a distributed file system with a Master / Slave architecture, mainly including NameNode and DataNode. NameNode is the manager of the cluster, managing the namespace of the entire file system, storing metadata, processing requests sent by clients, maintaining the state of the entire cluster. To improve the response speed, most of its data resides in memory, so the use of NameNode memory is particularly important.
[0005] As is well known, the NameNode global lock (FSNamesystemLock) problem has always been the main reason restricting the performance of HDFS, especially the processing ability of NameNode. Once NameNode has performance problems, the performance of the entire Hadoop cluster will be greatly reduced. Currently, the main NameNode performance evaluation tools are the mixed load generator (SLG) and nnbench. SLG controls the load intensity by adjusting the number of worker threads and the delay parameters between operations. Nnbench generates many requests related to HDFS, creating, reading, renaming, and deleting file operations on HDFS. Both of the above tools require the deployment of Hadoop, with complex operations, error-prone, time-consuming, and requiring relevant technical personnel to operate. The above problems make it more difficult to batch-evaluate the performance of Hadoop-NameNode servers. Summary of the Invention
[0006] In view of this, the purpose of the present invention is to propose a method, system, storage medium, and device for evaluating the performance of a server to solve the problem that there are great difficulties in batch-evaluating the performance of Hadoop-NameNode servers.
[0007] Based on the above purpose, the present invention provides a method for evaluating the performance of a server, including the following steps:
[0008] Collect the hardware information of all servers to be tested, and respectively determine whether each server to be tested is in a healthy state based on the hardware information;
[0009] In response to multiple servers to be tested being in a healthy state, group the multiple servers to be tested according to the configuration level based on the hardware information to obtain a number of server groups;
[0010] Conduct a memory performance evaluation test on each server group, and confirm whether the servers to be tested in each server group respectively meet the preset requirements based on the test results;
[0011] Evaluate the parallel processing ability of the servers to be tested that meet the preset requirements based on a reentrant read-write lock.
[0012] In some embodiments, evaluating the parallel processing ability of the servers to be tested that meet the preset requirements based on a reentrant read-write lock includes:
[0013] Set multiple threads, and make each thread loop and execute the relevant operations based on the reentrant read-write lock according to a preset number of loop times, and monitor the total execution time. Among them, the relevant operations based on the reentrant read-write lock include successively obtaining a file read lock, obtaining a file write lock, releasing the file write lock, and releasing the file read lock;
[0014] Determine the parallel processing ability of the servers to be tested that meet the preset requirements based on the magnitude of the total execution time.
[0015] In some embodiments, the method further includes:
[0016] Compare the total execution time with a preset time threshold, and eliminate the servers to be tested corresponding to the total execution time that exceeds the preset time threshold.
[0017] In some embodiments, grouping the multiple servers to be tested according to the configuration level based on the hardware information to obtain a number of server groups includes:
[0018] Use the processor model information in the hardware information as the first-level grouping label, use the processor quantity information as the second-level grouping label, and use the total memory capacity information as the third-level grouping label;
[0019] Group the servers to be tested with the same first-level grouping label, second-level grouping label, and third-level grouping label among the multiple servers to be tested into the same group to obtain a number of server groups.
[0020] In some embodiments, confirming whether the servers to be tested in each server group respectively meet the preset requirements based on the test results includes:
[0021] Calculate the average memory performance value of each server group based on the test results, set a range value based on the average memory performance value, and respectively determine whether the memory performance value of the server under test in each server group is within the range value;
[0022] Take the servers under test within the range value as the servers under test that meet the preset requirements.
[0023] In some embodiments, the memory performance evaluation test for each server group includes:
[0024] Conduct memory bandwidth performance evaluation and memory latency performance evaluation on the servers under test in each server group respectively.
[0025] In some embodiments, JAVA development tools and memory performance evaluation tools are installed in the servers under test.
[0026] On the other hand, the present invention also provides a system for evaluating server performance, including:
[0027] A determination module configured to collect the hardware information of all servers under test and respectively determine whether each server under test is in a healthy state based on the hardware information;
[0028] A grouping module configured to, in response to multiple servers under test being in a healthy state, group the multiple servers under test according to the configuration level based on the hardware information to obtain several server groups;
[0029] A confirmation module configured to conduct a memory performance evaluation test on each server group and confirm whether the servers under test in each server group respectively meet the preset requirements based on the test results; and
[0030] An evaluation module configured to evaluate the parallel processing ability of the servers under test that meet the preset requirements based on a reentrant read-write lock.
[0031] On yet another aspect, the present invention also provides a computer-readable storage medium storing computer program instructions, and when the computer program instructions are executed by a processor, the above method is implemented.
[0032] On still another aspect, the present invention also provides a computer device including a memory and a processor, and a computer program is stored in the memory, and when the computer program is executed by the processor, the above method is executed.
[0033] The present invention has at least the following beneficial technical effects:
[0034] The present invention evaluates whether the performance of the Hadoop-NameNode server meets the actual business requirements by means of the server health status, the basic memory performance, and a program written to measure the parallel processing ability of the server; by using a reentrant read-write lock to control concurrent reading and writing, it can simulate the actual operation business scenario of the NameNode, realizing the rapid, intelligent, and batch evaluation of the processing ability of the NameNode server without batch deployment of the Hadoop cluster. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other embodiments can be obtained based on these drawings.
[0036] Figure 1 FIG. is a schematic diagram of a method for evaluating server performance provided according to an embodiment of the present invention;
[0037] Figure 2 FIG. is a schematic diagram of a system for evaluating server performance provided according to an embodiment of the present invention;
[0038] Figure 3 FIG. is a schematic diagram of a computer-readable storage medium for implementing a method for evaluating server performance provided according to an embodiment of the present invention;
[0039] Figure 4 FIG. is a schematic diagram of the hardware structure of a computer device for executing a method for evaluating server performance provided according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0040] To make the objectives, technical solutions, and advantages of the present invention more clearly understood, the following further details the embodiments of the present invention with reference to specific embodiments and the accompanying drawings.
[0041] It should be noted that all the expressions using "first" and "second" in the embodiments of the present invention are used to distinguish two non-identical entities or non-identical parameters with the same name. It can be seen that "first" and "second" are only for the convenience of expression and should not be construed as a limitation on the embodiments of the present invention. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units inherently includes other steps or units.
[0042] Based on the above objectives, in the first aspect of the embodiments of the present invention, an embodiment of a method for evaluating server performance is proposed. Figure 1Shown is a schematic diagram of an embodiment of the method for evaluating server performance provided by the present invention. As Figure 1 shown, the embodiment of the present invention includes the following steps:
[0043] Step S10: Collect the hardware information of all servers to be tested, and respectively determine whether each server to be tested is in a healthy state based on the hardware information;
[0044] Step S20: In response to multiple servers to be tested being in a healthy state, group the multiple servers to be tested according to the configuration level based on the hardware information to obtain several server groups;
[0045] Step S30: Conduct a memory performance evaluation test on each server group, and confirm whether the servers to be tested in each server group respectively meet the preset requirements based on the test results;
[0046] Step S40: Evaluate the parallel processing ability of the servers to be tested that meet the preset requirements based on a reentrant read-write lock.
[0047] In this embodiment, the hardware information of the servers to be tested mainly includes: host serial number, processor model information, number of processors, processor power-saving status information, processor microcode information, BIOS (Basic Input Output System) version information, memory model information, memory capacity information, memory insertion method information, operating system kernel version, processor utilization information, memory utilization information, server health status. Additionally, if a server to be tested does not meet the healthy state, it will be marked and excluded.
[0048] The embodiment of the present invention evaluates whether the performance of the Hadoop-NameNode server meets the actual business requirements through the server health status, memory basic performance, and writing a program that can measure the parallel processing ability of the server; by using a reentrant read-write lock to control concurrent reading and writing, it can simulate the actual operation business scenario of the NameNode, realizing fast, intelligent, and batch evaluation of the processing ability of the NameNode server without batch deployment of the Hadoop cluster.
[0049] In some embodiments, JAVA development tools and memory performance evaluation tools are installed in the servers to be tested.
[0050] This embodiment is applicable to servers to be tested based on the Linux operating system, and also requires a remote management server based on the Linux operating system. The remote management server can communicate with the servers to be tested through the network. The servers to be tested only need to install JAVA (an object-oriented programming language) development tools (JDK) and memory performance evaluation tools.
[0051] In some embodiments, the parallel processing capability evaluation of a to-be-tested server that meets preset requirements based on a reentrant read-write lock includes: setting multiple threads, and enabling each thread to repeatedly execute operations related to the reentrant read-write lock according to a preset number of loops, and monitoring the total execution time. Among them, the operations related to the reentrant read-write lock include successively obtaining a file read lock, obtaining a file write lock, releasing the file write lock, and releasing the file read lock; determining the parallel processing capability of the to-be-tested server that meets the preset requirements based on the magnitude of the total execution time.
[0052] In this embodiment, a JAVA programming language is used to simulate NameNode (managing the namespace of the file system, maintaining the file system tree and all files and directories in the entire tree) to use a file read-write lock (reentrant read-write lock) to control concurrent reading and writing. The NameNode is loaded with pressure by adjusting the number of concurrent threads. Each thread repeatedly obtains four operations: obtaining a file read lock, obtaining a file write lock, releasing the file write lock, and releasing the file read lock. Calculate the time taken for all threads to complete a certain number of operations of obtaining a file read lock, obtaining a file write lock, releasing the file write lock, and releasing the file read lock. The length of the time indicates the strength of the processing ability. A reentrant read-write lock class based on thread allocation is constructed, and the fair lock attribute is used when creating a reentrant read-write lock object. For example, 100 threads can be created to concurrently obtain a file read lock, obtain a file write lock, release the file write lock, and release the file read lock. Each thread repeatedly executes the above four operations 10,000 times, and the time command under the Linux system is used to monitor the running time of the above JAVA.
[0053] In some embodiments, the method further includes: comparing the total execution time with a preset time threshold, and excluding the to-be-tested server corresponding to the total execution time that exceeds the preset time threshold.
[0054] In this embodiment, the running time of the JAVA program in the Hadoop-NameNode environment that meets the actual business requirements is set as t, and the preset time threshold can be t * 105%.
[0055] Hadoop is a distributed system infrastructure developed by the Apache Foundation. Users can develop distributed programs without understanding the underlying details of distribution. Make full use of the power of the cluster for high-speed computing and storage. Hadoop implements a distributed file system (Distributed File System), and one of its components is HDFS (Hadoop Distributed File System).
[0056] In some embodiments, multiple servers to be tested are grouped according to the configuration level based on the hardware information, so as to obtain several server groups, including: using the processor model information in the hardware information as the first-level grouping label, using the processor quantity information as the second-level grouping label, and using the total memory capacity information as the third-level grouping label; grouping the servers to be tested with the same first-level grouping label, second-level grouping label and third-level grouping label among the multiple servers to be tested into the same group, so as to obtain several server groups.
[0057] In some embodiments, based on the test results, it is confirmed whether the servers to be tested in each server group respectively meet the preset requirements, including: calculating the average memory performance value of each server group based on the test results, setting a range value based on the average memory performance value, and respectively determining whether the memory performance values of the servers to be tested in each server group are within the range value; regarding the servers to be tested within the range value as the servers to be tested that meet the preset requirements.
[0058] In this embodiment, if the memory performance value of a server to be tested is not within the range value, it is marked and excluded.
[0059] In some embodiments, performing a memory performance evaluation test on each server group includes: respectively performing a memory bandwidth performance evaluation and a memory latency performance evaluation on the servers to be tested in each server group.
[0060] In this embodiment, by performing memory bandwidth performance and memory latency performance checks, it is ensured that the memory performance of the servers to be tested meets the basic performance requirements.
[0061] In another embodiment, the servers that meet the performance requirements are presented to the user, and problem location and data analysis are performed on all the excluded servers to be tested, and the possible reasons for the deviation are presented to the user.
[0062] Specifically, the hardware health status of the server can be obtained through an out-of-band protocol such as the ipmi (Intelligent Platform Management Interface) protocol or the redfish (a management standard based on the HTTPs service, using the RESTful interface to implement device management) protocol, and the specific hardware fault problems of the server are located and pushed to the user.
[0063] It is also possible to compare the memory model information, memory Rank quantity, single memory capacity, memory physical insertion method, NUMA topology relationship, and processor microcode information in the same-configured servers, extract the inconsistent parameters and push them to the user.
[0064] It is also possible to collect product model, manufacturer, processor model, number of processors, processor operating frequency, processor energy-saving status information, processor microcode information, memory model information, number of memory ranks, capacity of a single memory module, physical memory insertion method, NUMA topology relationship, BIOS version information, BIOS settings, operating system kernel version, processor utilization information, and memory utilization information, compare the above information with the parameters of the servers that meet the requirements, extract the inconsistent parameters and feedback them to the user.
[0065] In a second aspect of the embodiments of the present invention, a system for evaluating server performance is further provided. Figure 2 Shown is a schematic diagram of an embodiment of a system for evaluating server performance provided by the present invention. As Figure 2 shown, a system for evaluating server performance includes: a determination module 10 configured to collect hardware information of all servers to be tested and determine whether each server to be tested is in a healthy state based on the hardware information; a grouping module 20 configured to, in response to multiple servers to be tested being in a healthy state, group the multiple servers to be tested according to the configuration level based on the hardware information to obtain several server groups; a confirmation module 30 configured to perform a memory performance evaluation test on each server group and confirm whether the servers to be tested in each server group respectively meet the preset requirements based on the test results; and an evaluation module 40 configured to evaluate the parallel processing ability of the servers to be tested that meet the preset requirements based on a reentrant read-write lock.
[0066] The system for evaluating server performance in the embodiments of the present invention evaluates whether the performance of the Hadoop-NameNode server meets the actual business requirements by the server health state, memory basic performance, and a program written to measure the parallel processing ability of the server; by using a reentrant read-write lock to control concurrent reading and writing, it can simulate the actual operation business scenario of the NameNode, and realizes the rapid, intelligent, and batch evaluation of the processing ability of the NameNode server without batch deployment of the Hadoop cluster.
[0067] In some embodiments, the evaluation module 40 is further configured to set multiple threads, and make each thread loop and execute the related operations based on the reentrant read-write lock according to a preset number of loop times, and monitor the total execution time, wherein the related operations based on the reentrant read-write lock include successively obtaining a file read lock, obtaining a file write lock, releasing the file write lock, and releasing the file read lock; determine the parallel processing ability of the servers to be tested that meet the preset requirements based on the size of the total execution time.
[0068] In some embodiments, the system further includes an elimination module configured to compare the total execution time with a preset time threshold and eliminate the servers to be tested corresponding to the total execution time that exceeds the preset time threshold.
[0069] In some embodiments, the grouping module 20 is further configured to use the processor model information in the hardware information as the first-level grouping label, the processor quantity information as the second-level grouping label, and the total memory capacity information as the third-level grouping label; group the servers to be tested with the same first-level grouping label, second-level grouping label, and third-level grouping label among multiple servers to be tested into the same group, so as to obtain several server groups.
[0070] In some embodiments, the confirmation module 30 is further configured to calculate the average memory performance value of each server group based on the test results, set a range value based on the average memory performance value, and respectively determine whether the memory performance value of the servers to be tested in each server group is within the range value; regard the servers to be tested within the range value as the servers to be tested that meet the preset requirements.
[0071] In some embodiments, the confirmation module 30 further includes a memory performance evaluation module, which is configured to perform memory bandwidth performance evaluation and memory latency performance evaluation on the servers to be tested in each server group respectively.
[0072] In some embodiments, JAVA development tools and memory performance evaluation tools are installed in the servers to be tested.
[0073] In a third aspect of the embodiments of the present invention, a computer-readable storage medium is further provided. Figure 3 The schematic diagram of the computer-readable storage medium for implementing the method for evaluating server performance according to the embodiments of the present invention is shown. As Figure 3 shown, the computer-readable storage medium 3 stores computer program instructions 31. When the computer program instructions 31 are executed by a processor, the method of any of the above embodiments is implemented.
[0074] It should be understood that, without conflict, all the embodiments, features, and advantages described above for the method for evaluating server performance according to the present invention are equally applicable to the system and storage medium for evaluating server performance according to the present invention.
[0075] In a fourth aspect of the embodiments of the present invention, a computer device is further provided, including a memory 402 and a processor 401 as Figure 4 shown. A computer program is stored in the memory 402, and when the computer program is executed by the processor 401, the method of any of the above embodiments is implemented.
[0076] As Figure 4 shown, it is a schematic diagram of the hardware structure of an embodiment of the computer device for executing the method for evaluating server performance provided by the present invention. As Figure 4Taking the computer device shown as an example, this computer device includes a processor 401 and a memory 402, and may further include: an input device 403 and an output device 404. The processor 401, the memory 402, the input device 403, and the output device 404 may be connected through a bus or other means. Figure 4 Taking the connection through the bus as an example. The input device 403 can receive input digital or character information, and generate key signal inputs related to user settings and function controls of the system for evaluating the server performance. The output device 404 may include display devices such as a display screen.
[0077] The memory 402, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the program instructions / modules corresponding to the method for evaluating the server performance in the embodiments of the present application. The memory 402 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system and application programs required for at least one function; the data storage area can store data created by using the method for evaluating the server performance, etc. In addition, the memory 402 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices. In some embodiments, the memory 402 may optionally include memories remotely set relative to the processor 401, and these remote memories can be connected to the local module through a network. Examples of the above networks include, but are not limited to, the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.
[0078] The processor 401 executes various functional applications and data processing of the server by running the non-volatile software programs, instructions, and modules stored in the memory 402, that is, implements the method for evaluating the server performance in the above method embodiments.
[0079] Finally, it should be noted that the computer-readable storage medium (e.g., memory) of this article can be a volatile memory or a non-volatile memory, or can include both volatile memory and non-volatile memory. By way of example and not limitation, the non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. The volatile memory can include random access memory (RAM), which can serve as an external cache memory. By way of example and not limitation, the RAM can be obtained in various forms, such as synchronous RAM (DRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The storage devices of the disclosed aspects are intended to include, but are not limited to, these and other suitable types of memories.
[0080] Those skilled in the art will also understand that the various exemplary logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability of hardware and software, a general description has been given of the functions of the various illustrative components, blocks, modules, circuits, and steps. Whether this function is implemented as software or hardware depends on the particular application and the design constraints imposed on the overall system. The functions that can be implemented in various ways for each particular application by those skilled in the art, but this implementation decision should not be construed as causing a departure from the scope of the disclosure of the embodiments of the present invention.
[0081] The various exemplary logical blocks, modules, and circuits described in connection with the disclosure herein can be implemented or executed using the following components designed to perform the functions herein: a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination of these components. The general-purpose processor can be a microprocessor, but alternatively, the processor can be any conventional processor, controller, microcontroller, or state machine. The processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP and / or any other such configuration.
[0082] The above are the exemplary embodiments disclosed by the present invention. However, it should be noted that various changes and modifications can be made without departing from the scope of the embodiments disclosed by the present invention as defined by the claims. The functions, steps, and / or actions of the method claims according to the disclosed embodiments herein need not be performed in any particular order. In addition, although the elements disclosed by the embodiments of the present invention may be described or claimed in individual form, they can also be understood as plural unless explicitly limited to the singular form.
[0083] It should be understood that, as used herein, unless the context clearly supports the exception, the singular form "a" is also intended to include the plural form. It should also be understood that the "and / or" used herein refers to any and all possible combinations including one or more of the associated listed items. The serial numbers of the disclosed embodiments of the present invention above are only for description and do not represent the superiority or inferiority of the embodiments.
[0084] Those of ordinary skill in the art should understand that: the discussion of any of the above embodiments is only exemplary and is not intended to imply that the scope of the disclosure of the embodiments of the present invention (including the claims) is limited to these examples; under the concept of the embodiments of the present invention, the technical features between the above embodiments or different embodiments can also be combined, and there are many other variations in different aspects of the embodiments of the present invention as above, which are not provided in detail for the sake of brevity. Therefore, any omission, modification, equivalent replacement, improvement, etc. made within the spirit and principle of the embodiments of the present invention shall be included in the protection scope of the embodiments of the present invention.
Claims
1. A method for evaluating server performance, characterized in that, it includes the following steps: Collect the hardware information of all servers to be tested, and respectively determine whether each server to be tested is in a healthy state based on the hardware information; In response to multiple servers to be tested being in a healthy state, use the processor model information in the hardware information as the first-level grouping label, the number of processors information as the second-level grouping label, and the total memory capacity information as the third-level grouping label; Group the servers to be tested with the same first-level grouping label, second-level grouping label, and third-level grouping label among the multiple servers to be tested into the same group to obtain several server groups; Conduct a memory performance evaluation test on each server group, and confirm whether the servers to be tested in each server group respectively meet the preset requirements based on the test results; Set multiple threads, and make each thread execute the related operations based on the reentrant read-write lock in a loop according to the preset number of loop times, and monitor the total execution time; Determine the parallel processing ability of the servers to be tested that meet the preset requirements based on the magnitude of the total execution time; wherein, the related operations based on the reentrant read-write lock include the operations of sequentially obtaining a file read lock, obtaining a file write lock, releasing the file write lock, and releasing the file read lock.
2. The method according to claim 1, characterized in that, it further includes: Compare the total execution time with a preset time threshold, and eliminate the servers to be tested corresponding to the total execution time exceeding the preset time threshold.
3. The method according to claim 1, characterized in that, Confirming whether the servers to be tested in each server group respectively meet the preset requirements based on the test results includes: Calculate the average memory performance value of each server group based on the test results, set a range value based on the average memory performance value, and respectively determine whether the memory performance values of the servers to be tested in each server group are within the range value; Take the servers to be tested within the range value as the servers to be tested that meet the preset requirements.
4. The method according to claim 1, characterized in that, Conducting a memory performance evaluation test on each server group includes: Conduct a memory bandwidth performance evaluation and a memory latency performance evaluation on the servers to be tested in each server group respectively.
5. The method according to claim 1, characterized in that, JAVA development tools and memory performance evaluation tools are installed in the servers to be tested.
6. A system for evaluating server performance, characterized in that, it includes: A determination module configured to collect the hardware information of all servers to be tested, and respectively determine whether each server to be tested is in a healthy state based on the hardware information; A grouping module, configured to, in response to multiple servers under test being in a healthy state, use the processor model information in the hardware information as a first-level grouping label, use the processor quantity information as a second-level grouping label, and use the total memory capacity information as a third-level grouping label; group the servers under test with the same first-level grouping label, second-level grouping label, and third-level grouping label among the multiple servers under test into the same group to obtain a number of server groups; A confirmation module, configured to perform a memory performance evaluation test on each server group, and confirm whether the servers under test in each server group respectively meet preset requirements based on the test results; And An evaluation module, configured to set multiple threads, and enable each thread to repeatedly execute operations related to a reentrant read-write lock according to a preset number of loop iterations, and monitor the total execution time; Determine the parallel processing ability of the servers under test that meet the preset requirements based on the magnitude of the total execution time; wherein, the operations related to the reentrant read-write lock include operations of sequentially obtaining a file read lock, obtaining a file write lock, releasing the file write lock, and releasing the file read lock.
7. A computer-readable storage medium, characterized in that it stores computer program instructions, and when the computer program instructions are executed by a processor, the method described in any one of claims 1-5 is implemented.
8. A computer device, comprising a memory and a processor, characterized in that a computer program is stored in the memory, and when the computer program is executed by the processor, the method described in any one of claims 1-5 is executed.
Citation Information
Patent Citations
File storage method and device, computing equipment and computer storage medium
CN113434344A
Server cluster performance evaluation method, computing device and storage medium
CN114721922A