Tip of the day: Still not using a real SSL/TLS certificate? Check out Using Let's Encrypt with UnrealIRCd.

UnrealIRCd performance and limits

From UnrealIRCd documentation wiki
Jump to navigation Jump to search

UnrealIRCd can handle thousands of locally connected clients just fine. On multi-server networks the total amount of users is virtually unlimited. Clients are spread over multiple servers for better performance and increased resilience against server and network outages.

See also:

Below are the limits explained in detail, as of UnrealIRCd 5.0.9 and later.

Limits

Area What Local limit Global limit What if you want to extend this limit...
Users Maximum number of connected clients 16,384 by default No limit Depends on the number of file descriptors. By default it currently limits at over 16300 users, but this can be changed during ./Config. If you change this it is also recommended to read FAQ: How many users can UnrealIRCd handle
Channels Maximum number of channels No limit No limit
Servers Maximum number of servers 12,960 12,960
TKL Maximum number of server bans No limit No limit When using large amount of server bans such as GLINE/ZLINE, it is highly recommended to place them on IP's (*@IP) because they use very little CPU.

In case of extreme attacks, ZLINE is preferred, otherwise use GLINE. Benchmarking results:

  • With 100,000 ZLINEs on *@IP: 435,000 connections per minute
  • With 1,000,000 ZLINEs on *@IP: 33,560 connections per minute
No limit Default limit (you can set it higher!) Hard limit (can never exceed this value)

Other limits

Many other limits are actually "soft limits" that can be freely changed on-the-fly in the configuration file. These are limits imposed to control abuse, spam and flooding. Almost all these limits are in the Set block. For example, set::maxchannelsperuser controls how many channels may be joined by every user.

One of the limits that is not in the set block is maxperip, which controls how many connections are allowed per IP address. This is done in the Allow block.