UnixBench is a performance testing tool under Unix-like systems (Unix, BSD, Linux ) . It is an open source tool and is widely used to test the performance of Linux system hosts. The main test items of Unixbench include: system calls, reading and writing, processes, graphical tests, 2D, 3D, pipelines, operations, C libraries and other system benchmark performance to provide test data.
The latest version of UnixBench5.1.3 includes system and graphics tests. If you need to test graphics, you need to modify the Makefile and do not comment out "GRAPHIC_TESTS = defined". At the same time, the system needs to provide the x11perf command gl_glibs library.
The following script is tested using the latest version of UnixBench5.1.3, with annotated test items about graphics (most VPSs do not have graphics cards or integrated graphics, so graphics performance does not need to be tested). After running for 10-30 minutes (depending on the CPU core Quantity, operation time varies) to get a score, the higher the better.The article originates fromSinsTu NI-https://www.sinstu.com/archives/53.html
Test Methods:The article originates fromSinsTu NI-https://www.sinstu.com/archives/53.html
wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.shThe article originates fromSinsTu NI-https://www.sinstu.com/archives/53.html
chmod +x unixbench.shThe article originates fromSinsTu NI-https://www.sinstu.com/archives/53.html
./unixbench.shThe article originates fromSinsTu NI-https://www.sinstu.com/archives/53.html
Test project:
Dhrystone 2 using register variables
This item is used to test string handling. Because there are no floating point operations, it is popular among software and hardware design (hardware and software design), compilation and linker options (compiler and linker options), code optimization (code Optimazaton), the impact on memory cache (cache memory), wait states (wait states), and integer data types (integer data types).The article originates fromSinsTu NI-https://www.sinstu.com/archives/53.html
Double-Precision Whetstone
tests the speed and efficiency of floating point operations. This test consists of several modules, each of which includes a set of operations for scientific computing. A wide range of C functions: sin, cos, sqrt, exp, log are used for mathematical operations on integers and floating point numbers, array access, conditional branches and program calls. This test tests both integer and floating point arithmetic operations.The article originates fromSinsTu NI-https://www.sinstu.com/archives/53.html
Execl Throughput
This test examines the number of execl system calls that can be executed per second. The execl system call is a member of the exec family of functions. It is a front-end to the execve() function, along with several other similar commands.The article originates fromSinsTu NI-https://www.sinstu.com/archives/53.html
File copy
tests the rate at which data is transferred from one file to another. Each test uses a different size buffer. This test for file read, write, and copy operations counts the number of file read, write, and copy operations within a specified time (default is 10s).The article originates fromSinsTu NI-https://www.sinstu.com/archives/53.html
Pipe Throughput
Pipe (pipe) is the simplest way to communicate between processes. Pipe throughtput here refers to the number of times a process can write 512 bytes of data to a pipe and then read it back in one second. It should be noted that pipe throughput has no real counterpart in actual programming.The article originates fromSinsTu NI-https://www.sinstu.com/archives/53.html
Pipe-based Context Switching
tests the number of times (per second) that two processes exchange a growing integer through a pipe. This is very similar to some applications in real programming. This test program first creates a child process, and then performs two-way pipe transmission with this child process.
Process Creation
tests the number of times a process can create a child process and then retract the child process per second (the child process must exit immediately). The focus of process creation is the creation and memory allocation of the new process process control block (process control block), that is, a sharp focus on memory bandwidth. Generally, this test is used to compare different implementations of this system call created by an operating system process.
System Call Overhead
tests the cost of entering and leaving the operating system kernel, that is, the cost of a system call. It achieves this by using a small program that repeatedly calls the getpid function.
Shell Scripts
tests the number of times a process can concurrently start n copies of a shell script within one second. n generally takes the value 1, 2, 4, or 8. (I took 1, 8 when testing). This script performs a series of transformation operations on a data file.
The following are the running results of my 512MB, 2-core, OpenVZ VPS:
BYTE UNIX Benchmarks (Version 5.1.3)
System: vpn: GNU/Linux
OS: GNU/Linux -- 2.6.32-042stab076.8 -- #1 SMP Tue May 14 20:38:14 MSK 2013
Machine: i686 (i386)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Xeon(R) CPU L5520 @ 2.27GHz (4533.6 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 1: Intel(R) Xeon(R) CPU L5520 @ 2.27GHz (4533.6 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
09:41:17 up 31 days, 9:21, 1 user, load average: 0.23, 0.05, 0.02; runlevel 3
------------------------------------------------------------------------
Benchmark Run: Mon Jul 29 2013 09:41:17 - 10:09:29
2 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 17172222.3 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2600.2 MWIPS (10.0 s, 7 samples)
Execl Throughput 4152.8 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 622759.5 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 172634.3 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1218236.9 KBps (30.0 s, 2 samples)
Pipe Throughput 1416230.5 lps (10.0 s, 7 samples)
Pipe-based Context Switching 206509.4 lps (10.0 s, 7 samples)
Process Creation 8568.6 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 3145.9 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 528.3 lpm (60.0 s, 2 samples)
System Call Overhead 1528474.7 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 17172222.3 1471.5
Double-Precision Whetstone 55.0 2600.2 472.8
Execl Throughput 43.0 4152.8 965.8
File Copy 1024 bufsize 2000 maxblocks 3960.0 622759.5 1572.6
File Copy 256 bufsize 500 maxblocks 1655.0 172634.3 1043.1
File Copy 4096 bufsize 8000 maxblocks 5800.0 1218236.9 2100.4
Pipe Throughput 12440.0 1416230.5 1138.4
Pipe-based Context Switching 4000.0 206509.4 516.3
Process Creation 126.0 8568.6 680.0
Shell Scripts (1 concurrent) 42.4 3145.9 742.0
Shell Scripts (8 concurrent) 6.0 528.3 880.5
System Call Overhead 15000.0 1528474.7 1019.0
========
System Benchmarks Index Score 960.4
------------------------------------------------------------------------
Benchmark Run: Mon Jul 29 2013 10:09:29 - 10:39:56
2 CPUs in system; running 2 parallel copies of tests
Dhrystone 2 using register variables 16851634.7 lps (10.0 s, 7 samples)
Double-Precision Whetstone 5182.9 MWIPS (10.0 s, 7 samples)
Execl Throughput 4101.9 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 635244.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 174430.2 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1219982.0 KBps (30.0 s, 2 samples)
Pipe Throughput 1387297.9 lps (10.0 s, 7 samples)
Pipe-based Context Switching 196296.1 lps (10.0 s, 7 samples)
Process Creation 10889.9 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 4073.7 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 550.5 lpm (60.2 s, 2 samples)
System Call Overhead 1538517.4 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 16851634.7 1444.0
Double-Precision Whetstone 55.0 5182.9 942.3
Execl Throughput 43.0 4101.9 953.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 635244.9 1604.2
File Copy 256 bufsize 500 maxblocks 1655.0 174430.2 1054.0
File Copy 4096 bufsize 8000 maxblocks 5800.0 1219982.0 2103.4
Pipe Throughput 12440.0 1387297.9 1115.2
Pipe-based Context Switching 4000.0 196296.1 490.7
Process Creation 126.0 10889.9 864.3
Shell Scripts (1 concurrent) 42.4 4073.7 960.8
Shell Scripts (8 concurrent) 6.0 550.5 917.5
System Call Overhead 15000.0 1538517.4 1025.7
========
System Benchmarks Index Score 1058.3
Comments