Sounds like you've hit an OS soft or hard limit. Check with your sysadmin and/or consult your shell's documentation for its ulimit command.
| [reply] |
You are correct that there is a limit of 1024 sockets when not running as root. However, as root, we often extend the maximum to 8K. In our IO::Select based implementation we have gone to 2K open sockets. But at these numbers the CPU load is considerable. I'm hoping there is someone out there who has found a way to get Event::Lib past the 1024 limit. I was thinking this might be by recompiling libevent.
I was hoping that there might be a switch or something I might correct to get past this limit.
| [reply] |
You might also want to look at Danga::Socket. I think it uses an epoll interface which should be optimal on Linux (maybe Event::Lib uses the same interface, not sure).
Djabberd (which I think is built on Danga::Socket) has scaled to more than 1k sockets, anyway: http://brad.livejournal.com/2230083.html. | [reply] |