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

Implement a benchmark suite #637

Closed
rafalp opened this issue Aug 2, 2021 · 3 comments
Closed

Implement a benchmark suite #637

rafalp opened this issue Aug 2, 2021 · 3 comments
Assignees
Labels
roadmap Feature that we want to have included
Milestone

Comments

@rafalp
Copy link
Contributor

rafalp commented Aug 2, 2021

It would be great if Ariadne implemented benchmark suite that would measure query execution times for following scenarios:

  • Simple query returning one item
  • Simple query returning list of 500 items
  • Complex query returning one item
  • Complex query returning list of 500 items

We could then easily add extra performance tests to Ariadne by running those tests with different features enabled or disabled.

I'm not expecting that many test cases for start, so we could begin with benchmark.py script in main repo with CLI interface that setups example GraphQL app, runs GraphQL query against given ASGI server (this is easy to do with HTTPX) few hundred times, then displays min/max/avg times for query. We could also explore adding WSGI server to the benchmarks.

@rafalp rafalp added the roadmap Feature that we want to have included label Aug 2, 2021
@nilansaha
Copy link

@rafalp What do you mean by a complex query ? Are you just talking about a few levels deep nested queries with a more than one entity maybe ?

@rafalp
Copy link
Contributor Author

rafalp commented Aug 24, 2021

@nilansaha yup, thats what I mean here. Preferably one that goes three or four levels deep.

But hold your horses here, we would like to handle this one on our side.

@rafalp rafalp added this to the Ariadne 0.15 milestone Aug 24, 2021
@nilansaha
Copy link

nilansaha commented Aug 24, 2021

@rafalp Okay sounds good. Probably not the best place to write but can you guys look at including this with the 0.14 version itself ? It's a relatively small change. Once that is merged in we might also be very keen to do this on our side and try to get that approved. I didn't see any release date for 0.14 so speaking from that context. Obviously this probably does not make sense if 0.14 is going to come out real soon.

@rafalp rafalp closed this as completed Dec 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
roadmap Feature that we want to have included
Projects
None yet
Development

No branches or pull requests

3 participants