• Stars
    star
    854
  • Rank 53,369 (Top 2 %)
  • Language
    Shell
  • License
    Apache License 2.0
  • Created almost 8 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

VPS benchmark script — based on the popular bench.sh, plus CPU and ioping tests, and dual-stack IPv4 and v6 speedtests by default

nench.sh ("new bench.sh")

Current version always available at https://github.com/n-st/nench

IPv4- and v6-enabled download at http://wget.racing/nench.sh

  • loosely based on the established freevps.us/bench.sh
  • includes CPU and ioping measurements
  • reduced number of speedtests (9 x 100 MB), while retaining useful European and North American POPs
  • runs IPv6 speedtest by default (if the server has IPv6 connectivity)
  • has a 10-second timeout for each speedtest, so you don't end up waiting 10 minutes for that one slow speedtest from halfway around the globe — but thanks to the power of curl -w, you still get to see what speed your server achieved during those 10 seconds
  • successfully tested on Arch Linux, Debian, FreeBSD, and Ubuntu

The script was originally intended to be used only by me, so I didn't put much effort into ensuring safety, security, and interoperability.
I welcome any improvements, just send me a pull request.

Disclaimer

You've probably noticed that the usage examples below have you directly run a script from an unauthenticated source (as so many "easy-install" and benchmark scripts do).

I didn't think I'd have to mention that this is a potential security risk — really, if you're at the point where you're benchmarking Linux VMs, I would assume you know how much harm a rogue shell script could potentially do to your system…

What's more, nench.sh downloads a statically built binary to run the IO latency tests. I assure you it is and always will be a clean unmodified build of ioping, but how do you know you can trust me?

So, basically: use nench.sh at your own risk, and preferably not on production systems (which is a bad idea anyway, because it will hammer your harddisk and network for up to several minutes).

Usage example

(curl -s wget.racing/nench.sh | bash; curl -s wget.racing/nench.sh | bash) 2>&1 | tee nench.log
(wget -qO- wget.racing/nench.sh | bash; wget -qO- wget.racing/nench.sh | bash) 2>&1 | tee nench.log

Example output

Output from a VPS hosted with Vultr in Frankfurt:

-------------------------------------------------
 nench.sh v2017.05.08 -- https://git.io/nench.sh
 benchmark timestamp:    2017-05-08 20:36:54 UTC
-------------------------------------------------

Processor:    Virtual CPU a7769a6388d5
CPU cores:    1
Frequency:    2394.454 MHz
RAM:          494M
Swap:         871M
Kernel:       Linux 3.16.0-4-amd64 x86_64

Disks:
vda  20G  HDD

CPU: SHA256-hashing 500 MB
    4.183 seconds
CPU: bzip2-compressing 500 MB
    6.830 seconds
CPU: AES-encrypting 500 MB
    1.636 seconds

ioping: seek rate
    min/avg/max/mdev = 148.6 us / 280.9 us / 9.22 ms / 234.7 us
ioping: sequential speed
    generated 2.15 k requests in 5.00 s, 536.2 MiB, 428 iops, 107.2 MiB/s

dd test
    1st run:    339.51 MiB/s
    2nd run:    345.23 MiB/s
    3rd run:    342.37 MiB/s
    average:    342.37 MiB/s

IPv4 speedtests
    your IPv4:    108.61.179.xxxx

    Cachefly CDN:         205.34 MiB/s
    Leaseweb (NL):        140.55 MiB/s
    Softlayer DAL (US):   0.08 MiB/s
    Online.net (FR):      0.17 MiB/s
    OVH BHS (CA):         11.13 MiB/s

IPv6 speedtests
    your IPv6:    2001:19f0:6c01:xxxx

    Leaseweb (NL):        101.06 MiB/s
    Softlayer DAL (US):   2.89 MiB/s
    Online.net (FR):      0.18 MiB/s
    OVH BHS (CA):         9.84 MiB/s
-------------------------------------------------

More Repositories

1

ldif-csv-conv

Convert LDIF to CSV and vice versa
Python
14
star
2

vim-airline-screenshots

7
star
3

birdwatch

Simple protocol state monitoring for the Bird Internet Routing Daemon
Python
6
star
4

collectd-plugin-intel_cpu_energy

A collectd plugin for monitoring the power usage of 2nd gen (or later) Intel Core processors
C
3
star
5

slash64.net

A concise reminder why /64 is the smallest sensible IPv6 sub-assignment size
3
star
6

he-tunnelserver-check

Ping all tunnelbroker.net tunnel servers to find the one closest to you
Shell
3
star
7

toilet.sh

An incomplete reimplementation of the TOIlet text-to-ASCII-art converter, written completely in (hopefully) POSIX-compliant shell script.
Shell
3
star
8

coward

coward: automate btrfs backups
Python
2
star
9

python-mitel-utils

Utility scripts implemented with https://github.com/n-st/python-mitel
Python
2
star
10

ipgrep.py

simple utility to extract IPv4 and IPv6 addresses from text files — Python reimplementation of https://github.com/princebot/ipgrep
Python
2
star
11

tin

Minimalistic TCP+HTTP pastebin
Python
2
star
12

zorgbackup

Configure borgbackup via ZFS properties
Shell
2
star
13

15_netinstall

Install Arch/Debian/FreeBSD directly from an internet mirror
Shell
2
star
14

ESP8266_OLED_DiVOC_Logo

Arduino sketch to show the DiVOC logo on a Heltec WiFi Kit 8
C++
2
star
15

quicksearch

Search quickly by directly specifying the query in the URL
Python
2
star
16

noisy-dispenser

Looks like a Github-autogenerated repo name? No, it's an ESP microcontroller that makes a soap/desinfectant dispenser play sounds from an SD card.
1
star
17

irclogs-cgi

A CGI script that uses pygments to colourise IRC logs, which are then served as a webpage
Shell
1
star
18

telnum

Analyse telephone numbers from the commandline using daviddrysdale's Python port of Google's libphonenumber
Python
1
star
19

xkcd-1340

Dynamic version of Randall Munroe's xkcd comic "Unique Date"
Shell
1
star
20

sml-serial-receiver

Receive data packets from an SML-capable electricity meter and print their contents in a human-readable format
Java
1
star
21

cronics

Extended cron job wrapper (with output string matching) based on Chuck Houpt's `cronic`
Shell
1
star
22

upapap

Universität PAssau PrüfungsAusschussParser
Python
1
star