CN115981980A - System performance testing method, apparatus, device, medium, and program product - Google Patents

System performance testing method, apparatus, device, medium, and program product Download PDF

Info

Publication number
CN115981980A
CN115981980A CN202211694589.0A CN202211694589A CN115981980A CN 115981980 A CN115981980 A CN 115981980A CN 202211694589 A CN202211694589 A CN 202211694589A CN 115981980 A CN115981980 A CN 115981980A
Authority
CN
China
Prior art keywords
test
processor cores
test case
target
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211694589.0A
Other languages
Chinese (zh)
Inventor
匙沛华
邹博韬
焦岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Information Industry Beijing Co Ltd
Original Assignee
Dawning Information Industry Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN202211694589.0A priority Critical patent/CN115981980A/en
Publication of CN115981980A publication Critical patent/CN115981980A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The present application relates to a system performance testing method, apparatus, device, medium and program product. The method comprises the following steps: the method comprises the steps of firstly, determining the optimal number of processor cores of at least one target test case in a plurality of different test cases of a target operating system according to historical performance test documents of the target operating system, then modifying the number of the processor cores of each target test case into the optimal number of the processor cores in a configuration file of a test tool to obtain an optimal configuration file of the test tool, and finally, obtaining a performance test result of the target operating system by running the optimal configuration file. The method can obtain accurate performance test results.

Description

System performance testing method, apparatus, device, medium, and program product
Technical Field
The present application relates to the field of system performance testing technologies, and in particular, to a method, an apparatus, a device, a medium, and a program product for testing system performance.
Background
With the development of computer technology, testing of computer systems is essential.
UnixBench is an open source testing tool, and index testing can be performed through the UnixBench tool to measure the basic performance of a Unix system. For example, the basic performance of a Non Uniform Memory Access (NUMA) architecture processor under a Unix system is tested. NUMA architecture processors are multicore processors, and the basic performance of NUMA architecture processors is that performance increases as the number of processor cores increases.
However, when the UnixBench tool is used to test the basic performance of the NUMA architecture processor, the difference between the test result and the expected result is large, and the test is not accurate enough.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a system performance testing method, apparatus, device, medium, and program product for obtaining an accurate system performance testing score.
In a first aspect, the present application provides a system performance testing method, including:
determining the optimal number of processor cores of at least one target test case in a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
modifying the number of the processor cores of each target test case into the optimal number of the processor cores in the configuration file of the test tool to obtain an optimized configuration file of the test tool;
and obtaining a performance test result of the target operating system by running the optimized configuration file.
In the technical scheme of the embodiment of the application, the optimal number of the processor cores of at least one target test case in a plurality of different test cases of the target operating system is determined according to the historical performance test document of the target operating system, then the number of the processor cores of each target test case is modified into the optimal number of the processor cores in the configuration file of the test tool, the optimized configuration file of the test tool is obtained, and finally the performance test result of the target operating system is obtained by running the optimized configuration file. The method is characterized in that on the basis of obtaining the optimal processor core number of the target test case, the optimized configuration file of the test tool is obtained, and the performance test result of the target operating system is further obtained, which is equivalent to that in the process of obtaining the performance test result, factors influencing the precision of the test score are considered, and the optimal processor core number of the target test case is determined according to the influence factors and the historical performance test document, the optimized configuration file of the test tool is obtained, and the test score of each test case can be more closely attached to the real performance of the target operating system by operating the optimized configuration file, so that the accurate performance test result is obtained.
In one embodiment, determining the optimal number of processor cores of at least one target test case in a plurality of different test cases of a target operating system according to a historical performance test document of the target operating system includes:
acquiring multi-core score trends of a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
and determining the optimal number of processor cores of each target test case according to the multi-core score trend.
In the technical scheme of the embodiment of the application, the multi-core score trends of different test cases are determined based on historical performance test documents, and the optimal number of processor cores is further determined, which is equivalent to that when the optimal number of processor cores is determined, historical data of each test case are considered and are respectively corrected, so that the obtained multi-core score trend has higher reliability, and the determined optimal number of processor cores of each target test case is more accurate.
In one embodiment, obtaining a multi-core score trend of a plurality of different test cases of a target operating system according to a historical performance test document of the target operating system includes:
analyzing the test records of each test case in the historical performance test document to obtain the corresponding test score of each test case under different processor core numbers;
and obtaining the multi-core score trend of each test case according to the corresponding test score of each test case under different numbers of processor cores.
According to the technical scheme, the test scores of the test cases are obtained by analyzing the test records of the test cases, and therefore the test condition of the test cases under the multi-core platform can be objectively and appropriately reflected according to the multi-core score trend obtained by the test scores.
In one embodiment, the method further comprises:
and drawing a multi-core score trend curve graph of each test case according to the corresponding test scores of the test cases under different processor core numbers, wherein the abscissa of the multi-core score trend curve graph represents the processor core number, and the ordinate represents the test score.
In the technical scheme of the embodiment of the application, the relation between the test score and the number of the processor cores of each test case is clearly and intuitively displayed by drawing the multi-core score trend curve graph of each test case, and the multi-core score trend of each test case can be rapidly analyzed.
In one embodiment, determining the optimal number of processor cores of each target test case according to the multi-core score trend comprises:
for any multi-core score trend curve graph, if a curve in the multi-core score trend curve graph has a peak, determining a test case corresponding to the multi-core score trend curve graph as a target test case;
and determining the number of processor cores at the wave crest in the multi-core score trend curve graph of each target test case as the optimal number of processor cores of the corresponding target test case.
According to the technical scheme, the target test case is determined according to whether the wave crest exists in the curve in the multi-core score trend curve graph, the actual trend of the target test case for obtaining the test score is considered, and the target test case can be distinguished rapidly. Then, the number of the processor cores at the wave crest is determined as the optimal number of the processor cores corresponding to the target test case, so that the test score obtained by the target test case can be ensured to be the optimal performance which can be achieved by the corresponding multiprocessing platform, and the obtained score can truly reflect the basic performance of the system.
In one embodiment, the configuration file includes a test case call function; in the configuration file of the test tool, modifying the number of the processor cores of each target test case into the optimal number of the processor cores to obtain the optimized configuration file of the test tool, wherein the method comprises the following steps:
modifying the number of processor cores of each target test case in the test case call function into the optimal number of processor cores in a configuration file of the test tool to obtain an optimized test case call function;
and after the number of the processor cores of each target test case is modified, correspondingly modifying the scope of the relevant variable in the process function corresponding to the test case calling function to obtain the optimized configuration file of the test tool.
According to the technical scheme of the embodiment of the application, the processor core number of each target test case is modified into the optimal processor core number, and the scope of the relevant variable in the process function corresponding to the test case calling function is modified, so that the test tool can normally test the processor performance of the target operating system, and the accurate test score is obtained.
In a second aspect, the present application further provides a system performance testing apparatus, including:
the determining module is used for determining the optimal number of processor cores of at least one target test case in a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
the modification module is used for modifying the number of the processor cores of each target test case into the optimal number of the processor cores in the configuration file of the test tool to obtain the optimized configuration file of the test tool;
and the acquisition module is used for obtaining a performance test result of the target operating system by running the optimized configuration file.
In a third aspect, the present application also provides a computer device. The computer device comprises a memory storing a computer program and a processor implementing the steps of the method in any of the embodiments of the first aspect described above when the processor executes the computer program.
In a fourth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the method in any of the embodiments of the first aspect described above.
In a fifth aspect, the present application further provides a computer program product. The computer program product comprising a computer program which, when executed by a processor, performs the steps of the method in any of the embodiments of the first aspect described above.
Drawings
FIG. 1 is a diagram illustrating an internal structure of a computer device according to an embodiment;
FIG. 2 is a flow diagram illustrating a method for system performance testing in one embodiment;
FIG. 3 is a flowchart of the step of determining the number of optimal processor cores in one embodiment;
FIG. 4 is a schematic flow chart diagram illustrating the multi-core score trend acquisition step in one embodiment;
FIG. 5 is a graph of a multi-core score trend for test cases in one embodiment;
FIG. 6 is a flowchart illustrating the step of determining the number of optimal processor cores in another embodiment;
FIG. 7 is a flowchart illustrating the step of obtaining an optimized configuration file in one embodiment;
FIG. 8 is a flowchart illustrating an optimized profile retrieval procedure in another embodiment;
FIG. 9 is a flow diagram that illustrates the invocation of a test code in one embodiment;
FIG. 10 is a comparison of test scores for different processors in one embodiment;
FIG. 11 is a comparison of test scores for different processors in another embodiment;
FIG. 12 is a block diagram showing an example of a system performance testing apparatus.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as shown in fig. 2. The computer apparatus includes a processor, a memory, an input/output interface, a communication interface, a display unit, and an input device. The processor, the memory and the input/output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input/output interface. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The input/output interface of the computer device is used for exchanging information between the processor and an external device. The communication interface of the computer device is used for carrying out wired or wireless communication with an external terminal, and the wireless communication can be realized through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. The computer program is executed by a processor to implement a system performance testing method. The display unit of the computer device is used for forming a visual picture and can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
UnixBench is a source-opened tool for testing the basic performance of a UNIX system, and is a relatively universal tool for testing the performance of a virtual machine. The UnixBench test provides an evaluation system for system performance, and comprises system reference performances such as system call, read-write, process, pipeline, operation, C library and the like, and the system performance is tested through the grading of the system reference performances. Clearly, a higher score represents better system performance. Furthermore, the UnixBench test usually measures the computation power of CPU integer and floating point, the system scheduling overhead, and the throughput of the hard disk through 12 test cases, and thus evaluates the overall performance. Each test case is explained below, and as shown in table 1, table 1 is an explanation of 12 test cases.
TABLE 1
Figure BDA0004022880450000061
/>
Figure BDA0004022880450000071
When the UnixBench tool tests the whole machine through 12 test cases in Table 1, the difference between the test result and the expected result is large, and the problem of inaccurate test score exists. Based on the above, the application provides a system performance testing method, which is used for testing a target operating system and obtaining an accurate test result. Next, a system performance test method will be explained.
In one embodiment, as shown in fig. 2, a system performance testing method is provided, comprising the steps of:
s202, determining the optimal number of processor cores of at least one target test case in a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system.
The target operating system is a system with a multi-processor core processor and can be tested by a plurality of test cases. The historical performance test document records the performance of each test case in the target operating system. The test case determines the test score according to the number of the processor cores of the target operating system, and the test score is improved along with the increase of the number of the processor cores, however, in the actual test process, the test score of the test case does not accord with the test rule. Then, firstly, the test case which does not accord with the test rule is taken as a target test case, and then the optimal number of processor cores of the target test case is determined according to the historical performance test document of the target operating system, so that the test score of the target test case is ensured to accord with the test rule. It should be noted that the target test case may be one or multiple. In the embodiment of the application, the target operating system has a plurality of target test cases.
S204, modifying the number of the processor cores of each target test case into the optimal number of the processor cores in the configuration file of the test tool to obtain the optimized configuration file of the test tool.
And calling each test case through the configuration file of the test tool so as to test the basic performance of the target operating system. For the test cases with the test scores not conforming to the test rule, namely target test cases, after the optimal number of processor cores of each target test case is determined, the number of the processor cores of each target test case in the configuration file is modified into the optimal number of the processor cores; and for the test cases with the test scores conforming to the test rules, the number of the corresponding processor cores does not need to be modified. And acquiring an optimized configuration file of the test tool by correcting the number of the processor cores of the target test case in each test case.
And S206, obtaining a performance test result of the target operating system by running the optimized configuration file.
After the operation optimization configuration file is obtained, the testing tool tests the basic performance of the target operating system through the optimization configuration file, obtains the test scores of the test cases, and takes the mean value of the test scores of the test cases as the basic performance test result of the target operating system.
In the embodiment of the application, the optimal number of processor cores of at least one target test case in a plurality of different test cases of the target operating system is determined according to a historical performance test document of the target operating system, then the number of the processor cores of each target test case is modified into the optimal number of the processor cores in a configuration file of a test tool to obtain an optimal configuration file of the test tool, and finally a performance test result of the target operating system is obtained by running the optimal configuration file. The method is characterized in that on the basis of obtaining the optimal processor core number of the target test case, the optimal configuration file of the test tool is obtained, and the performance test result of the target operating system is further obtained, so that in the process of obtaining the performance test result, factors influencing the precision of the test score are considered, the optimal processor core number of the target test case is determined according to the factors and the historical performance test document, the optimal configuration file of the test tool is obtained, and the test score of each test case can be more appropriate to the real performance of the target operating system by operating the optimal configuration file, so that the accurate performance test result is obtained.
When testing the performance of the target operating system, the test score is determined according to the number of processor cores of the target operating system. Based on this, the following describes the determination procedure of the number of processor cores of the target test case by an embodiment.
In one embodiment, as shown in fig. 3, determining an optimal number of processor cores of at least one target test case of a plurality of different test cases of a target operating system according to a historical performance test document of the target operating system includes:
s302, according to the historical performance test document of the target operating system, acquiring the multi-core score trend of a plurality of different test cases of the target operating system.
The historical performance test document describes the performance of a plurality of different test cases in the test tool on the multi-CPU platform, namely the performance of the test results of the different test cases on the multi-CPU platform is not consistent. And respectively acquiring the relation between the test score of each test case and the number of processor cores by taking a multi-processor core processor as a platform according to the description information of the historical performance test document, wherein the relation between the test score of each test case and the number of the processor cores is used as the multi-core score trend of different test cases.
And S304, determining the optimal number of processor cores of each target test case according to the multi-core score trend.
And determining the target test cases according to the multi-core score trends of different test cases, and then acquiring the optimal number of processor cores of each target test case according to the multi-core score trends of the target test cases.
In the embodiment of the application, the multi-core score trends of different test cases are determined according to historical performance test documents, and the optimal number of processor cores is further determined, which is equivalent to that historical data of each test case are considered and respectively corrected when the optimal number of processor cores is determined, so that the obtained multi-core score trend has higher reliability, and the determined optimal number of processor cores of each target test case is more accurate.
When acquiring a multi-core score trend, generally, historical data is used as a reference to quickly acquire an accurate multi-core score trend. Based on this, the following describes, by an embodiment, a procedure for acquiring the multi-core score trend of different test cases.
In one embodiment, as shown in fig. 4, obtaining a multi-core score trend of a plurality of different test cases of a target operating system according to a historical performance test document of the target operating system includes:
s402, analyzing the test records of the test cases in the historical performance test document to obtain the corresponding test scores of the test cases under different numbers of processor cores.
According to the test records of each test case in the historical performance test document, under a multi-processor core processor platform, such as a double-channel 32-core multi-NUMA architecture processor, the number of used processor cores is sequentially increased, and the component test scores corresponding to each test case under different processor core numbers are obtained.
Taking a double-path 32-core multi-NUMA architecture processor as an example, the number of used processor cores is sequentially increased, the performance of 12 test cases in the Unixbench index test in the multi-core test is analyzed in detail, and the corresponding test scores of the test cases under different numbers of processor cores are obtained.
S404, obtaining the multi-core score trend of each test case according to the corresponding test scores of each test case under different numbers of processor cores.
It should be noted that the test case corresponds to the multi-core score trend. Taking a test case as an example, under the condition of different numbers of processor cores, obtaining the test score of the test case, and obtaining the multi-core score trend of the test case according to the numbers of the processor cores and the test score.
In the embodiment of the application, the test score of each test case is obtained by analyzing the test record of each test case, so that the test condition of each test case under a multi-core platform can be objectively and appropriately reflected according to the multi-core score trend obtained by the test score.
After a multi-core score trend is obtained, the trend is generally graphically characterized to facilitate data analysis. Based on this, the following describes how to characterize the multi-core score trend of each test case by one embodiment.
In one embodiment, the method further comprises:
and drawing a multi-core score trend curve graph of each test case according to the corresponding test scores of the test cases under different numbers of processor cores, wherein the abscissa of the multi-core score trend curve graph represents the number of the processor cores, and the ordinate represents the test scores.
Each test case corresponds to one multi-core score trend graph, the abscissa of each multi-core score trend graph represents the number of processor cores, and the ordinate corresponds to the test scores of the test cases under different numbers of processor cores. Taking test case execl as an example, a multi-core score trend graph of execl is shown in fig. 5, wherein the abscissa of the graph represents the number of processor cores, and the ordinate represents the test score.
In the embodiment of the application, the multi-core score trend curve graph of each test case is drawn, the relation between the test score of each test case and the number of processor cores is clearly and intuitively displayed, and the multi-core score trend of each test case can be rapidly analyzed.
When the optimal number of processor cores is determined, the optimal number of processor cores is usually obtained according to the multi-core score trend of each test case, so that the test score obtained according to the optimal number of processor cores is accurate. Based on this, the determination step of the optimal number of processor cores is explained below by an embodiment.
In one embodiment, as shown in fig. 6, determining the optimal number of processor cores for each target test case according to the multi-core score trend includes:
s602, aiming at any multi-core score trend curve graph, if a peak exists in a curve in the multi-core score trend curve graph, determining a test case corresponding to the multi-core score trend curve graph as a target test case.
After obtaining the multi-core score trend curve chart of each test case, judging whether a curve in each multi-core score trend curve chart has a peak, if not, indicating that the test score of the test case is improved along with the increase of the number of the processor cores, namely the test score of the test case accords with the preset expectation of a test tool, and in the actual test, the number of the processor cores of the test case does not need to be set; if the peak exists, it is indicated that the test score of the test case is not always improved along with the increase of the number of the processor cores, and may be reduced or unchanged along with the increase of the number of the processor cores, that is, the test case does not meet the preset expectation of the test tool, and needs to be further set, specifically, a multi-core score trend graph in which the peak exists in the curve is determined as a multi-core score trend graph of the target test case.
S604, determining the number of the processor cores at the wave crest in the multi-core score trend graph of each target test case as the optimal number of the processor cores corresponding to the target test case.
After the multi-core score trend graphs of the target test cases are determined, peaks exist in the multi-core score trend graphs, and the number of the processor cores at the peaks in the multi-core score trend graphs is determined as the number of the processor cores corresponding to the target test cases, namely the number of the optimal processor cores.
Still taking fig. 5 as an example, as can be seen from fig. 5, when the number of processor cores is 12, the test score of execl has a peak, and then the optimal number of processor cores of the target test case execl is 12.
In the embodiment of the application, the target test case is determined according to whether the curve in the multi-core score trend curve graph has a peak or not, the actual trend of the target test case for obtaining the test score is considered, and the target test case can be distinguished rapidly. Then, the number of the processor cores at the wave crest is determined as the optimal number of the processor cores corresponding to the target test case, so that the test score obtained by the target test case can be ensured to be the optimal performance which can be achieved by the corresponding multiprocessing platform, and the obtained score can truly reflect the basic performance of the system.
After the optimal number of the processor cores of each test case is determined, the test parameters of the test tool need to be modified correspondingly, and the precision of the test scores is improved. Based on this, the following describes an optimized configuration process of the test tool by an embodiment.
In one embodiment, as shown in FIG. 7, the configuration file includes a test case call function; in the configuration file of the test tool, modifying the number of the processor cores of each target test case into the optimal number of the processor cores to obtain the optimized configuration file of the test tool, wherein the method comprises the following steps:
s702, modifying the number of the processor cores of each target test case in the test case call function into the optimal number of the processor cores in the configuration file of the test tool to obtain an optimized test case call function.
It should be noted that, the test tool tests the target operating system through the test case call function in the configuration file, the test score of each test case is determined according to the number of processor cores in the target operating system, and according to the mechanism of the test tool, each processor core runs a copy of the single-core test during the multi-core test, so that the more the number of processor cores, the higher the score should be. However, in actual testing, the test score of each test case does not increase with the number of processor cores, and a problem of a large difference between the test result and the expected result occurs. Therefore, the real performance of the multi-core processor can be reflected by the test scores of the test cases by modifying the number of the processor cores of the target test case, namely the number of the processor cores corresponding to the test cases with the test results inconsistent with the expected results.
After the target test cases and the corresponding optimal processor core number are determined, the processor core number of each target test case is modified into the optimal processor core number, so that the test score of each target test case always reflects the optimal performance of the processor, and the test score of each target test case is prevented from being inconsistent with an expected result.
S704, after the number of the processor cores of each target test case is modified, the scope of the relevant variable in the process function corresponding to the test case calling function is correspondingly modified, and the optimized configuration file of the test tool is obtained.
After the number of processor cores of each target test case in the test tool is configured, the relevant variables corresponding to the number of processor cores in the file, namely, the scope of the relevant variables in the process function corresponding to the test case calling function, need to be further configured, so as to ensure that the optimized configuration file can be normally executed by the test tool.
Taking a testing tool UnixBench as an example, a flowchart for obtaining a UnixBench optimization configuration file is shown in fig. 8;
and S802, consulting a usage document of the UnixBench test tool.
S804, multi-kernel score trend analysis is carried out on 12 test items corresponding to 12 test cases of UnixBench on the platform of the sea light processor.
And S806, obtaining an optimized configuration file of the UnixBench according to the analysis result.
UnixBench is a general purpose operation configuration file to build related commands to complete specific tests, and the operation configuration file is written by using Perl language. In the running configuration file, a code calling flow of a test is as shown in fig. 9, and according to the code calling flow of the test command in the running configuration file, firstly, the running Benchmark function is modified, and the numactl command is used to make the number of processor cores used by the target test case in the multi-task test be the optimal number of processor cores of the target test case. And secondly, modifying and running an OnePass function, and appointing a UnixBench tool to create a program process corresponding to the optimal number of processor cores for testing. And finally, modifying the scope of the related variables in the OnePass function and the Benchmark function, and operating the springf statement in the Benchmark function, so as to ensure that the operating configuration file can be normally executed by the UnixBench tool.
In the embodiment of the application, the processor core number of each target test case is modified into the optimal processor core number, and the scope of the relevant variable in the process function corresponding to the test case calling function is modified, so that the test tool can normally test the processor performance of the target operating system, and the accurate test score is obtained.
In one embodiment, a system performance testing method is provided, comprising the steps of:
(1) And analyzing the test records of the test cases in the historical performance test document to obtain the corresponding test scores of the test cases under different numbers of processor cores.
(2) And obtaining the multi-core score trend of each test case according to the corresponding test score of each test case under different numbers of processor cores.
(3) And drawing a multi-core score trend curve graph of each test case according to the corresponding test scores of the test cases under different numbers of processor cores, wherein the abscissa of the multi-core score trend curve graph represents the number of the processor cores, and the ordinate represents the test scores.
(4) Aiming at any multi-core score trend curve graph, if a curve in the multi-core score trend curve graph has a peak, determining a test case corresponding to the multi-core score trend curve graph as a target test case;
(5) And determining the number of processor cores at the wave crest in the multi-core score trend curve graph of each target test case as the optimal number of processor cores corresponding to the target test case.
(6) And the configuration file comprises a test case call function, and the number of the processor cores of each target test case in the test case call function is modified into the optimal number of the processor cores in the configuration file of the test tool, so that the optimized test case call function is obtained.
(7) And after the number of the processor cores of each target test case is modified, correspondingly modifying the scope of the relevant variable in the process function corresponding to the test case calling function to obtain an optimized configuration file of the test tool.
(8) And obtaining a performance test result of the target operating system by running the optimized configuration file.
In the embodiment of the application, the optimal number of processor cores of at least one target test case in a plurality of different test cases of the target operating system is determined according to a historical performance test document of the target operating system, then the number of the processor cores of each target test case is modified into the optimal number of the processor cores in a configuration file of a test tool to obtain an optimal configuration file of the test tool, and finally a performance test result of the target operating system is obtained by running the optimal configuration file. The method is characterized in that on the basis of obtaining the optimal processor core number of the target test case, the optimized configuration file of the test tool is obtained, and the performance test result of the target operating system is further obtained, which is equivalent to that in the process of obtaining the performance test result, factors influencing the precision of the test score are considered, and the optimal processor core number of the target test case is determined according to the influence factors and the historical performance test document, the optimized configuration file of the test tool is obtained, and the test score of each test case can be more closely attached to the real performance of the target operating system by operating the optimized configuration file, so that the accurate performance test result is obtained.
In one embodiment, a set of comparative experiments are provided to illustrate the effectiveness of the system performance testing method proposed in the present application: two types of multi-NUMA architecture processors are used as experimental platforms, when a UnixBench test tool is used for testing, the result is shown in FIG. 10, FIG. 10 is a comparison graph of test scores of different processors when a configuration file is not optimized, as can be seen from FIG. 10, the total score of a 32-core multi-NUMA architecture processor is lower than that of a 16-core multi-MUNA architecture processor by 4%, and obviously, the obtained system test score does not accord with an expected result. Next, the UnixBench test tool is configured and optimized through the system performance test method provided by the present application, and the two types of multi-NUMA architecture processors are tested again, with the result shown in fig. 11, where fig. 11 is a comparison graph of test scores of different processors after the configuration file is optimized, as can be seen from fig. 11, the performance of a 32-core multi-MUNA architecture processor is improved by 14% compared with the performance of a 16-core multi-NUMA architecture processor, and the problem that the score of multiple tasks in the index test result of the UnixBench is not always improved along with the increase of the number of processor cores, and is far from the expected result is solved.
It should be understood that, although the steps in the flowcharts related to the embodiments as described above are sequentially displayed as indicated by arrows, the steps are not necessarily performed sequentially as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least a part of the steps in the flowcharts related to the embodiments described above may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, and the execution order of the steps or stages is not necessarily sequential, but may be performed alternately or alternately with other steps or at least a part of the steps or stages in other steps.
Based on the same inventive concept, the embodiment of the present application further provides a system performance testing apparatus for implementing the system performance testing method. The implementation scheme for solving the problem provided by the apparatus is similar to the implementation scheme described in the method, so the specific limitations in one or more embodiments of the system performance testing apparatus provided below may refer to the limitations on the system performance testing method in the foregoing, and details are not described here.
In one embodiment, as shown in fig. 12, there is provided a system performance testing apparatus 1200, comprising: a determination module 1220, a modification module 1240, and an acquisition module 1260, wherein:
a determining module 1220, configured to determine, according to the historical performance test document of the target operating system, an optimal number of processor cores of at least one target test case of multiple different test cases of the target operating system;
the modification module 1240 is used for modifying the number of the processor cores of each target test case into the optimal number of the processor cores in the configuration file of the test tool to obtain an optimized configuration file of the test tool;
the obtaining module 1260 is configured to obtain a performance test result of the target operating system by running the optimized configuration file.
In one embodiment, the determining module 1220 includes: a first acquisition unit and a first determination unit, wherein:
the first acquisition unit is used for acquiring the multi-core score trend of a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
and the first determining unit is used for determining the optimal number of the processor cores of each target test case according to the multi-core score trend.
In one embodiment, the first obtaining unit includes: a first acquisition subunit and a second acquisition subunit, wherein:
the first obtaining subunit is used for analyzing the test records of the test cases in the historical performance test document and obtaining the corresponding test scores of the test cases under different numbers of processor cores;
and the second obtaining subunit is used for obtaining the multi-core score trend of each test case according to the corresponding test score of each test case under different numbers of processor cores.
In one embodiment, the system performance testing apparatus 1200 further includes: and the drawing module is used for drawing a multi-core score trend curve graph of each test case according to the corresponding test scores of the test cases under different numbers of processor cores, wherein the abscissa of the multi-core score trend curve graph represents the number of the processor cores, and the ordinate represents the test scores.
In one embodiment, the first determination unit includes: a first determining subunit and a second determining subunit, wherein:
the first determining subunit is used for determining that a test case corresponding to the multi-core score trend curve graph is a target test case if a peak exists in a curve in the multi-core score trend curve graph;
and the second determining subunit is used for determining the number of the processor cores at the wave crest in the multi-core score trend curve graph of each target test case as the optimal number of the processor cores corresponding to the target test case.
In one embodiment, modification module 1240 includes: a second acquisition unit and a second determination unit, wherein:
the second obtaining unit is used for modifying the number of the processor cores of each target test case in the test case calling function into the optimal number of the processor cores in the configuration file of the test tool to obtain an optimized test case calling function;
and the second determining unit is used for correspondingly modifying the scope of the relevant variable in the process function corresponding to the test case calling function after the number of the processor cores of each target test case is modified, so as to obtain the optimized configuration file of the test tool.
The modules in the system performance testing device may be implemented wholly or partially by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, comprising a memory and a processor, the memory having a computer program stored therein, the processor implementing the following steps when executing the computer program:
determining the optimal number of processor cores of at least one target test case in a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
in the configuration file of the test tool, modifying the number of processor cores of each target test case into the optimal number of processor cores to obtain an optimized configuration file of the test tool;
and obtaining a performance test result of the target operating system by running the optimized configuration file.
In one embodiment, the processor, when executing the computer program, further performs the steps of:
acquiring multi-core score trends of a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
and determining the optimal number of processor cores of each target test case according to the multi-core score trend.
In one embodiment, the processor, when executing the computer program, further performs the steps of:
analyzing the test records of each test case in the historical performance test document to obtain the corresponding test score of each test case under different numbers of processor cores;
and obtaining the multi-core score trend of each test case according to the corresponding test score of each test case under different processor core numbers.
In one embodiment, the processor, when executing the computer program, further performs the steps of:
and drawing a multi-core score trend curve graph of each test case according to the corresponding test scores of the test cases under different numbers of processor cores, wherein the abscissa of the multi-core score trend curve graph represents the number of the processor cores, and the ordinate represents the test scores.
In one embodiment, the processor, when executing the computer program, further performs the steps of:
for any multi-core score trend curve graph, if a peak exists in a curve in the multi-core score trend curve graph, determining a test case corresponding to the multi-core score trend curve graph as a target test case;
and determining the number of processor cores at the wave crest in the multi-core score trend curve graph of each target test case as the optimal number of processor cores of the corresponding target test case.
In one embodiment, the processor, when executing the computer program, further performs the steps of:
modifying the number of processor cores of each target test case in the test case call function into the optimal number of processor cores in a configuration file of the test tool to obtain an optimized test case call function;
and after the number of the processor cores of each target test case is modified, correspondingly modifying the scope of the relevant variable in the process function corresponding to the test case calling function to obtain the optimized configuration file of the test tool.
In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored which, when executed by a processor, performs the steps of:
determining the optimal number of processor cores of at least one target test case in a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
modifying the number of the processor cores of each target test case into the optimal number of the processor cores in the configuration file of the test tool to obtain an optimized configuration file of the test tool;
and obtaining a performance test result of the target operating system by running the optimized configuration file.
In one embodiment, the computer program when executed by the processor further performs the steps of:
acquiring multi-core score trends of a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
and determining the optimal number of processor cores of each target test case according to the multi-core score trend.
In one embodiment, the computer program when executed by the processor further performs the steps of:
analyzing the test records of each test case in the historical performance test document to obtain the corresponding test score of each test case under different numbers of processor cores;
and obtaining the multi-core score trend of each test case according to the corresponding test score of each test case under different processor core numbers.
In one embodiment, the computer program when executed by the processor further performs the steps of:
and drawing a multi-core score trend curve graph of each test case according to the corresponding test scores of the test cases under different numbers of processor cores, wherein the abscissa of the multi-core score trend curve graph represents the number of the processor cores, and the ordinate represents the test scores.
In one embodiment, the computer program when executed by the processor further performs the steps of:
for any multi-core score trend curve graph, if a curve in the multi-core score trend curve graph has a peak, determining a test case corresponding to the multi-core score trend curve graph as a target test case;
and determining the number of processor cores at the wave crest in the multi-core score trend curve graph of each target test case as the optimal number of processor cores of the corresponding target test case.
In one embodiment, the computer program when executed by the processor further performs the steps of:
modifying the number of processor cores of each target test case in the test case call function into the optimal number of processor cores in a configuration file of the test tool to obtain an optimized test case call function;
and after the number of the processor cores of each target test case is modified, correspondingly modifying the scope of the relevant variable in the process function corresponding to the test case calling function to obtain the optimized configuration file of the test tool.
In one embodiment, a computer program product is provided, comprising a computer program which, when executed by a processor, performs the steps of:
determining the optimal number of processor cores of at least one target test case in a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
in the configuration file of the test tool, modifying the number of processor cores of each target test case into the optimal number of processor cores to obtain an optimized configuration file of the test tool;
and obtaining a performance test result of the target operating system by running the optimized configuration file.
In one embodiment, the computer program when executed by the processor further performs the steps of:
acquiring multi-core score trends of a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
and determining the optimal number of processor cores of each target test case according to the multi-core score trend.
In one embodiment, the computer program when executed by the processor further performs the steps of:
analyzing the test records of each test case in the historical performance test document to obtain the corresponding test score of each test case under different numbers of processor cores;
and obtaining the multi-core score trend of each test case according to the corresponding test score of each test case under different numbers of processor cores.
In one embodiment, the computer program when executed by the processor further performs the steps of:
and drawing a multi-core score trend curve graph of each test case according to the corresponding test scores of the test cases under different numbers of processor cores, wherein the abscissa of the multi-core score trend curve graph represents the number of the processor cores, and the ordinate represents the test scores.
In one embodiment, the computer program when executed by the processor further performs the steps of:
for any multi-core score trend curve graph, if a peak exists in a curve in the multi-core score trend curve graph, determining a test case corresponding to the multi-core score trend curve graph as a target test case;
and determining the number of the processor cores at the wave crest in the multi-core score trend curve graph of each target test case as the optimal number of the processor cores corresponding to the target test case.
In one embodiment, the computer program when executed by the processor further performs the steps of:
modifying the number of processor cores of each target test case in the test case call function into the optimal number of processor cores in a configuration file of the test tool to obtain an optimized test case call function;
and after the number of the processor cores of each target test case is modified, correspondingly modifying the scope of the relevant variable in the process function corresponding to the test case calling function to obtain an optimized configuration file of the test tool.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, database, or other medium used in the embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high-density embedded nonvolatile Memory, resistive Random Access Memory (ReRAM), magnetic Random Access Memory (MRAM), ferroelectric Random Access Memory (FRAM), phase Change Memory (PCM), graphene Memory, and the like. Volatile Memory can include Random Access Memory (RAM), external cache Memory, and the like. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM), among others. The databases involved in the embodiments provided herein may include at least one of relational and non-relational databases. The non-relational database may include, but is not limited to, a block chain based distributed database, and the like. The processors referred to in the embodiments provided herein may be general purpose processors, central processing units, graphics processors, digital signal processors, programmable logic devices, quantum computing based data processing logic devices, etc., without limitation.
All possible combinations of the technical features in the above embodiments may not be described for the sake of brevity, but should be considered as being within the scope of the present disclosure as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present application. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.

Claims (10)

1. A method for system performance testing, the method comprising:
determining the optimal number of processor cores of at least one target test case in a plurality of different test cases of a target operating system according to the historical performance test document of the target operating system;
modifying the number of the processor cores of each target test case into the optimal number of the processor cores in a configuration file of a test tool to obtain an optimized configuration file of the test tool;
and obtaining a performance test result of the target operating system by operating the optimized configuration file.
2. The method of claim 1, wherein determining an optimal number of processor cores for at least one target test case of a plurality of different test cases for a target operating system based on historical performance test documentation for the target operating system comprises:
acquiring a multi-core score trend of a plurality of different test cases of a target operating system according to a historical performance test document of the target operating system;
and determining the optimal number of processor cores of each target test case according to the multi-core score trend.
3. The method according to claim 2, wherein the obtaining a trend of multi-core scores of a plurality of different test cases of a target operating system according to a historical performance test document of the target operating system comprises:
analyzing the test record of each test case in the historical performance test document to obtain the corresponding test score of each test case under different numbers of processor cores;
and obtaining the multi-core score trend of each test case according to the corresponding test score of each test case under different numbers of processor cores.
4. The method of claim 3, further comprising:
and drawing a multi-core score trend curve graph of each test case according to the corresponding test scores of the test cases under different numbers of processor cores, wherein the abscissa of the multi-core score trend curve graph represents the number of the processor cores, and the ordinate represents the test scores.
5. The method of claim 4, wherein determining the optimal number of processor cores for each of the target test cases according to the multi-core score trend comprises:
for any multi-core score trend curve graph, if a curve in the multi-core score trend curve graph has a peak, determining that a test case corresponding to the multi-core score trend curve graph is the target test case;
and determining the number of processor cores at the peak position in the multi-core score trend curve graph of each target test case as the optimal number of processor cores of the corresponding target test case.
6. The method of any of claims 1-5, wherein the configuration file comprises a test case call function; in the configuration file of the test tool, modifying the number of the processor cores of each target test case into the optimal number of the processor cores to obtain an optimized configuration file of the test tool, including:
modifying the number of the processor cores of each target test case in the test case calling function into the optimal number of the processor cores in the configuration file of the test tool to obtain an optimized test case calling function;
and after the number of the processor cores of each target test case is modified, correspondingly modifying the scope of the relevant variable in the process function corresponding to the test case calling function to obtain the optimized configuration file of the test tool.
7. A system performance testing apparatus, the apparatus comprising:
the determining module is used for determining the optimal number of processor cores of at least one target test case in a plurality of different test cases of the target operating system according to the historical performance test document of the target operating system;
the modification module is used for modifying the number of the processor cores of each target test case into the optimal number of the processor cores in a configuration file of a test tool to obtain an optimized configuration file of the test tool;
and the acquisition module is used for obtaining a performance test result of the target operating system by operating the optimized configuration file.
8. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor, when executing the computer program, implements the steps of the method of any of claims 1 to 6.
9. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 6.
10. A computer program product comprising a computer program, characterized in that the computer program realizes the steps of the method of any one of claims 1 to 6 when executed by a processor.
CN202211694589.0A 2022-12-28 2022-12-28 System performance testing method, apparatus, device, medium, and program product Pending CN115981980A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211694589.0A CN115981980A (en) 2022-12-28 2022-12-28 System performance testing method, apparatus, device, medium, and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211694589.0A CN115981980A (en) 2022-12-28 2022-12-28 System performance testing method, apparatus, device, medium, and program product

Publications (1)

Publication Number Publication Date
CN115981980A true CN115981980A (en) 2023-04-18

Family

ID=85966269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211694589.0A Pending CN115981980A (en) 2022-12-28 2022-12-28 System performance testing method, apparatus, device, medium, and program product

Country Status (1)

Country Link
CN (1) CN115981980A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116204399A (en) * 2023-05-06 2023-06-02 麒麟软件有限公司 Automatic performance test method and system for Linux system
CN116610372A (en) * 2023-07-14 2023-08-18 腾讯科技(深圳)有限公司 CPU configuration method, device and related products

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116204399A (en) * 2023-05-06 2023-06-02 麒麟软件有限公司 Automatic performance test method and system for Linux system
CN116204399B (en) * 2023-05-06 2023-08-08 麒麟软件有限公司 Automatic performance test method and system for Linux system
CN116610372A (en) * 2023-07-14 2023-08-18 腾讯科技(深圳)有限公司 CPU configuration method, device and related products
CN116610372B (en) * 2023-07-14 2024-02-09 腾讯科技(深圳)有限公司 CPU configuration method, device and related products

Similar Documents

Publication Publication Date Title
US11243816B2 (en) Program execution on heterogeneous platform
CN115981980A (en) System performance testing method, apparatus, device, medium, and program product
CN110741354A (en) Presenting differences between code entity invocations
CN108205469B (en) MapReduce-based resource allocation method and server
US8359291B2 (en) Architecture-aware field affinity estimation
US20140215483A1 (en) Resource-usage totalizing method, and resource-usage totalizing device
US7231634B2 (en) Method for determining scope and cause of memory corruption
CN115757066A (en) Hard disk performance test method, device, equipment, storage medium and program product
US10318122B2 (en) Determining event and input coverage metrics for a graphical user interface control instance
US7739083B2 (en) Program and/or method for calculating tuning parameters for numerical computation library
CN109471787B (en) Software quality evaluation method and device, storage medium and electronic equipment
Fedorova et al. Performance comprehension at WiredTiger
CN113051153B (en) Application software vulnerability scanning method and related equipment
Lim et al. R High Performance Programming
CN115114230A (en) File testing method and system, electronic equipment and readable storage medium
CN113094052A (en) Application construction method and device, computer equipment and storage medium
CN113220586A (en) Automatic interface pressure test execution method, device and system
Gomes et al. Memory allocation anomalies in high‐performance computing applications: a study with numerical simulations
CN116088934B (en) Software development workload determination method and server
CN114661301B (en) Graphics processing unit compiling method, device, compiling acceleration library and storage medium
Nutt A case study of simulation as a computer system design tool
US20210405969A1 (en) Computer-readable recording medium recording arithmetic processing program, arithmetic processing method, and arithmetic processing device
CN115718701A (en) Program testing method, program testing device, computer equipment and storage medium
CN115904839A (en) Memory bandwidth detection method, device, equipment and storage medium
CN117951010A (en) Function test method, function test device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination