Hello,
I have been trying to benchmark ejabberd and see how many connections i can get from it. I run things on digitalocean. I spun up a really big instance of 32gb ram and i benchmark using tsung from another instance. It seems like no matter what i do, i cant get more then 28k / 30k connections max. Any configuration things i should look out for? ulimit on the machine is set to like 1 million open files and ive made most processes / connections / network all that stuff support millions of things. My tsung instance is like 8gb so i dont top out that instance when testing. Let me know if you have any pointers. i can provide configuration stuff .
I ran into the same problem,
I ran into the same problem, I managed to find the first weakest link in the chain: TCP ports.
Running:
sysctl -a | grep net.ipv4.ip_local_port_range
Shows:
net.ipv4.ip_local_port_range = 32768 61000
61000-32768=28232 -> 28k connection limit...
Lowering 32768 and increasing 61000 will increase connection limit but will again be limited at theoretically 65536 connections.
Getting past those limits you'll have to use clustering capabilities in Tsung.
I believe Tsung has support for using multiple IPs which could multiply the amount of maximum connections by the amount of IPs used.
Running ejabberd server -
Typically, this kind of limitation is indeed related to Linux OS tuning.