Server Performance Evaluation Tool allows you to easily test the performance of x86_64 processors on Linux.
- Automatically install system prerequisites using the operating system's package manager.
- Automatic detection of system information.
- Automatic downloading, setting up, and running of all performance tests.
- Overriding available for general tuning of tests and changing test versions.
- Results in JSON and text form.
- All major commands documented in the results text file.
- x86_64 system
- Linux (Ubuntu, Debian, CentOS, openSUSE) Operating System
- Mostly tested on Ubuntu
- Root access
- Python 3
pip3 install -r requirements.txt
Once everything is set up, you can simply run Server Performance
Evaluation Tool by executing the spet
command:
Note: You need root access to run Server Performance Evaluation Tool.
spet
If for some reason, the CLI does not work, you can call Server Performance Evaluation Tool module with the following:
python3 -m spet
Results will be outputted to the console (stdout) as they are gathered.
All result files will be located in $HOME/spet_results
under your
specific run's directory.
If $HOME
was not detected for whatever reason, the result files will
be located in the Server Performance Evaluation Tool's
spet/spet_results
directory.
Option | GNU long option | Meaning |
---|---|---|
-v |
--verbose |
Show additional information on SPET progress. |
-d |
--debug |
Show debugging information. |
-e [..] |
--exclude [..] |
Exclude the desired benchmark(s). Available options: lmbench , mlc , openssl , compilation , zlib , linpack , stream , nosql , sql , and docker . |
-avx512 |
--avx512 |
Enable AVX-512 for High-Performance Linpack. |
Purpose | Description |
---|---|
Cryptography | Uses OpenSSL's built-in speed command for testing encryption and decryption on 128- and 256-bit AES-GCM . |
Cache Latency | Uses LMbench for measuring L1-, L2-, and L3-cache latencies using lat_mem_rd by measuring memory read latency for varying memory sizes and strides. |
Memory Latency | Uses Intel(R) Memory Latency Checker (MLC) for measuring node-to-node latency. |
Memory Bandwidth | Uses STREAM for measuring sustainable memory bandwidth and the corresponding computation rate for simple vector kernels in parallel using Open MPI. |
Floating-point / Math | Uses High-Performance Linpack for measuring the floating-point rate of execution of the system by running a program that solves a system of linear equations. |
Compression / Decompression | Uses zlib for testing the performance of compression and decompression on a 2 GB text file. |
Software Development / Compute | Uses the system's build utilities to compile the Linux kernel. |
Database SQL | Uses Yahoo! Cloud Serving Benchmark (YCSB) to measure read and update performance on MySQL databases. |
Database NoSQL | Uses Yahoo! Cloud Serving Benchmark (YCSB) to measure read and update performance on Cassandra databases. |
Containers | Uses Docker to test the performance of compiling the Linux kernel (same test as the software development/compute) on 100 concurrent containers. |
Visit the docs/ directory for additional documentation.
This project is licensed under the MIT License - see the LICENSE file for details.