New VPS specific benchmark [Update: Download avail.]
I have had enough from what I felt to be a quite unsatisfactory situation wrt. benchmarks. One of my major worries that seemed to not be addressed by any widely available server benchmark is the fact that VPSs are somewhat special and "sensitive animals" because there are other users on a node and because providers and neighbours are (understandably) easily angered by a VPS all but blocking a node during benchmarking.
vpsbench changes that. Using a microsecond based timer it can afford to and does break up the benchmark tests into many small slices with small pauses in between so that a node is never blocked by it.
Another gripe I had was that connectivity benchmarks virtually always include host resolution and server setup on the other side. As that can be quite a large amount of time the results are in between cooked and questionable. vpsbench doesn't do that but starts measuring only once the session is set up and data are beginning to flow so it shows the real throughput.
Probably only rarely useful it also shows the "build up" which can be helpful both to get an impression of congestion and especially in saving bandwidth. I have done a lot of testing and found out that virtually all connections are within 1% or 2% of their top speed after 32 - 64 MB. vpsbench has a default of 64 MB but allows any size between about 10 MB and about 2 GB, depending on the target file size of course. This feature also allows to test against a 1GB file but using only 64 MB or whatever one chose.
Oh and you can have different "target sets", say, a mainly Europe one, a west coast one, a small and fast one, etc. Moreover you can run all the tests (in a very simple way, see below) or you can chose which ones to run.
Another point I often missed was useful and relevant info on a VPS. Things like how many cores, how much real memory, model and family of the CPU, flags (useful to identify "hidden" vCores), etc. Well, vpsbench provides all that.
Regarding disks vpsbench does the usual sequential read/write and the somewhat less common random read/write and I do mean "random" (evil grin). If vpsbench shows good random read/write result you can bet that your database will fly.
My final issue was that I'm not interested in integer or floating point performance but in areas that are important for a server which is moving lots of data around, string operations and increasingly crypto. So that's what vpsbench does plus it looks at single core and at multi core performance.
I'm willing to open source vpsbench and I also have binaries (+- 1MB size) made for and tested with linux and FreeBSD both i386 and x64. Right now I'm planning on putting vpsbench binaries on some server for download but if there is significant interest I'll happily provide sources too.
Here is an example output from a real benchmark done on a 2 vCore 512MB VPS in Bucarest (the command was "vpsb ntargets" with ntargets being a file with servers to test for connectivity).
Let me know what you think and if you are interested.
Machine: amd64, Arch.: amd64, Model: Intel(R) Xeon(R) CPU L5630 @ 2.13GHz OS, version: linux 4.10.5, Mem.: 479 MB CPU - Cores: 2, Family/Model/Stepping: 6/44/2 Cache: 32K/32K L1d/L1i, 256K L2, 12M L3 Std. Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cflsh mmx fxsr sse sse2 ss htt pbe sse3 pclmulqdq dtes64 ds_cpl ssse3 cx16 xtpr pcid dca sse4_1 sse4_2 popcnt aes hypervisor Ext. Flags: syscall nx pdpe1gb lm lahf_lm --- proc/mem/performance test single core --- 64 rounds~ 1.00 GB -> 116.98 MB/s --- proc/mem/performance test multi-core --- 4 times 64 rounds ~ 4.00 GB -> 312.24 MB/s --- disk test --- Sequential writing 216.60 MB/s Random writing 37.11 MB/s Sequential reading 904.19 MB/s Random reading 711.21 MB/s --- network test - target 100KB 1MB 10MB -> 64 MB --- http://speedtest.lon02.softlayer.com/downloads/test100.zip OK,LON: 6.0 Mb/s 14.2 Mb/s 43.9 Mb/s -> 111.9 Mb/s http://speedtest.mel01.softlayer.com/downloads/test100.zip AU,MEL: 747.0 Kb/s 1.7 Mb/s 5.3 Mb/s -> 13.6 Mb/s http://speedtest.che01.softlayer.com/downloads/test100.zip IN,CHN: 1.6 Mb/s 3.7 Mb/s 10.9 Mb/s -> 28.5 Mb/s http://speedtest.fra02.softlayer.com/downloads/test100.zip DE,FRA: 11.1 Mb/s 26.1 Mb/s 78.9 Mb/s -> 189.7 Mb/s http://speedtest.mil01.softlayer.com/downloads/test100.zip IT,MIL: 5.9 Mb/s 13.9 Mb/s 40.2 Mb/s -> 106.1 Mb/s http://speedtest.par01.softlayer.com/downloads/test100.zip FR,PAR: 7.0 Mb/s 16.5 Mb/s 47.7 Mb/s -> 124.5 Mb/s http://22.214.171.124/test100mb.bin RUS,MOS: 2.3 Mb/s 5.5 Mb/s 7.7 Mb/s -> 6.0 Mb/s http://speedtest.sao01.softlayer.com/downloads/test100.zip BR,SAO: 1.2 Mb/s 2.7 Mb/s 8.4 Mb/s -> 22.0 Mb/s http://speedtest.dal05.softlayer.com/downloads/test100.zip US,DAL: 1.8 Mb/s 4.4 Mb/s 13.5 Mb/s -> 34.5 Mb/s http://speedtest.sjc01.softlayer.com/downloads/test100.zip US,SJC: 1.5 Mb/s 3.4 Mb/s 11.0 Mb/s -> 28.8 Mb/s http://speedtest.wdc01.softlayer.com/downloads/test100.zip US,WDC: 2.3 Mb/s 5.2 Mb/s 16.8 Mb/s -> 42.4 Mb/s http://speedtest.tokyo.linode.com/100MB-tokyo.bin JP,TOK: 1.0 Mb/s 2.4 Mb/s 7.7 Mb/s -> 18.8 Mb/s http://lg-ro.vps2day.com/100MB.test RO,BUK: 22.5 Mb/s 49.7 Mb/s 130.8 Mb/s -> 273.6 Mb/s http://speedtest.ftp.otenet.gr/files/test100Mb.db GR,UNK: 2.0 Mb/s 6.7 Mb/s 21.5 Mb/s -> 61.3 Mb/s http://speedtest.osl01.softlayer.com/downloads/test100.zip NO,OSL: 4.3 Mb/s 9.4 Mb/s 29.0 Mb/s -> 75.9 Mb/s
vps benchmark -> https://yadi.sk/d/Cy4h3NCpVEhhPQ