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

Create benchmark suite #400

Open
mperham opened this issue Apr 28, 2022 · 2 comments
Open

Create benchmark suite #400

mperham opened this issue Apr 28, 2022 · 2 comments

Comments

@mperham
Copy link
Collaborator

mperham commented Apr 28, 2022

We need a set of benchmarks which can exercise various features and provide some basic performance numbers.

  • push 100,000 jobs
  • Bulk push 100,000 jobs
  • Process 200,000 no-op jobs using fwg
  • process a batch of 100 child batches with 2000 jobs each
  • etc
@rocktavious
Copy link

Hey @mperham - I recently learned how to benchmark golang code because i needed to rewrite a section of project and wanted to see how I increased (or reduced) the performance.

I would like to try and take on this issue to continue to hone my skills on writing benchmark tests. I have some questions for you before I go off and try to write a PR.

  1. Is this an exhaustive list of the things you'd like to see (i'm fairly new to faktory and we are trying to implement at my day job)
  2. What is the end goal with this - just to have benchmarks run on the main branch after release? Generate graphs of faktory vs sidekiq? something i'm not considering?
  3. Are you ok with this being golang benchmark tests or did you want something else?

Looking forward to your thoughts.

@mperham
Copy link
Collaborator Author

mperham commented Sep 29, 2023

Great questions, this issue is just meant to be a starting point. I'm happy with any set of non-trivial benchmarks. Anything will provide a starting point and baseline for future changes.

  1. Definitely not exhaustive (e.g. we could add loading testing web) but just a few ideas.
  2. Get a baseline for performance so we can improve or find regressions in core functionality
  3. testing.B is a perfectly fine start.

The last item (batches) requires conditional support for Faktory Enterprise so it's also a nice to have. We can collaborate and I can add that one if you don't have Enterprise access.

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

No branches or pull requests

2 participants