-
Notifications
You must be signed in to change notification settings - Fork 58
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
test: load testing tooling and initial observations #225
test: load testing tooling and initial observations #225
Conversation
Signed-off-by: Kavindu Dodanduwa <KavinduDodanduwa@gmail.com>
d89531a
to
43574a6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How was the loadTestResults.png
created?
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
This is an extraction from the load test results [1]. If you are interested in how numbers were derived, it was by running a containerised flagd with random FFs (generated with |
I think you should note somewhere that HTTP is used as the interface. Based on what I'm seeing, I think encoding and (de)serialization is probably where we are spending a lot of time. I think it would be ideal to run a suite in gRPC as well, using https://github.com/grpc/grpc/blob/master/doc/command_line_tool.md or https://github.com/fullstorydev/grpcurl, potentially. If we do this we'll want to make sure the same connection is used for all the RPCs. Do you think we should create an issue for this? Should we do it as part of this issue? cc @beeme1mr |
It would be worth extending the tests to also include gRPC. It looks like K6 supports it natively. |
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
Great input. I highlighted the API type used in the observations section (updated with latest commit). Yes, testing and comparing against gRPC would be great. And yes, pprof proved the same point: most of the cpu time and memory is spent on reading and writing request |
Co-authored-by: Skye Gill <gill.skye95@gmail.com> Signed-off-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com>
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
@Kavindu-Dodan please resolve any conversations that have been addressed. |
ACK. There's one more conversation to resolve and I am waiting for the response from @AlexsJones . |
Sorry just remarked on it |
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
20bdba6
to
8e8f29e
Compare
Thanks and I updated the PR with the suggested change |
@Kavindu-Dodan has contributed multiple significant changes and proposals to flagd: - multiple refactors: #291, #307 - ci/security improvements: #338, #337 - architectural proposals (some of which got some attention from outside parties!): open-feature/ofep#45, open-feature/flagd-schemas#78, #249 (comment) - load testing: #225 - documentation improvements For these reasons, I believe he should be made a CODEOWNER in this repository. NOTE: before this is merged, @Kavindu-Dodan should be added with at least `maintainer` permissions to the repo. Signed-off-by: Todd Baert <toddbaert@gmail.com>
This PR
PR introduce tools to support performance testing for flagd. Content include,
profile.Dockerfile
)Related Issues
PR is related to #212
How to test
Consider the readme contents at
/test/loadtest/README.MD