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

Load test for gluu-client-auth and gluu-pep Kong plugins #241

Open
altexy opened this issue Oct 24, 2018 · 6 comments
Open

Load test for gluu-client-auth and gluu-pep Kong plugins #241

altexy opened this issue Oct 24, 2018 · 6 comments
Assignees
Milestone

Comments

@altexy
Copy link
Contributor

altexy commented Oct 24, 2018

No description provided.

@altexy altexy self-assigned this Oct 24, 2018
@altexy
Copy link
Contributor Author

altexy commented Oct 24, 2018

We need to design load test to get an idea about performance of our plugins.

Also such test is required for possible performance optimizations.

My idea is to test with minimal possible environment like we do in existing test suite.
For example:

  • PostgreSQL
  • Kong 0.14
  • our plugins
  • mock oxd-server

Obviously we cannot test on local developer hardware.
To get realistic numbers we need a VMs with dedicated CPU resources.
For example on Digital Ocean (DO) we need to use Optimized droptes instead of Standard.

By my experience for serious load test we will need:

  • powerful DB VM
  • powerful Kong VM
  • a number of backend VMs, usually it is a bottleneck
  • VM for oxd-mock

We cannot use our existing oxd-mock approach, under heavy load it will not work.
We will need to implement different mock server which will accept some percentage of tokens, 95% for example.

@nynymike
Copy link
Contributor

I like the idea. It's a good start.

@altexy
Copy link
Contributor Author

altexy commented Oct 25, 2018

YuriyZ October 24, 2018 5:11 PM
in 3.1.3.1 performance tests was ~100 req/s. In 4.0 we dropped one layer of serialization, so it should be a bit faster. But I would not expect significant increase because at the end oxd calls oxauth which without tunning is around 100 req/s, and with tunning ~120-140 req/s.

So the real bottleneck is the oxAuth.
IMO it isn’t make sense to test GG, because with Kong we may talk about thousands RPS.

@yuriyz
Copy link
Contributor

yuriyz commented Oct 25, 2018

It can be good idea to mock oxd and oxauth calls. So you can performance GG code and find out all possible bottlenecks and race conditions inside GG. It will keep GG prepared for oxauth 4.0 and oxd 4.0, Hopefully with couchbase persistence we will get better numbers.

@altexy altexy added this to the 4.0.0 milestone Oct 30, 2018
@willow9886 willow9886 modified the milestones: 1.0, 2.0 May 20, 2019
@altexy
Copy link
Contributor Author

altexy commented Jun 28, 2019

@nynymike @willow9886 we have 2 choices for perf. testing:

  1. Use a mock environment (as suggested by @yuriyz above)
  2. Test with real Gluu deployment (GG + oxd + GS)

First is perfect for GG perf. tuning, but would not provide the real perf. that the customer may see.
I have a feeling that bottleneck will not be in GG.

Second is much difficult to implement as a full automated test, but would show the real picture.

IMO both approaches make sense, need your advice about priorities.

@nynymike
Copy link
Contributor

Definitely proceed with #1. Performance testing oxd should be a separate exercise. And Gluu Server we already test.

altexy added a commit that referenced this issue Jul 30, 2019
altexy added a commit that referenced this issue Jul 30, 2019
altexy added a commit that referenced this issue Sep 30, 2019
@ldeveloperl1985 ldeveloperl1985 modified the milestones: 4.0, 4.3 Mar 12, 2020
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

5 participants