见之前博客《ejabberd集群续》,针对该集群进行压力测试。 测试方法同之前openfire集群的测试。首先使用tsung脚本创建用户, 发现不成功。 查看log发现如下错误:
<<"<iq from='haoxuebao' id='2' type='error'><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Authentication required</text></error></iq>">>
经过跟踪发现是配置的问题。 打开ejabberd.yml的相应配置即可注册用户。具体配置如下:
打开这两项配置。 继续使用tsung脚本注册用户, 提示如下错误:
<<"<iq from='haoxuebao' id='3' type='error'><query xmlns='jabber:iq:register'><username>tsung1</username><resource>tsung</resource><password>tsung1</password></query><error code='500' type='wait'><resource-constraint xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Users are not allowed to register accounts so quickly</text></error></iq>">>
继续在ejabberd.yml进行配置,如下图:
问题解决可以使用tsung脚本注册大量用户了, 我的测试中创建了150004个用户。
下面使用tsung脚本进行测试, 脚本如下:
结果如下:
至此,测试告一段落, 后续还将调整ejabberd的参数, 进行优化测试。