In this blog post, I will list few performance benchmarks worth to run on the infrastructure systems to know how good the infrastructure is for particular application.
- sysbench
- fio
- iperf
- HammerDB
- MLPerf
Do you want to know more about each of these benchmarks? Keep reading the rest of this blog post.
sysbench
Sysbench is an open-source benchmarking and performance testing tool used to measure the performance of computer systems — especially CPU, memory, storage (I/O), and databases.
It’s very popular in labs, cloud environments, and enterprise infrastructure testing because it’s lightweight, scriptable, and easy to run.
Sysbench includes several built-in workloads:
- CPU performance
- Prime number calculations
- Measures raw compute capability (single or multi-thread)
- Memory performance
- Memory read/write throughput
- Latency testing
- Disk / File I/O
- Sequential and random read/write
- Useful for storage benchmarking (SSD, NVMe, SAN, Ceph, etc.)
- Database performance
- Mainly MySQL / MariaDB / PostgreSQL OLTP workloads
- Simulates real database traffic (transactions, queries)
- Custom workloads
- Lua scripting engine allows advanced custom tests
Why sysbench is widely used
- Cross-platform (Linux, BSD, macOS)
- Small and easy to install
- Highly configurable
- Good for automation and CI testing
- Useful for comparing hardware or virtualization platforms
Example commands
CPU test
sysbench cpu --threads=8 --time=60 run
Measures CPU performance for 60 seconds using 8 threads.
Memory test
sysbench memory --threads=4 run
Disk I/O test
Prepare files:
sysbench fileio --file-total-size=10G prepare
Run random read/write:
sysbench fileio --file-test-mode=rndrw --time=60 run
Cleanup:
sysbench fileio cleanup
MySQL OLTP test
sysbench oltp_read_write \
--mysql-host=127.0.0.1 \
--mysql-user=root \
--mysql-db=test \
--tables=10 \
--table-size=100000 \
prepare
Then run benchmark.
Sysbench can be easily installed on FreeBSD (pkg install sysbench) or Linux systems.
fio
fio (Flexible I/O Tester) is a widely used storage benchmarking and workload generation tool. It is designed to measure and simulate disk I/O performance under many different conditions.
It’s commonly used by:
- Storage vendors (NetApp, Dell, etc.)
- Cloud providers
- Datacenter engineers
- Linux / FreeBSD admins
- Performance engineers
fio is basically the standard tool for testing storage performance.
It generates configurable I/O workloads against:
- Local disks (SSD, NVMe, HDD)
- Network storage (NFS, iSCSI, Ceph, object via FUSE)
- Raw block devices
- Filesystems
- RAM disks
You can simulate real-world workloads like:
- Databases
- Virtual machines
- Backup workloads
- Random vs sequential access
- High concurrency enterprise loads
Unlike simple tools (like dd), fio can control:
- Block size (4k, 8k, 64k, 1M…)
- Read vs write ratio
- Queue depth
- Parallel jobs
- Latency targets
- IOPS limits
- Sync vs async I/O
- Direct I/O vs buffered
That’s why fio is considered the gold standard for storage testing.
Example of simple test
fio --name=test \
--filename=testfile \
--size=1G \
--bs=4k \
--rw=randread \
--iodepth=32 \
--runtime=60 \
--time_based \
--direct=1
| Parameter | Meaning |
| ----------- | ---------------------- |
| name | job name |
| filename | file or device to test |
| size | data size |
| bs=4k | 4 KB blocks |
| rw=randread | random reads |
| iodepth=32 | queue depth |
| runtime=60 | run for 60 seconds |
| direct=1 | bypass OS cache |
fio produces detailed output including:
- IOPS (input/output operations per second)
- Throughput (MB/s or GB/s)
- Latency (avg, p95, p99)
- CPU usage
- Queue statistics
- Histogram distribution
Latency percentiles are extremely valuable for enterprise analysis.
It. can be easily installed on FreeBSD (pkg install fio) and Linux (apt install fio).
iperf
iperf is a widely used network performance testing tool that measures the maximum achievable bandwidth between two systems over IP networks.
iperf uses a client–server model:
- One machine runs in server mode (listens for traffic).
- Another machine runs in client mode (sends traffic).
- The tool measures how fast data can be transferred.
Example:
Server:
iperf3 -s
Client:
iperf3 -c 192.168.1.10
What iperf actually measures
TCP tests
- Maximum throughput (real-world application performance)
- Retransmissions
- Congestion behavior
- Window scaling efficiency
UDP tests
- Packet loss
- Jitter
- Out-of-order packets
- Bandwidth under controlled rate
Typical real-world use cases
- Testing 1/10/25/100 Gbps links
- Storage network validation (iSCSI / NFS / Ceph)
- Data center fabric benchmarking
- WAN/MPLS/Internet throughput testing
- Troubleshooting performance problems
- CPU vs network bottleneck analysis
- Comparing OS network stacks (like your FreeBSD vs Debian test)
Example advanced test
Multiple parallel streams:
iperf3 -c 192.168.1.10 -P 8
UDP test at 5 Gbps:
iperf3 -c 192.168.1.10 -u -b 5G
Reverse direction:
iperf3 -c 192.168.1.10 -R
It. can be easily installed on FreeBSD (pkg install iperf3) and Linux (apt install iperf3).
HammerDB
HammerDB is an open-source database benchmarking and load-testing tool used to measure the performance of database systems under realistic workloads.
HammerDB allows you to:
- Create a test schema and populate it with data
- Generate load using virtual users (threads)
- Run standard benchmark workloads
- Measure metrics like:
- Transactions per minute / second (TPM, TPS)
- Response time
- Throughput
- Scaling behavior
It supports both:
- OLTP workloads (transactional systems — e.g., banking, e-commerce)
- OLAP workloads (analytics / reporting)
HammerDB works with many commercial and open-source databases, including:
- Oracle
- Microsoft SQL Server
- IBM Db2
- PostgreSQL
- MySQL / MariaDB
- Amazon Aurora / Redshift
- Greenplum and others
Typical use cases:
- Comparing database performance (e.g., PostgreSQL vs MySQL)
- Testing hardware (CPU, storage, NVMe, cloud instances)
- Capacity planning
- Performance tuning
- Validating infrastructure changes
- Benchmarking cloud vs on-prem
Because it’s free and open source, it’s widely used in labs and enterprises.
HammerDB Benchmark can be run on your infrastructure. Docker Images are available at https://hub.docker.com/r/tpcorg/hammerdb
MLPerf
MLPerf is a standardized benchmark suite for measuring the performance of machine learning (AI) hardware, software, and systems. It measures how fast and efficiently systems can train or run AI models.
It’s basically the AI world’s equivalent of things like:
- SPEC benchmarks → for CPUs/servers
- TPC benchmarks → for databases
but focused specifically on machine learning workloads.
MLPerf is developed by the MLCommons consortium (formerly part of the Linux Foundation AI group).
Members include major industry players such as:
- NVIDIA
- Intel
- AMD
- Meta Platforms
- Microsoft
So results are widely trusted in the industry.
MLPerf Benchmark can be run on your infrastructure
- MLPerf Benchmark resources are available at https://github.com/mlcommons/
- MLPerf Inference Benchmark Suite is available at https://github.com/mlcommons/inference
No comments:
Post a Comment