You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+19-9Lines changed: 19 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,12 +2,13 @@
2
2
## Nullix Server Hardware Performance Test Tool (NSHPTT)
3
3
A simple tool to test raw performance of any server, pc or machine. It features CPU and Disk stress tests and can/should be used to compare multiple machines to find bottlenecks.
4
4
5
-
I created this because after a huge migration from one hosting company/location to another with tons of virtual machines, there was a lot of performance issues at the new location, which where incredible hard to nail down. At the end we found disk performance problems which only showed up clearly when reading files > 100MB... Long story short, this tool was developed to find this issues and have reproducable and comparable results.
5
+
I created this because after a huge migration from one hosting company/location to another with tons of virtual machines, there was a lot of performance issues at the new location, which where incredible hard to nail down. At the end we found disk performance problems which only showed up on very specific workloads that this test simulates. Long story short: This tool was developed to find this issues and have reproducable and comparable results.
[](media/demo.mov)
8
8
9
9
## Features
10
10
11
+
- Supported on almost every platform and architecture with pre-built binaries or go source
11
12
- Single Core Performance Test. The test just calculates square-root of random floats as often as it can, for a set amount of time.
12
13
- For servers it's better to test single core performance, as all cores would probably have the same specs anyway. With this method you can compare different infrastructures better then with multi-core tests.
13
14
- Disk Write-Read-Delete Test. Does write, than read, than delete files with random byte contents. Size, location and amount of file can be configured.
@@ -28,9 +29,18 @@ After the tests are stopped, a summary .html/.csv file is generated which you ca
28
29
## Usage Pre-Built Binaries
29
30
Download a pre-built binary from "Releases" for your OS architecture and run it via command-line. The man page will show up that lists you all possible usages.
30
31
31
-
nshptt_linux_amd64 --create-config
32
-
nshptt_linux_amd64 --create-test-files
33
-
nshptt_linux_amd64 --run
32
+
# linux server example - start in a new empty folder
> Notice: The pre-compiled binaries can probably be detected by anti-virus software, as they are not signed and AV heuristics maybe struggle with that.
36
46
If you don't trust the pre-compiled binaries, feel free to directly use the `Usage directly with GO` variant. You can review and inspect the script before you run it.
@@ -42,15 +52,15 @@ If you don't trust the pre-compiled binaries, feel free to directly use the `Usa
42
52
go run tool.go --run
43
53
44
54
45
-
# CSV Format
55
+
##CSV Format
46
56
The result CSV contains `type;time_microseconds;value;timestamp`.
47
57
- type: Type of test
48
58
- time_microseconds: The time used for actually executing the only test-revelant part, excluding time to setup the test before it can run (file creation, logging, etc...)
49
59
- value: The value for values other than time_, for example the CPU cycles
50
60
- timestamp: The timestamp of when the actual CSV row has been written
51
61
52
62
53
-
# HTML Format
63
+
##HTML Format
54
64
The result HTML contains an easy viewable page with charts to make it easier for humans to read.
55
65
56
66
## Development
@@ -62,12 +72,12 @@ Always create an `issue` at github before you start changing things that you wan
62
72
- Add any changes to the `RELEASEINFO.md` for the next release cycle
63
73
64
74
## Create release
65
-
We create releases with an automated github actions, see `.github/workflows/release.yml`
75
+
We create releases with automated github actions, see `.github/workflows/release.yml`
66
76
67
77
68
78
## Build/Compile local
69
79
- Requirements: run `bash setup.sh`
70
80
71
81
Just have a look at `build.sh` to see a list of all supported platforms and architectures and show to compile them with a single command line call.
72
82
73
-
Run `bash setup.sh` to build all into `build` directory.
83
+
Run `bash build.sh` to build all into `build` directory.
0 commit comments