Ejabberd limits online users to 64,464. Descriptors have already increased

I will limit myself to the fact that more than 64,000 (64,464 exactly) users can be loaded on the Ejabberd node. I am using xml script (Tsung) to connect users to node.

I have already created a descriptor limit:

Eshell V5.10.4  (abort with ^G)
1> os:cmd("ulimit -n").
"1045000\n"

One strange observation is this (expect the number of available ports to be integer here):

2> os:getenv("ERL_MAX_PORTS").
false

In addition, the ERL_MAX_PORTS parameter in the ejabberdctl.cfg file is set to 704500.

ERL_MAX_PORTS=704500

I think One Ejabberd node has a limit to maximize user access to the network. It may be memory dependent on the machine or something else.

In addition, it looks like /etc/security/limits.conf:

#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50   
#ftp             hard    nproc           0
#@student        -       maxlogins       4
root             soft    nofile          1045000
root             hard    nofile          1045000

I can try creating another virtual host on the same Linux machine as

hosts:
  - "devlab"
  - "devlab2"

But I'm not sure how it would be otherwise.

Pointers will be appreciated.

!

+4
1

os ', erlang. , erlang vm + Q ( ).

+ Q | , . - [1024-134217727]

: erl + Q 704500

erlang, eshell:

erlang:system_info(port_limit)
+2

Source: https://habr.com/ru/post/1584833/


All Articles