A method, system, computing device, and storage medium for testing performance of a computing device
By employing a collaborative approach between a task server and a control server in a computing device testing system, the problem of low efficiency in existing computer device and system performance testing has been solved, achieving unified testing standards and efficient performance evaluation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-21
- Publication Date
- 2026-03-27
AI Technical Summary
Existing computer equipment and system performance testing methods are inefficient and cannot form unified testing standards, making it difficult to conduct a comprehensive and objective evaluation of computer equipment and systems.
The computing device performance testing method involves creating test tasks through a task server, building test installation packages and distributing them to multiple computing devices through a control server, executing test tasks and sending test data to the control server, generating test data tables through the control server, and performing performance evaluation through the task server.
It improves testing efficiency, enables unified performance evaluation of multiple computing devices in the same environment, reduces the difficulty of test data collection, and improves the objectivity and efficiency of testing.
Smart Images

Figure CN113688057B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of cloud computing, and in particular to a server performance testing method, system, computing device, and storage medium. Background Technology
[0002] With the development of computer technology, in order to further improve the reliability of computer equipment and systems, it is necessary to test computers and systems. However, existing testing methods are inefficient, requiring testers to perform independent tests on machines every day, and then retrieve and analyze the test data afterward. This approach is time-consuming, and the testing time and environment vary from machine to machine, making it impossible to summarize and statistically analyze the different test results, establish unified testing standards, and facilitate a comprehensive and objective evaluation of computer equipment and systems.
[0003] Therefore, a new method for testing the performance of computing devices is needed. Summary of the Invention
[0004] Therefore, the present invention provides a method for testing the performance of computing devices in an attempt to solve or at least alleviate the problems mentioned above.
[0005] According to one aspect of the present invention, a method for testing the performance of computing devices is provided, suitable for execution in a computing device testing system. The computing device testing system includes a control server, a task server communicatively connected to the control server, and multiple computing devices. The method includes the following steps: the task server creates a test task and sends the test task to the control server; the control server constructs a test installation package according to the test task and sends the test installation package to the multiple computing devices; the computing devices install the received test installation package, execute the test tasks in the test installation package to obtain test data, and send the test data to the control server; the control server receives the test data sent by each computing device, obtains multiple test data sets, draws a test data table based on the multiple test data sets, and sends the test data table to the task server; the task server evaluates the performance of each computing device based on the test data table.
[0006] Optionally, the method according to the present invention further includes the steps of: a control server creating a listening process to listen for test instructions from a task server; the task server generating test instructions and sending the test instructions to the control server; and when the control server receives a test instruction from the task server, sending the test instructions to multiple computing devices connected to the control server so that the computing devices can execute test tasks according to the test instructions.
[0007] Optionally, in the method according to the present invention, the test task includes multiple test items, the test instruction includes the test items to be tested, the installation of the received test installation package, and the execution of the test task in the test installation package to obtain test data includes the following steps: when a test instruction is received from the control server, the test item specified by the test instruction is selected from the test task to be executed, and the test data is obtained.
[0008] Optionally, in the method according to the invention, the test instruction further includes the number of test times. Selecting test items specified by the test instruction from the test task to obtain test data includes the steps of: executing the test items in the test task according to the number of test times to obtain a project dataset, the project dataset including the same number of project data as the number of test times; and calculating the test data based on the project dataset and the number of test times.
[0009] Optionally, in the method according to the present invention, the project data includes peak and valley values, and the test data is calculated based on the project dataset and the number of tests, including the steps of: sorting the project data in the project dataset; calculating the peak score, valley score and average score based on the sorted project dataset and the number of tests; and using the peak score, valley score and average score as the test data.
[0010] Optionally, in the method according to the invention, drawing a test data table based on multiple test data includes the steps of: drawing data rows of the test data table based on the peak score, valley score and average score of the test data, and the name of the computing device to which each test data belongs, to obtain a test data table including multiple data rows.
[0011] Optionally, in the method according to the present invention, sending test data to the control server includes the steps of: performing a serialization operation on the test data to obtain serialized data; and sending the serialized data to the control server.
[0012] Optionally, in the method according to the present invention, the control server receiving test data sent by each computing device includes the steps of: the control server receiving serialized data sent by the computing device; and performing a deserialization operation on the serialized data to obtain test data.
[0013] Optionally, in the method according to the present invention, the computing device testing system further includes a data server communicatively connected to the control server, and the method further includes the steps of: the control server sending multiple received test data to the data server; and the data server storing the received multiple test data so that the task server can query the test data.
[0014] According to another aspect of the present invention, a method for testing the performance of computing devices is provided, suitable for execution in a control server, wherein the control server is communicatively connected to a task server and multiple computing devices. The method includes the steps of: receiving a test task created by the task server; constructing a test installation package according to the test task; sending the test installation package to multiple computing devices so that the computing devices install the received test installation package and execute the test tasks in the test installation package to obtain test data; receiving test data sent by each computing device to obtain multiple test data sets; drawing a test data table based on the multiple test data sets; and sending the test data table to the task server so that the task server can evaluate the performance of each computing device based on the test data table.
[0015] Optionally, the method according to the present invention further includes the steps of: creating a listening process to listen for test instructions from a task server; and when a test instruction from the task server is heard, sending the received test instruction to multiple computing devices connected to a control server so that the computing devices execute test tasks according to the test instruction.
[0016] Optionally, in the method according to the present invention, the control server is also communicatively connected to the data server, and the method further includes the steps of: sending the received multiple test data to the data server for storage, so that the task server can query the stored test data.
[0017] According to another aspect of the present invention, a computing device testing system is provided. The system includes a control server, a task server communicatively connected to the control server, and multiple computing devices. The task server is adapted to create test tasks and send the test tasks to the control server. The control server is adapted to construct a test installation package based on the test tasks and send the test installation package to the multiple computing devices. The computing devices are adapted to install the received test installation package, execute the test tasks in the test installation package to obtain test data, and send the test data to the control server. The control server is also adapted to receive the test data sent by each computing device, obtain multiple test data sets, draw a test data table based on the multiple test data sets, and send the test data table to the task server. The task server is also adapted to perform performance evaluation on each computing device based on the test data table.
[0018] Optionally, in the system according to the present invention, the control server is further adapted to create a listening process to listen for test instructions from the task server; the task server is further adapted to generate test instructions and send the test instructions to the control server; the control server is further adapted to send the test instructions to multiple computing devices connected to the control server when it hears test instructions from the task server, so that the computing devices can execute test tasks according to the test instructions.
[0019] Optionally, in the system according to the invention, the test instruction further includes a number of test times, and the computing device is further adapted to: execute the test items in the test task according to the number of test times to obtain a project dataset, the project dataset including the same number of project data as the number of test times; and calculate test data based on the project dataset and the number of test times.
[0020] Optionally, in the system according to the invention, the project data includes peak and valley values, and the computing device is further adapted to: sort the project data in the project dataset; calculate the peak score, valley score and average score based on the sorted project dataset and the number of tests; and use the peak score, valley score and average score as test data.
[0021] Optionally, in the system according to the invention, the control server is further adapted to: draw data rows of the test data table based on the peak score, valley score and average score of the test data, and the name of the computing device to which each test data belongs, to obtain a test data table including multiple data rows.
[0022] Optionally, in the system according to the present invention, the system further includes a data server communicatively connected to the control server, and the control server is further adapted to send the received multiple test data to the data server; the data server is adapted to store the received multiple test data so that the task server can query the test data.
[0023] According to another aspect of the present invention, a computing device is provided, comprising: one or more processors; a memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including methods for performing a server cluster deployment method according to the present invention.
[0024] According to another aspect of the invention, a computer-readable storage medium is provided for storing one or more programs, the one or more programs including instructions that, when executed by a computing device, cause the computing device to perform a server cluster deployment method according to the invention.
[0025] This invention discloses a computing device performance testing method suitable for execution within a computing device testing system. The system includes a control server, a task server communicatively connected to the control server, and multiple computing devices. After the task server creates a test task, the control server constructs a test installation package based on the task and distributes it to all computing devices to be tested. Each computing device installs the test installation package and executes the test task within it under the same environment. Each computing device also sends test data from the executed test task to the control server. The control server collects the test data from all computing devices and generates a test data table based on this data, allowing the task server to evaluate the performance of each computing device according to the table. This invention improves the testing efficiency of servers, and since all servers to be tested execute the same test task under the same environment, it facilitates performance evaluation based on unified testing standards. Simultaneously, the automatic collection of test data from all computing devices reduces the difficulty of data collection and further improves testing efficiency. Attached Figure Description
[0026] To achieve the foregoing and related objectives, certain illustrative aspects are described herein in conjunction with the following description and accompanying drawings. These aspects indicate various ways in which the principles disclosed herein may be practiced, and all aspects and their equivalents are intended to fall within the scope of the claimed subject matter. The foregoing and other objectives, features, and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Throughout this disclosure, the same reference numerals generally refer to the same parts or elements.
[0027] To achieve the foregoing and related objectives, certain illustrative aspects are described herein in conjunction with the following description and accompanying drawings. These aspects indicate various ways in which the principles disclosed herein may be practiced, and all aspects and their equivalents are intended to fall within the scope of the claimed subject matter. The foregoing and other objectives, features, and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Throughout this disclosure, the same reference numerals generally refer to the same parts or elements.
[0028] Figure 1 A schematic diagram of a computing device testing system according to an exemplary embodiment of the present invention is shown;
[0029] Figure 2 A structural block diagram of a computing device 200 according to an exemplary embodiment of the present invention is shown; and
[0030] Figure 3 A schematic flowchart of a computing device performance testing method 300 according to an exemplary embodiment of the present invention is shown. Detailed Implementation
[0031] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. The same reference numerals generally refer to the same parts or elements.
[0032] Figure 1 A schematic diagram of a computing device testing system according to an exemplary embodiment of the present invention is shown. Figure 1 As shown, the computing device testing system includes a control server 140, a task server 150, a data server 160, and computing devices 110-130 that are communicatively connected to the control server 140. Figure 1 The connection method between the computing devices 110-130 and the control server 140 is merely exemplary. This invention does not limit the number of computing devices connected to the control server 140. The control server 140 can connect to hundreds or thousands of computing devices, enabling simultaneous testing of a large number of computing devices and improving testing efficiency.
[0033] Task server 150 creates a test task and sends it to control server 140, so that control server 140 generates a test installation package based on the test task. Simultaneously, it generates test commands and sends these commands to control server 140. The test commands instruct computing devices 110-130, which have the test installation package installed, to execute the test items in the test task to perform tests and generate test data.
[0034] The control server 140 receives test tasks and test commands from the task server 150, and generates a test installation package based on the test tasks. The control server 140 also distributes the test installation package to the connected computing devices 110-130, forwards the test commands to the computing devices 110-130, and receives test data returned by each computing device, obtaining multiple test data sets. Furthermore, it generates a test data table based on the multiple test data sets, so that the task server 150 can evaluate the performance of each computing device according to the test data table.
[0035] According to one embodiment of the present invention, the control server 140 may be configured with multiple backup servers (not shown in the figure), and the control server 140 is communicatively connected to the multiple backup servers. When the control server 140 fails, the control server 140 promptly transfers the communication connection with the multiple computing devices 110-130 to the backup servers, which then act as the control server, receiving test tasks and test commands from the task server 150, creating test installation packages, and distributing the test installation packages to the computing devices 110-130, and forwarding test commands. The backup servers also receive test data from each computing device, obtain multiple test data sets, and draw test data tables based on the multiple test data sets, so that the task server 150 can evaluate the performance of each computing device according to the test data tables.
[0036] The computing devices 110-130 receive the test installation package, install the test installation package according to the received test installation package, receive test commands, execute the test tasks in the test installation package according to the test commands to obtain test data, and send the test data back to the control server 140.
[0037] Figure 1 The control server 140, the task server 150, the data server 160, and the computing devices 110-130 that are communicatively connected to the control server 140 can all be implemented as follows: Figure 2 The computing device shown. Figure 2 A structural block diagram of a computing device 200 according to an exemplary embodiment of the present invention is shown. Figure 2 As shown, in the basic configuration 202, the computing device 200 typically includes a system memory 206 and one or more processors 204. A memory bus 208 can be used for communication between the processors 204 and the system memory 206.
[0038] Depending on the desired configuration, processor 204 can be any type of processor, including but not limited to: microprocessor (µP), microcontroller (µC), digital information processor (DSP), or any combination thereof. Processor 204 may include one or more levels of cache such as L1 cache 210 and L2 cache 212, processor core 214, and registers 216. Example processor core 214 may include an arithmetic logic unit (ALU), floating-point unit (FPU), digital signal processing core (DSP core), or any combination thereof. Example memory controller 218 may be used with processor 204, or in some implementations, memory controller 218 may be an internal part of processor 204.
[0039] Depending on the desired configuration, system memory 206 can be any type of memory, including but not limited to: volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. System memory 206 may include operating system 220, one or more programs 222, and program data 228. In some embodiments, program 222 may be arranged to execute instructions 223 of the method 300 according to the invention on the operating system using program data 228.
[0040] The computing device 200 may also include a storage interface bus 234. The storage interface bus 234 enables communication from storage devices 232 (e.g., removable storage 236 and non-removable storage 238) to the basic configuration 202 via the bus / interface controller 230. At least a portion of the operating system 220, program 222, and data 224 may be stored on the removable storage 236 and / or non-removable storage 238, and loaded into system memory 206 via the storage interface bus 234 when the computing device 200 is powered on or when program 222 is to be executed, and executed by one or more processors 204.
[0041] The computing device 200 may also include an interface bus 240 that facilitates communication from various interface devices (e.g., output devices 242, peripheral interfaces 244, and communication devices 246) to the basic configuration 202 via a bus / interface controller 230. Example output devices 242 include a graphics processing unit 248 and an audio processing unit 250. They may be configured to facilitate communication with various external devices such as displays or speakers via one or more A / V ports 252. Example peripheral interfaces 244 may include a serial interface controller 254 and a parallel interface controller 256, which may be configured to facilitate communication with external devices such as input devices (e.g., keyboards, mice, pens, voice input devices, touch input devices) or other peripherals (e.g., printers, scanners, etc.) via one or more I / O ports 258. Example communication devices 246 may include a network controller 260, which may be arranged to facilitate communication with one or more other computing devices 262 via a network communication link through one or more communication ports 264.
[0042] A network communication link can be an example of a communication medium. A communication medium can typically be embodied in a modulated data signal, such as a carrier wave or other transmission mechanism, and can include any information delivery medium. A “modulated data signal” can be a signal in which one or more of its data sets, or where changes to them can be encoded into the signal, are performed. As a non-limiting example, a communication medium can include wired media such as wired networks or leased lines, and various wireless media such as sound, radio frequency (RF), microwave, infrared (IR), or other wireless media. The term “computer-readable medium” as used herein can include both storage media and communication media.
[0043] In the computing device 200 according to the present invention, program 222 includes a plurality of program instructions of instruction execution method 300, which can instruct processor 204 to execute some steps of computing device performance testing method 300 running in computing device 200 of the present invention, so that each part of computing device 200 can perform server performance testing by executing computing device performance testing method 300 of the present invention.
[0044] The computing device 200 can be implemented as a server, such as a file server 240, a database 250, a server, an application server, etc. These electronic devices can be such as personal digital assistants (PDAs), wireless network browsing devices, application-specific devices, or hybrid devices that can include any of the above functions. It can be implemented as a personal computer including desktop computers and laptop computers. In some embodiments, the computing device 200 is also configured to perform computing device performance testing method 300.
[0045] Figure 3 A schematic flowchart of a computing device performance testing method 300 according to an exemplary embodiment of the present invention is shown. The computing device performance testing method 300 of the present invention is adapted to be executed in a computing device testing system, and further adapted to, for example... Figure 1 The computing device testing system shown includes a control server 140, a task server 150 that is communicatively connected to the control server 140, and multiple computing devices 110-130.
[0046] like Figure 3 As shown, the computing device performance testing method 300 begins in step S310, where the task server 150 creates a test task and sends it to the control server 140. The test task includes multiple test items. The task server 150 constructs a configuration file for each test item and combines the configuration files of the multiple test items to be tested into a test task.
[0047] Subsequently, in step S320, the control server 140 constructs a test installation package according to the test task and sends the test installation package to multiple computing devices 110-130. When constructing the test installation package, the control server 140 encapsulates a serialization structure protocol into the test installation package. The control server 140 also establishes a server list for the computing devices 110-130, writing all computing devices 110-130 that are communicatively connected to the control server 140 into the server list, and sends the test installation package to all connected computing devices 110-130 according to the server list. When sending the test installation package to the computing devices 110-130, the control server 140 also sends an installation command to the computing devices 110-130, instructing them to install the received test installation package.
[0048] Subsequently, step S330 is executed, where computing devices 110-130 install the received test installation package, execute the test tasks in the test installation package to obtain test data, and send the test data to the control server 140.
[0049] According to one embodiment of the present invention, before installing the test installation package, the computing device 110-130 first constructs the installation directory of the test installation package based on the received test installation package. After receiving the installation instruction sent by the control server 140, the control server 140 installs the test installation package in the installation directory. After receiving the test installation package, the control server 140 communicates with the control server 140 according to the serialization protocol in the test installation package.
[0050] According to one embodiment of the present invention, task server 150 generates test instructions and sends them to control server 140. The test instructions include test items and test counts, indicating the test items to be executed by computing devices 110-130 and the corresponding number of executions. Control server 140 creates a listening process to listen for test instructions from task server 150. Each time task server 150 needs to instruct computing devices 110-130 to execute a test item, it generates test instructions and sends them to control server 140, which then distributes the test instructions to computing devices 110-130.
[0051] When the control server 140 receives a test instruction from the task server 150, it sends the test instruction to multiple computing devices 110-130 connected to the control server 140, so that the computing devices 110-130 execute test tasks according to the test instruction. When the computing devices 110-130 receive the test instruction from the control server 140, they select the test item specified by the test instruction from the test tasks and obtain test data.
[0052] According to one embodiment of the present invention, when the control server 140 sends a test instruction to the computing devices 110-130, it performs a serialization operation on the test instruction according to the serialization protocol to obtain a serialized instruction, thereby converting the test instruction into a serialized instruction in the form of an ordered byte stream. This ensures the integrity and transmissibility of the test instruction during transmission, making the transmission of the test instruction more convenient and faster. The serialized instruction is then sent to the computing devices 110-130. When the computing devices 110-130 receive the test instruction from the control server 140, they perform a deserialization operation on the received serialized instruction according to the serialization protocol to obtain the test instruction. Based on the test instruction status and description information stored in the byte stream, the test instruction is reconstructed through deserialization. In the above steps, serializing the test instruction means converting the test instruction into a serialized instruction in the form of an ordered byte stream, and deserializing the serialized instruction means reconstructing the serialized instruction in the form of an ordered byte stream into a test instruction.
[0053] When computing devices 110-130 execute test items, they perform the test items in the test task according to the number of test runs, obtaining a project dataset. The project dataset includes the same number of project data items as the number of test runs. Test data is calculated based on the project dataset and the number of test runs. Computing devices 110-130 obtain one set of project data items for each test item executed, and the project dataset is obtained by performing the test item the corresponding number of times it is executed.
[0054] According to one embodiment of the present invention, each time a test project is executed, the computing device 110-130 executes the test project via popen, calls the popen() function to create a pipe, calls the fork() function to generate a child process, and executes the test project through the child process. The present invention does not limit the type of test project.
[0055] According to one embodiment of the present invention, the test item of computing devices 110-130 is to perform stress tests on computer components, including but not limited to hard disk, CPU, network card, graphics card, and memory. When computing devices 110-130 perform stress tests, they collect the resource utilization ratio per second and save the highest and lowest values within each 60-second interval until the entire test item is completed. Then, a line graph is plotted based on the highest and lowest values within each 60-second interval during the test item execution time. The highest and lowest values of the resource utilization ratio per second throughout the entire test item are determined based on the line graph. Subsequently, the highest and lowest values throughout the entire test item are used as project data. The test item is repeated to obtain a project dataset including multiple project data.
[0056] When calculating test data based on the project dataset and the number of tests, the project data in the project dataset is sorted. Specifically, the sum of the highest and lowest values throughout the test can be used as the sorting criterion, and the project data in the project dataset can be sorted from highest to lowest.
[0057] Subsequently, peak score, trough score, and average score are calculated based on the sorted project dataset and the number of tests. This invention does not limit the method for calculating peak score, trough score, and average score. According to one embodiment of the invention, when calculating the peak score, the top third of the project data whose sum of the highest and lowest values is selected from the sorted project dataset, and the average of the highest values is calculated to obtain the peak score. Similarly, the bottom third of the project data whose sum of the highest and lowest values is selected, and the average of the lowest values is calculated to obtain the trough score. Furthermore, the middle third of the project data whose sum of the highest and lowest values is selected, and the average of each project data is first calculated based on the lowest and highest values. Then, based on the average of each project data in the middle third of the project data, the average score is calculated using the following formula:
[0058]
[0059] Where score is the average score, x1, x2, ..., x... n It is the average value of each item in the middle third of the project data, N is the number of items in the middle third of the project data, and Dim is the weighting factor, which takes values (0,1], with a default value of 0.9.
[0060] The peak score, trough score, and average score are then used as test data and sent to the control server 140. The computing devices 110-130 analyze the data collected during the test tasks to obtain the test data, which is then transmitted to the control server 140, reducing the amount of data transmitted over the network and improving the overall system testing efficiency.
[0061] Then, step S340 is executed, whereby the control server 140 receives the test data sent by each computing device, obtains multiple test data, draws a test data table based on the multiple test data, and sends the test data table to the task server 150.
[0062] According to one embodiment of the present invention, when computing devices 110-130 send test data to control server 140, they perform serialization operations on the test data according to a serialization protocol to obtain serialized data, thereby converting the test data into serialized data in the form of an ordered byte stream. This ensures the integrity and transmissibility of the test data when transmitting test instructions, making the transmission of test data more convenient and faster. The serialized data is then sent to control server 140. When control server 140 receives test data sent by each computing device 110-130, it also receives the serialized data sent by the computing devices 110-130. The received serialized data is deserialized according to the serialization protocol to obtain test data. Based on the test data status and description information stored in the byte stream, the test data is reconstructed through deserialization. In the above steps, serializing the test data means converting the test data into serialized data in the form of an ordered byte stream, and deserializing the serialized data means reconstructing the test data from the serialized data in the form of an ordered byte stream.
[0063] When the control server 140 draws a test data table based on multiple test data, it draws data rows of the test data table according to the peak score, valley score and average score of the test data, as well as the name of the computing device to which each test data belongs, to obtain a test data table with multiple data rows.
[0064] Finally, in step S350, task server 150 performs performance evaluation on each computing device based on the test data table. After receiving the test data table, task server 150 can evaluate the performance of the corresponding computing device based on the data rows. Specifically, during the performance evaluation, the performance of computing devices 110-130 can be judged based on whether the peak score, valley score, and average score in the data row reach the set threshold. Control server 140 summarizes and draws a test data table for all computing devices 110-130, facilitating performance evaluation of each computing device, saving testers the step of collecting test data from each host, and improving the efficiency of performance testing on a large number of servers.
[0065] According to one embodiment of the present invention, the control server 140 sends the received multiple test data to the data server 160. The data server 160 stores the received multiple test data so that the task server 150 can query the test data. The task server 150 can query the past test data in the data server 160 through the control server 140 to compare the test results of the same computing device at different times and determine whether the performance of the computing device has improved. The present invention does not limit the specific form of the data server 160; the data server 160 can be implemented as an SQLite database.
[0066] This invention discloses a computing device performance testing method suitable for execution within a computing device testing system. The system includes a control server, a task server communicatively connected to the control server, and multiple computing devices. After the task server creates a test task, the control server constructs a test installation package based on the task and distributes it to all computing devices to be tested. Each computing device installs the test installation package and executes the test task within it under the same environment. Each computing device also sends test data from the executed test task to the control server. The control server collects the test data from all computing devices and generates a test data table based on this data, allowing the task server to evaluate the performance of each computing device according to the table. This invention improves the testing efficiency of servers, and since all servers to be tested execute the same test task under the same environment, it facilitates performance evaluation based on unified testing standards. Simultaneously, the automatic collection of test data from all computing devices reduces the difficulty of data collection and further improves testing efficiency.
[0067] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0068] Similarly, it should be understood that, in order to streamline this disclosure and aid in understanding one or more of the various aspects of the invention, features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof in the above description of exemplary embodiments of the invention. However, this method of disclosure should not be construed as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim.
[0069] Those skilled in the art will understand that the modules, units, or groups of devices in the examples disclosed herein can be arranged in the device as described in this embodiment, or alternatively, can be located in one or more devices different from the device in this example. The modules in the foregoing examples can be combined into a single module or further divided into multiple sub-modules.
[0070] Those skilled in the art will understand that modules in the device of the embodiments can be adaptively changed and placed in one or more devices different from that embodiment. Modules, units, or groups in the embodiments can be combined into a single module, unit, or group, and further, they can be divided into multiple sub-modules, sub-units, or sub-groups. Except where at least some of such features and / or processes or units are mutually exclusive, any combination can be used to combine all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or device so disclosed. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose.
[0071] Furthermore, those skilled in the art will understand that although some embodiments described herein include certain features included in other embodiments but not others, combinations of features from different embodiments are meant to be within the scope of the invention and form different embodiments.
[0072] Furthermore, some of the embodiments described herein are methods or combinations of method elements that can be implemented by a processor of a computer system or by other means of performing the functions. Therefore, a processor having the necessary instructions for implementing the methods or method elements forms means for implementing the methods or method elements. Furthermore, the elements described herein in the apparatus embodiments are examples of means for implementing the functions performed by elements for the purposes of carrying out the invention.
[0073] The various techniques described herein can be implemented in combination with hardware or software, or a combination thereof. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, can take the form of program code (i.e., instructions) embedded in a tangible medium, such as a floppy disk, CD-ROM, hard disk, or any other machine-readable storage medium, wherein when the program is loaded into and executed by a machine such as a computer, the machine becomes an apparatus for practicing the present invention.
[0074] When the program code is executed on a programmable computer, the computing device generally includes a processor, a processor-readable storage medium (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. The memory is configured to store program code; the processor is configured to execute the computing device performance testing method of the present invention according to instructions in the program code stored in the memory.
[0075] By way of example, and not limitation, computer-readable media include computer storage media and communication media. Computer storage media stores information such as computer-readable instructions, data structures, program modules, or other data. Communication media generally embodies computer-readable instructions, data structures, program modules, or other data in the form of modulated data signals such as carrier waves or other transmission mechanisms, and includes any information delivery medium. Any combination of the above is also included within the scope of computer-readable media.
[0076] As used herein, unless otherwise specified, the use of ordinal numbers such as “first,” “second,” “third,” etc., to describe ordinary objects merely indicates different instances of similar objects and is not intended to imply that the objects being described must have a given order in time, space, ordering, or any other manner.
[0077] Although the invention has been described with reference to a limited number of embodiments, those skilled in the art will understand from the foregoing description that other embodiments are conceivable within the scope of the invention described herein. Furthermore, it should be noted that the language used in this specification has been chosen primarily for readability and instructional purposes, and not for the purpose of interpreting or limiting the subject matter of the invention. Therefore, many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the appended claims. The disclosure of the invention is illustrative and not restrictive, and the scope of the invention is defined by the appended claims.
Claims
1. A method for testing performance of a computing device, suitable for being executed in a computing device testing system, the computing device testing system comprising a control server, a task server and a plurality of computing devices communicatively connected to the control server, the method comprising the steps of: the task server creating a test task, the test task comprising a plurality of test items suitable for testing performance of a computer component in a computing device, the task server sending the test task to the control server; the control server constructing a test installation package according to the test task, the control server sending the test installation package to the plurality of computing devices; the control server creating a listening process, the control server listening to a test instruction from the task server according to the listening process; the task server generating the test instruction, the task server sending the test instruction to the control server; the control server sending the test instruction to the plurality of computing devices connected to the control server when the control server listens to the test instruction from the task server, so that the computing devices execute the test task according to the test instruction; the computing devices installing the received test installation package, the computing devices executing the test task in the test installation package to obtain test data, the computing devices sending the test data to the control server; the control server receiving the test data sent by each computing device, the control server obtaining a plurality of test data, the control server drawing a test data table according to the plurality of test data, the control server sending the test data table to the task server; the task server evaluating performance of each computing device according to the test data table; wherein the step of executing the test task in the test installation package to obtain test data comprises the step of: selecting a test item included in the test instruction from the test task when the test instruction from the control server is received, to obtain test data; the test instruction further comprises a test number, and the step of selecting a test item included in the test instruction from the test task to obtain test data comprises the step of: executing the test item in the test task according to the test number, to obtain a project data set comprising a same number of project data as the test number; and calculating the test data according to the project data set and the test number; the project data comprises a peak value and a valley value, and the step of calculating the test data according to the project data set and the test number comprises the steps of: sorting the project data in the project data set; calculating a peak value score, a valley value score and an average value score according to the sorted project data set and the test number; and taking the peak value score, the valley value score and the average value score as the test data; the step of drawing a test data table according to the plurality of test data comprises the steps of: drawing a data row of the test data table according to the peak value score, the valley value score and the average value score of the test data, and a name of a computing device to which each test data belongs, to obtain a test data table comprising a plurality of data rows; and the step of sending the test data to the control server comprises the steps of: serializing the test data to obtain serialized data; and sending the serialized data to the control server. 2. The method of claim 1, wherein, 3. The method of claim 2, wherein, 4. The method of claim 3, wherein, 5. The method of any one of claims 1-3, wherein, serializing the test data to obtain serialized data.
6. The method of claim 5, wherein, The control server receives the test data sent by each computing device includes steps of: The control server receives the serialized data sent by the computing device; The serialized data is deserialized to obtain test data.
7. A computing device comprising: one or more processors; memory; and one or more means for performing the method of any of claims 1-6.
8. A computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing device, cause the computing device to perform the method of any of claims 1-6.
Citation Information
Patent Citations
Method and apparatus for testing application performance
CN105095089A
Testing method, device and system
CN105302727A
Application program test method, device and system
CN105607992A
Cognitive ability assessment system and assessment method thereof
CN107126222A
Game automation test method and device, terminal and computer storage medium
CN110781085A