For CentOS/Redhat/Oracle Linux - custom system benchmark script for Centmin Mod LEMP web stack users
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information. update README Feb 15, 2017 update bandwidth tests link Mar 30, 2018 update bandwidth tests link Mar 30, 2018 chmod +x Mar 30, 2018 chmod +x Mar 30, 2018 Github short url link:

Custom system benchmark script for Centmin Mod LEMP web stack users.

Development is ongoing so please test only on test servers and not production live servers.

Current Test Suite

  • disk dd, ioping, fio
  • ping, mtr
  • memory bandwidth testing tmpfs ramdisk with disk dd and ioping
  • single threaded wget bandwidth benchmarks
  • parallel multi threaded axel bandwidth benchmarks [Centmin Mod stack only]
  • OpenSSL system benchmark
  • test system entropy_avail (entropy pool availability - closer to 4096 bits = better randomness and SSL related performance vs closer to 0 kernel block at generating random data = poorer SSL performance) mentioned
  • rngtest suite - check the randomness of data (currently disabled by default / not yet developed)
  • Nginx static OpenSSL benchmarks [Centmin Mod stack only]
  • mysqlslap
  • PHP (php-fpm) Zend/bench.php & Zend/micro_bench.php [Centmin Mod stack only]
  • UnixBench 5.1.3 (currently disabled by default)
  • tests (currently disabled by default / not yet developed)
  • compression/decompression tests (not yet developed)

To run type in SSH window as root user:

curl -sL | bash

If you want to download to server and run in SSH window as root user:

mkdir -p /root/tools
cd /root/tools
wget -O
chmod +x

If you want to enable UnixBench

sed -i "s|RUN_UNIXBENCH=.*|RUN_UNIXBENCH='y'|" /root/tools/

To run script locally in SSH window as root user type:


If you don't want SSH session's connection drop out to abort your benchmark run you can run the script via screen window by installing screen via YUM and then launch via screen

yum -y install screen
screen -dmS bench 
screen -r bench

If your SSH session drops out, the script is still running via the screen session called bench. You can use this command to view available sessions:

 screen -ls

Sample output

There is a screen on:
        2136.bench      (Detached)
1 Socket in /var/run/screen/S-root.

To reattach the session named bench to continue with the benchmark or find the completed benchmark output, type:

screen -r bench

To update script

wget -O /root/tools/

To remove and log files

/root/tools/ cleanup

Or manually remove the following directories and file


Default log directories include:

  • BENCHDIR='/home/centminmodbench' (source downloads location)
  • LOGDIR='/home/centminmodbench_logs' (benchmark results logs)
  • MYSQLSLAP_DIR='/home/mysqlslap' (mysqlslap results logs)
  • PHPBENCHLOGDIR='/home/phpbench_logs' (PHP-FPM benchmark logs)

Variables you can alter within Note the bandwidth tests can be set regionally as well, so if you have no need for Asia tests, you can turn the Asian specific bandwidth tests off etc. UnixBench is turned off by default during testing of this script as it adds up to 30-60 minutes to test runs as seen at


Google Spreadsheet Template

To tabulate your own results, I created a Google Spreadsheet template you can download and customise for your own usage. It's currently prefilled with columns for 3 clouding hosting providers, DigitalOcean, Linode and Vultr.

DigitalOcean vs Linode vs Vultr Benchmarks

Using, I tested 48GB RAM, 16 CPU core VPS servers for DigitalOcean, Linode and Vultr and posted results at

Dedicated Server Benchmarks

Some sample results from dedicated servers at