Benchmark and Performance Testing

01

CPU Benchmark

sysbench (recommended)

bash
apt install sysbench -y   # Debian/Ubuntu
dnf install sysbench -y   # AlmaLinux/CentOS

# Single-thread CPU test
sysbench cpu --threads=1 run

# Multi-thread test (uses all cores)
sysbench cpu --threads=$(nproc) run

Important output:

CPU speed: events per second: 4521.23 General statistics: total time: 10.0006s total number of events: 45217

Higher events per second means better CPU.

stress-ng (prolonged stress test)

bash
apt install stress-ng -y

# CPU stress test for 60 seconds
stress-ng --cpu $(nproc) --timeout 60s --metrics-brief
02

Disk Benchmark (I/O)

fio (more accurate)

bash
apt install fio -y

# Sequential read test
fio --name=seq-read --rw=read --bs=1M --size=1G --numjobs=1 --runtime=30 --group_reporting

# Sequential write test
fio --name=seq-write --rw=write --bs=1M --size=1G --numjobs=1 --runtime=30 --group_reporting

# Random IOPS test (typical database)
fio --name=rand-rw --rw=randrw --bs=4k --size=512M --numjobs=4 --runtime=30 --group_reporting

dd (fast but approximate)

bash
# Write test
dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=direct

# Read test
dd if=/tmp/testfile of=/dev/null bs=1G count=1

# Cleanup
rm /tmp/testfile

On NVMe SSD expected: 500–3500 MB/s. On SATA SSD: 300–600 MB/s. Much lower values indicate shared storage or high load.

03

Network Benchmark

speedtest-cli

bash
pip install speedtest-cli --break-system-packages
speedtest --simple

Output:

Ping: 4.235 ms Download: 946.84 Mbit/s Upload: 947.12 Mbit/s

Alternative without Python:

bash
curl -s https://packagecloud.io/ookla/speedtest-cli/gpgkey | apt-key add -
apt install speedtest -y
speedtest

iperf3 (between two servers)

Useful for testing bandwidth between two VPS.

On destination server:

bash
apt install iperf3 -y
iperf3 -s

On source server:

bash
apt install iperf3 -y
iperf3 -c DESTINATION_IP -t 30

Latency to common destinations

bash
# Latency to Google, Cloudflare, Italian servers
ping -c 10 8.8.8.8
ping -c 10 1.1.1.1
ping -c 10 google.com

# MTR (mix ping + traceroute)
apt install mtr -y
mtr --report --report-cycles 20 8.8.8.8
04

All-in-one script: bench.sh

Widely used open source script in the hosting community:

bash
# CAUTION: only run scripts from trusted sources
wget -qO- bench.sh | bash

This script automatically tests:

Before running scripts from the internet (curl ... | bash), always verify the content by visiting the URL directly.

  • System info (CPU, RAM, OS)
  • Disk speed
  • Network speed to/from various worldwide locations
05

Monitor resources in real time

bash
# htop (CPU, RAM, processes)
apt install htop -y && htop

# glances (complete overview)
apt install glances -y && glances

# iostat (disk I/O)
apt install sysstat -y
iostat -x 2 10   # every 2 seconds, 10 times

# vmstat (memory, swap, I/O)
vmstat 2 10

# iotop (processes with most I/O)
apt install iotop -y
iotop -o
06

Table of expected values for DeluxHost VPS

MetricStandardSSDNVMe
Disk read150-300 MB/s400-600 MB/s1-3.5 GB/s
Disk write100-200 MB/s300-500 MB/s800-2000 MB/s
Network1 Gbps1 Gbps1-10 Gbps
Ping EU< 10 ms< 10 ms< 5 ms

If your results are significantly lower, open a support ticket including the test output.

DeluxHost, opgericht in 2023, biedt hoogwaardige hostingoplossingen voor diverse digitale behoeften. Wij bieden gedeelde hosting, VPS en dedicated servers met geavanceerde beveiliging en wereldwijde datacenters.

© DeluxHost, Alle rechten voorbehouden. | BTW-nummer: IT17734661006
Alle systemen operationeel