Start typing to search across invoices, services, domains, tickets, and more...
When you get a new VPS or dedicated server, running a benchmark first confirms that the CPU, memory, disk and network match expectations, and gives you baseline data for troubleshooting performance issues later. This guide covers the four most common benchmarking tools and focuses on what each number in the results means and how to tell good from bad.
# Ubuntu / Debian
sudo apt update && sudo apt install -y curl wget fio
# Rocky / Alma 9
sudo dnf install -y curl wget fio
Note: these benchmark scripts come from third-party open-source projects. You can download them first and review the contents with
lessbefore running. Benchmarks briefly max out CPU, disk and bandwidth, so avoid running them on production servers during peak hours, and don't run them repeatedly for long periods.
bench.sh, maintained by open-source developer Teddysun, outputs system information, a simple disk write test and multi-location download speed tests within a few minutes:
wget -qO- bench.sh | bash
# or
curl -Lso- bench.sh | bash
How to read the results:
YABS (Yet-Another-Bench-Script) includes fio disk tests, iperf3 network tests and Geekbench CPU scores. It is the most widely used community standard for comparing server performance:
curl -sL https://yabs.sh | bash
Common options:
# Skip the iperf3 network test
curl -sL https://yabs.sh | bash -s -- -i
# Skip Geekbench and test only disk and network
curl -sL https://yabs.sh | bash -s -- -g
# Run only Geekbench 6 (skip disk and network)
curl -sL https://yabs.sh | bash -s -- -f -i
fio section: YABS runs mixed random read/write tests with four block sizes: 4k, 64k, 512k and 1m.
iperf3 section: shows send (Send) and receive (Recv) speeds to multiple public iperf servers worldwide. Public servers are often busy, so low numbers from a few of them are normal; look at the overall trend.
Geekbench section: gives Single Core and Multi Core scores, plus an online results link you can use to compare directly with other servers. The single-core score affects the responsiveness of single-threaded applications such as PHP and Node.js; the multi-core score affects compiling, transcoding and concurrent processing.
To test a specific scenario, running fio directly gives you more control. The following tests 4K random read/write (simulating a database workload):
fio --name=rand4k --filename=/root/fio.test --size=1G \
--direct=1 --ioengine=libaio --rw=randrw --rwmixread=70 \
--bs=4k --iodepth=64 --numjobs=2 --runtime=60 --time_based \
--group_reporting
Test 1M sequential reads:
fio --name=seq1m --filename=/root/fio.test --size=1G \
--direct=1 --ioengine=libaio --rw=read \
--bs=1M --iodepth=16 --numjobs=1 --runtime=30 --time_based \
--group_reporting
Delete the test file when you're done:
rm -f /root/fio.test
Key metrics:
IOPS=: read/write operations per second; higher is better.BW=: bandwidth throughput.99.00th percentile in the clat latency figures: lower latency means more stability. If the 99th-percentile latency is far above the average, the disk is experiencing jitter.--direct=1 bypasses the system cache so that memory caching doesn't inflate the results.
Save the output so you can compare later:
curl -sL https://yabs.sh | bash 2>&1 | tee ~/yabs-$(date +%F).txt
dd sequential writes only reflect large-file write performance; websites and databases depend more on 4K random read/write and latency. Website speed is also affected by the network route, your application and caching configuration. Combine fio 4K results with network tests for a complete picture.
Public speed test nodes may be congested, and cross-border tests are also limited by the remote network. Test at different times and against several nodes, or run iperf3 directly between the server and your own computer. If speeds remain clearly low, submit a ticket with your test results and MTR route output.
Yes. In virtualized environments, CPU and disk are shared by multiple instances, so some variation is expected. As long as repeated results fall within a similar range, you're fine; if one run drops sharply, test again later.
No. Geekbench 5 and Geekbench 6 use different scoring baselines, so only compare scores within the same version. YABS currently uses Geekbench 6 by default.
bench.sh is good for a quick health check, YABS for comprehensive side-by-side comparisons, and fio for targeted disk testing. Together they give you a clear picture of a server's real performance. IMIDC offers VPS and dedicated servers in multiple regions, and once your server is delivered you can verify its specs yourself using the methods in this guide. If your results differ significantly from expectations, submit a 24/7 ticket through the Client Center with the test output, and our technical team will help investigate.