-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
asyncio accepting connection limit #77992
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
Comments
|
https://bugs.python.org/issue27906 describes a situation where accept rate of connection is too slow for use cases where spikes of incoming connection warrants fast accept. The fix for that was to accept socket connection in a tight loop until it reaches "backlog" connections. This doesn't work very well in a web server scenario where we have many processes listening on the same socket. Each process should not accept up to "backlog" connections, for better load balancing among processes. It would be ideal if this is a separate argument for the server configuration so that the application can decide up to how many connections it is willing to accept in the loop, independent of the backlog parameter for listen() system call. Let me know if this makes sense. Lisa |
|
In principle this sounds good, but I'm not sure how the API and implementation would look like. Maybe you can share a bit more details? |
|
One rough idea would be like this: https://github.com/python/cpython/compare/master...lguo2020:fix-issue-33811?expand=1. Another option is to associate it with the loop: loop.set_max_accept(2)and then later self._loop._start_serving(....., max_accept=self._loop._max_accept) |
|
This doesn't look much useful as usually reverse proxy servers are used for load balancing ex nginx. |
|
Yeah, let's close this for lack of activity. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: