Pages

Sunday, March 1, 2026

System Performance Benchmarks

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
  • Google
  • Meta Platforms
  • Microsoft

So results are widely trusted in the industry.

MLPerf Benchmark can be run on your infrastructure 

 

No comments:

Post a Comment