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

router-perf: update default CLIENTS after maxconn changed from 20k to 50k in 4.12 #519

Closed
qiliRedHat opened this issue Nov 30, 2022 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@qiliRedHat
Copy link
Collaborator

Connection Capacity for default 2 routers
number of router(default 2) x default maxConnections(50k) = 100k connections
Culculation for proper CLIENT
small scale(100 routes)
For http and passthrough, number of routes(100 for large scale) x clients(1000) = 100k.
For edge and re-encrypt, number of routes(100 for large scale) x clients(500)x2 = 100k
To leave some buffer, 400 is a good number for SMALL_SCALE_CLIENTS

For mix termination, number of routes(100) x 2 (http and passthrough) x clients(150) + routes(100) x 2(edge and re-encrypt) x 2(connection per termination) x clients(150) =90k connections
150 is a good number for SMALL_SCALE_CLIENTS_MIX

large scale(500 routes)
For http and passthrough, number of routes(500 for large scale) x clients(200) = 100k
For edge and re-encrypt, number of routes(500 for large scale) x clients(100)x2 = 100k
To leave some buffer, 80 is a good number for LARGE_SCALE_CLIENTS

For mix termination, number of routes(500) x 2 (http and passthrough) x clients(30) + routes(500) x 2(edge and re-encrypt) x 2(connection per termination) x clients(30) =90k connections
30 is a good number for LARGE_SCALE_CLIENTS_MIX

Proposal:

SMALL_SCALE_CLIENTS 1 40 200-> 1 200 400
SMALL_SCALE_CLIENTS_MIX 1 20 80 -> 1 50 150
LARGE_SCALE_CLIENTS 1 20 80-> 1 40 80
LARGE_SCALE_CLIENTS_MIX 1 10 20-> 1 10 30

@rsevilla87 Please let me know your comments. I will open a PR when we get an agreement.

@rsevilla87
Copy link
Member

rsevilla87 commented Nov 30, 2022

I like this proposal @qiliRedHat, however it comes with some caveats since maxConnections=50K is defaulted in 4.12 as you mentioned. Additional info at https://issues.redhat.com/browse/NE-1072

If I've understood correctly, the maximum connections created by each test should be :

Edge & passthrough = routes * clients * 2 (edge & passthrough)
Mix = routes * clients * 1.5 (half of the routes are edge & passthrough)

  • Small scale -> 100x400x2=80K

  • Small scale mix -> 400x150x1.5=90K <--- Leaving only 10K connections as buffer could be dangerous, I propose using 125 clients to reach 75K connections

  • Large scale -> 500x80x2=80K

  • Large scale mix -> 2000x30x1.5=90K <--- Leaving only 10K connections as buffer could be dangerous, I propose using 25 clients to reach 75K connections

Where each router supports up to 50K connections, we deploy 2 routers by default. Hence they can handle up to 100K connections.

Other than that, I'd remove some of the iterations to make this test a bit shorter as proposed already at #452

SMALL_SCALE_CLIENTS 1 40 200-> 1 400
SMALL_SCALE_CLIENTS_MIX 1 20 80 -> 1 125
LARGE_SCALE_CLIENTS 1 20 80-> 1 80
LARGE_SCALE_CLIENTS_MIX 1 10 20-> 1 25

@qiliRedHat
Copy link
Collaborator Author

@rsevilla87
Copy link
Member

Fixed in #519

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

7 participants