我被限制在Ejabberd节点上带来超过大约64000(64,464个精确)用户在线.我正在使用xml脚本(Tsung)将用户带到节点上.
我已经提高了描述符的限制:
Eshell V5.10.4 (abort with ^G)
1> os:cmd("ulimit -n").
"1045000\n"
一个奇怪的观察是这个(期望可用端口计数为整数值):
2> os:getenv("ERL_MAX_PORTS").
false
此外,ejabberdctl.cfg文件中的“ERL_MAX_PORTS”设置为704500.
ERL_MAX_PORTS=704500
我猜One Ejabberd节点对于最大用户在线有一些限制.这可能是依赖于机器或其他东西的内存.
另外,这就是/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
我可以通过创建另一个在同一台Linux机器上运行的虚拟主机来尝试:
hosts:
- "devlab"
- "devlab2"
但我不确定这会有什么不同.
指针将不胜感激.
谢谢!
最佳答案 除了os’端口限制,您还必须配置erlang端口限制.这可以通过使用Q参数(
further information)启动erlang vm来完成.
+Q Number|legacy
Sets the maximum number of simultaneously existing ports for this system if a Number is passed as value. Valid range for Number is [1024-134217727]
例如:erl Q 704500
您可以使用eshell中的以下命令检查erlang端口限制:
erlang:system_info(port_limit)