Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refresh thanosbench #1412

Closed
bwplotka opened this issue Aug 14, 2019 · 5 comments
Closed

Refresh thanosbench #1412

bwplotka opened this issue Aug 14, 2019 · 5 comments

Comments

@bwplotka
Copy link
Member

bwplotka commented Aug 14, 2019

AC:

  • ./benchmark should be a separate repo in thanos-io org. (TO decide)
  • thanosbench should be up to date with newest Thanos.
@yeya24
Copy link
Contributor

yeya24 commented Aug 14, 2019

I' m interesting on this. But with some questions.

  1. Rename to thanosbench or remain benchmark?
  2. Do we have any plan for this part? Will it be something like prombench?
  3. Don't have any ideas about this Remove gossip from Dashboards and benchmark tool #1180 (comment)

@bwplotka bwplotka changed the title Moved benchmaark to separate repository Moved benchmark to separate repository Aug 15, 2019
@bwplotka bwplotka changed the title Moved benchmark to separate repository Refresh thanosbench Aug 15, 2019
@bwplotka
Copy link
Member Author

bwplotka commented Aug 15, 2019

Valid questions!

So first of all. The plan is to remove the benchmark directory totally. It's super old and not maintained. Let's stop confusing users: #1423

  1. I think thanosbench makes sense (:
  2. Have some rough ideas, but TBH for recent benchmarks, I used this: https://github.com/thanos-io/thanos/tree/865d5ec710b5651ead08a7dc73864a6f5dbeeaa9/tutorials/kubernetes-demo/blockgen and some infrastracture definitions in Go: https://github.com/bwplotka/mimic/tree/master/examples/prometheus-remote-read-benchmark
  3. Commented.

Overall I am not sure if separate project even makes sense.

Benefits of the same repo:

  • It's easier to synchronize versions of deps, thanos vs benchmarks
  • It is tied to Thanos so it make sense to have it in same repo.
  • Reuse CI, tooling etc.

Issues:

  • Same go module? In this case, we might add more deps then needed to the Thanos.
  • Different module? Then same issue with versions sync (:

@krasi-georgiev
Copy link
Contributor

here are a couple of tools that can help
https://github.com/open-fresh/avalanche
https://github.com/m3db/promremotebench

And here is a bench test setup that I started on the ingestion path.
https://github.com/krasi-georgiev/benchTSDB

@bwplotka
Copy link
Member Author

bwplotka commented Oct 2, 2019

Created https://github.com/thanos-io/thanosbench

The initial idea is to have a place that will hold:

  • CLI / docker tools for benchmarking
    • Querying
    • Generating blocks of different size and compactions, downsampling structure - for both object storage as well as filesystem
  • Kubernetes templates based on Go (mimic) that will generate deployment YAMLs for different cases.
  • Tooling to build thanos-io/thanos certain commit into docker image for Kubernetes use

That's for start. Feedback welcome, what would you like to see more?

@bwplotka
Copy link
Member Author

https://github.com/thanos-io/thanosbench exists. Let's create issues on that repo related to benchmarking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants