Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IRCd
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Connections === Running a large IRC server, one that has more than a few thousand simultaneous users, requires keeping a very large number of [[Transmission Control Protocol|TCP connections]] open for long periods. Very few ircds are [[Thread (computer science)|multithreaded]] as nearly every action needs to access (at least read and possibly modify) the global state. The result is that the best platforms for ircds are those that offer efficient mechanisms for handling huge numbers of connections in a single thread. [[Linux kernel|Linux]] offers this ability in the form of [[epoll]], in kernel series newer than 2.4.x. [[FreeBSD]] (since 4.1) and OpenBSD (since 2.9) offers [[kqueue]]. [[Solaris (operating system)|Solaris]] has had [https://web.archive.org/web/20070202231908/http://access1.sun.com/techarticles/devpoll.html /dev/poll] since version 7, and from version 10 onwards has [[IOCP]] (I/O Completion Ports). [[Windows]] has supported [[IOCP]] since Windows NT 3.5. The difference made by these new interfaces can be dramatic. IRCU developers have mentioned increases in the practical capacity per server from 10,000 users to 20,000 users.{{Citation needed|reason=Which developers? and When? |date=July 2022}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)