Tool for benchmarking VPS servers with using API of cloud providers.
- It creates virtual server with using cloud service API.
- It connects to server over SSH and runs benchmarks.
- It terminates server with using cloud service API.
- It stores results to fastlix.com. Can be customized by you.
- sysbench — Scriptable database and system performance benchmark.
- iperf3 — Tool for testing of network bandwidth.
npm run start --provider=hetzner --server=test
Configuration reads from config.json
. Example of configuration you can find in config-example.json.
Config contains 3 root sections:
benchmarks
storage
providers
Below for details of each.
Example of benchmark 1 core CPU with using tool sysbench:
{
"benchmarks": {
"sysbench-cpu-1core": {
"type": "sysbench",
"test": "cpu",
"threads": 1,
"max-requests": -1,
"max-time": 300
}
}
}
Each benchmark has unique name (sysbench-cpu-1core
). It uses to link from other sections of configuration.
type
specifies witch type of benchmark should be used. Available next types:
sysbench
— benchmarking CPU, memory, disk with using sysbench tool. You can use any options of sysbench in for this benchmark. For example optiontest
can be:cpu
— CPU benchmark.
Additional options:
threads
— Number of threads.memory
— I/O benchmark.
Additional options:
size
— Space in gigabytes should be used for benchmarking.
iperf3
— benchmark network bandwidth with using tool iperf3.cpuinfo
— getting info about CPU from/proc/cpuinfo
.meminfo
— getting info about memory from/proc/meminfo
.
Where you can store results of benchmarking. Now supported only mydataspace.net / web20.site storage.
Example:
"storage": {
"type": "MdsStorage",
"clientId": "***",
"accessToken": "***",
"root": "cloudbench",
"path": "results",
"groupedResultsPath": "grouped-results"
}
Contains configurations for access to cloud providers API.
Example:
"providers": {
"digitalocean": {
"name": "DigitalOcean",
"settings": {
"apiToken": "***",
"sshKey": "234234",
"privateKey": "C:\\Users\\john\\.ssh\\id_rsa"
},
"servers": {
"digitalocean-512mb-nyc1": {
"name": "512mb-nyc1",
"type": "512mb",
"image": "ubuntu-16-04-x64",
"location": "nyc3"
},
}
}
}
We use this tool on cloudbench.io. We collect cloud plan specifications, thoroughly test their performance and provide screening and comparison tools to make cloud search easy and fun.
Our blog with last news of cloud computing industry: https://cloudbench.io/blog/en.