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

Dynamically allocate and shrink server connections #710

Open
krizhanovsky opened this issue Mar 18, 2017 · 1 comment
Open

Dynamically allocate and shrink server connections #710

krizhanovsky opened this issue Mar 18, 2017 · 1 comment

Comments

@krizhanovsky
Copy link
Contributor

krizhanovsky commented Mar 18, 2017

The issue was originally described in #76 (comment) . The issue is crucial due to recent #660 : if there are a lot of non-idempotent requests or send queues are full, then we have limited throughput to upstream servers. Thus static number of connections can be wrong and it'd be good to establish a new server connection if current connections are blocked by non-idempotent requests. Meantime, if APM shows that the server is overloaded, then it could has sense to reduce number of server connections. Probably unused connections also can be shrunk - it could improve performance of schedulers. However, too frequent changing of connections number is also not wished due to relatively expensive schedulers updates.

Some dependence on #712: we need deeper study on the machine learning APM algorithms.

@krizhanovsky krizhanovsky added this to the 0.6 WebOS milestone Mar 18, 2017
@krizhanovsky krizhanovsky modified the milestones: backlog, 0.10 Kernel-User Space Transport Mar 22, 2018
@krizhanovsky
Copy link
Contributor Author

Crucial note from #498:

Long polling is another question that bothers me. Imagine we have 32k connections to backend servers, and have 32k clients that use long polling In this case server connections are depleted and we can't serve new client connections.

@vankoven vankoven mentioned this issue Apr 3, 2018
@krizhanovsky krizhanovsky modified the milestones: 0.10 Kernel-User Space Transport , 0.7 HTTP/2 Apr 3, 2018
@krizhanovsky krizhanovsky modified the milestones: 1.0 Beta, 1.1 Network performance & scalability, 1.1 TBD (Network performance & scalability), 1.1 TDB (ML, QUIC, DoH etc.) Feb 11, 2019
@krizhanovsky krizhanovsky modified the milestones: 1.xx TBD, backlog Apr 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant