-
Notifications
You must be signed in to change notification settings - Fork 64
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
select.select() does not support file descriptors > 1023 #78
Comments
Switching to |
Sounds good. I'll get back once I have something functional. |
I've realized However, |
I'm comparing multiplexing performance using new example script.
For |
I've tried reducing selector instance creations as in c4350ca but it did not bring performance improvements. It also caused a few tests to fail, and I couldn't figure out why. I've raised #81 with the simplest approach hoping |
I've tested #81 on Windows 10 with Python 3.12. Simple use ( |
Thespian version : recent snapshot (4a7b522)
OS: Ubuntu 22.04, Linux kernel 6.5.0-1025-gcp
Problem:
When using
multiprocTCPBase
with high horizontal scaling (hundreds of actors), I've run into the following error which breaks Thespian:After adding extra logs:
I can see the following:
The process which encounters this definitely has limits properly raised:
I think we are running into
select.select()
limitation caused byFD_SETSIZE
constant value which is documented inselect()
system call.Can we replace
select.select()
withselect.poll()
orselectors
? Any preferences? I am assumingselect.epoll()
is not an option as it is only supported by Linux. I am happy to work on the PR.This is a serious scaling limitation for rally.
The text was updated successfully, but these errors were encountered: