在ejabberd集群配置中有这么一项:在/etc/ejabberd/ejabberdctl.cfg下有个ERLANG_NODE,默认是ERLANG_NODE=ejabber,如果将其改成ERLANG_NODE=name@ip (如ERLANG_NODE=ejabberd@192.168.0.1),假设现在有2台ejabberd服务器,用jab_simul压力测试工具进行测试,连到单台在线用户在3000左右大概10分钟,ejabberd服务器就会down掉。但改成ERLANG_NODE=name@domain (如ERLANG_NODE=ejabberd@ejabberd.host.im)的话,在线用户1W左右都ejabberd不会down掉。
后来在网站找了份资料说erl_call模块有个毛病, erl_call -n xx@xxx.org 最好用域名,否则它会抓狂,可能ejabberd也正是有这样原因影响了它的性能,改了后性能就好很多了。