Skip to content

Adding: latency test, more control, more stats, etc..#9

Merged
harshavardhana merged 2 commits into
minio:mainfrom
zveinn:main
Jul 15, 2024
Merged

Adding: latency test, more control, more stats, etc..#9
harshavardhana merged 2 commits into
minio:mainfrom
zveinn:main

Conversation

@zveinn

@zveinn zveinn commented Jul 5, 2024

Copy link
Copy Markdown
Contributor

This PR does the following:

  • Adds latency testing
  • Adds TTFB testing
  • Adds more control over buffers, timers, etc..
  • Adds multi-socket testing
  • Adds a preset for latency / TTFB testing ( -latencyTest )
  • Adds json stdout printing

Latency testing only

Using the flag -latencyTest is a shortcut for a 60 second low-bandwidth latency test @guptaarvindk

Notes

The -severIP can be used to define a server IP if two or more hosts are on the same machine. Technically this won't be needed to client deployments. We also introduce a check for the real remote IP incase clients are using proxies or LB's. The real IP is hidden if it's the same as the reported one.


Additionally, error counts and latest error message for each 1 second increments were added just so we can see if something is going wrong without the entire window spamming in errors. There is a flag -printAll which can be enabled to print all errors.

┌───────────┬───────────┬──────┬──────────┬───────┬──────────┬─────────────┬───────────────┬─────────┬────────────┐
│ Local     │ Remote    │ RX # │ RX       │ TX #  │ TX       │ MS high/low │ TTFB high/low │ Error # │ Last Error │
│ 127.0.0.1 │ 127.0.0.1 │ 9945 │ 6.5 GB/s │ 25503 │ 6.7 GB/s │ 27/0        │ 17/0          │ 0       │            │
└───────────┴───────────┴──────┴──────────┴───────┴──────────┴─────────────┴───────────────┴─────────┴────────────┘

Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated

@klauspost klauspost left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏼

Comment thread README.md Outdated
Comment thread go.mod Outdated
Comment thread .github/workflows/vulncheck.yml Outdated
Comment thread go.mod Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread main.go Outdated
Comment thread go.mod Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread README.md Outdated

@harshavardhana harshavardhana left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will test this tomorrow in our DC across 8 nodes

Comment thread main.go Outdated

@harshavardhana harshavardhana left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you remove binary from the commit? and also the hosts.txt file?

@zveinn

zveinn commented Jul 15, 2024

Copy link
Copy Markdown
Contributor Author

:S the hosts.txt was meant to be an example for a host file, but np. I'll remove it and the binary.. I don't know how that got in there. I squashed it all into one commit @harshavardhana

Comment thread go.mod Outdated
@harshavardhana harshavardhana merged commit 1b40647 into minio:main Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants