1 Overview 1.1 Background
The background of this paper is the phenomenon of insufficient use of server resources in the computer room, in order to reasonably divide
Resources, it is necessary to evaluate the performance of the server itself and explore a set of evaluation methods to provide a basis for the rational allocation of subsequent resources.
1.2 Evaluation indicators
In a nutshell, server hardware performance metrics come from test objects, typically x86 server primary groups
CPU, memory, hard disk, network card and so on. For a single machine, the evaluation indicators focus on CPU, memory, IO, network, for the cluster, focus on the network, high availability.
This article mainly evaluates the single machine performance, the indicator is as follows:
cpu-computing Power
Memory-delay, rate
io-Reading and writing ability
Network-Network bandwidth
1.3 Tools Overview
CPU Mainstream evaluation tool has the Linux platform Speccpu, linpack,windows platform Sandra.
The Memory mainstream evaluation tool has the Sandra of the Linux platform's Stream,windows platform.
The IO Mainstream evaluation tool has the iometer of the Linux platform's Iozone,windows platform.
The Network mainstream evaluation tool has the Linux platform Iperf, Netperf.
Other tools for evaluating the overall system are no longer introduced, such as Spec series, TPC Reference series.
2 CPU Performance 2.1 Evaluation method
There are 3 important concepts about Linux Testing CPU performance: Context Switchs, run queue, and utilization (utilization).
The most important CPU items in a business run are usage rates, which are highly correlated with the business load and are usually available through monitoring software or Linux system tools.
Another basic evaluation value is the ability to compute, including integers, floating-point calculations, and SPECCPU, linpack tests can be used.
2.2 Evaluation tools
CPU usage is the most important performance item in peacetime and can be used with system tools or third-party tools. Specific tools are no longer detailed.
CPU integer, floating-point computing power, is the server to publish the required items, but for the customer is not very important, the customer is concerned about whether the ability of the business runtime CPU will become a bottleneck. Evaluation tools are mainly SPECCPU2006, Linpack:
Spec CPU 2006 includes CINT2006 and C FP2006 two sub-projects, the former for measuring and comparing integer performance, while the latter is used to measure and compare floating-point performance, Spec CPU 2006 includes 12 integer operations and 17 floating-point operations.
Linpack is now internationally the most popular benchmark for testing the floating-point performance of a HPC system. By using the high-performance computer, the Gaussian elimination method is used to solve the test of a dense linear algebraic equation of n-element, and the floating-point performance of HPC is evaluated, and the test results are given by floating-point operation (Flops) per second.
3 Memory Performance 3.1 evaluation method
Memory performance is a general concern of the indicator is the delay, bandwidth, testing method is used under Windows Sandra,linux using stream for evaluation, you can get the current memory actual rate, delay. This is a separate test method for memory, but in practice the memory is often measured in terms of stress, stability, performance testing, and memory usage.
3.2 Evaluation Tools
Stream is one of the industry's most popular integrated memory bandwidth real-world performance measurement tools. As the number of processor cores increases, memory bandwidth becomes more important to improve the performance of the entire system, and if a system is not able to rapidly transfer in-memory data to the processor, several processing cores are waiting for the data to be idle. The resulting idle time will not only reduce the efficiency of the system, but also offset the multi-core and high frequency of the performance improvement factors. Stream has a good spatial locality and is a TLB-friendly, cache-friendly test. Stream supports four operations such as copy, scale, ADD, Triad.
4 IO Performance 4.1 evaluation method
Server storage performance refers to the IO performance, usually the focus of the evaluation is a variety of data blocks (512B, 4K, 2M ...) Reading and writing ability, the specific indicators are IOPS, bandwidth, latency. The test principle is the ability of the tool to test the entire IO by compressing the storage and generating various read and write operations.
4.2 Evaluation Tools
Iometer is the software that tests the read and write performance of the storage subsystem under Windows systems. You can display the maximum IO capacity of the disk system, the maximum throughput of the disk system, CPU utilization, error messages, and so on. Users can test the actual application's read-write environment by setting parameters for different tests, having access types (such as sequential, random), reading and writing block sizes (such as 64K, 256K), queue depths, and so on.
IOzone is primarily used to test the performance of operating system file system testing tools, the tool has been tested in the scope of the main, write, re-write, Read, re-read, random Read, random write, random Mix, backward s read, Record Rewrite, strided read, Fwrite, Frewrite, Fread, Freread, Mmap, Async I/O. The IOzone can be used to test file operation performance in multi-threaded, multi-CPU, and specifying the CPU cache space size and synchronous or asynchronous I/O read-write mode.
5 Network Performance 5.1 evaluation method
Network bandwidth is not difficult to understand, is the system to send and receive packets when the maximum flow, generally divided into TCP, UDP two modes. The performance of network card is mainly affected by the performance of server networks, other such as system kernel and driver are related factors. The test method generally requires 2 servers to receive the package, one end server, one end client.
5.2 Evaluation Tools
Iperf is a network performance testing tool. Iperf can test TCP and UDP bandwidth quality. The Iperf can measure the maximum TCP bandwidth with multiple parameters and UDP characteristics. Iperf can report bandwidth, delay jitter, and packet loss. Using Iperf, this feature can be used to test the performance of some network devices such as routers, firewalls, switches, and so on.
Netperf is a measurement tool for network performance, primarily for TCP-or UDP-based transmissions.
Netperf depending on the application, the network performance test can be performed in different modes, i.e. bulk data transfer (bulk data transfer) mode and request/response (Request/reponse) mode. The Netperf test results reflect how quickly a system can send data to another system, and how quickly another system can receive data.
Server performance Evaluation method