Tsung负载测试 - Websocket + XMPP + SSL

时间:2016-06-29 14:13:18

标签: websocket erlang ejabberd openfire tsung

最近,我们开始研究使用Tsung工具创建负载测试脚本以对抗 XMPP服务器(Openfire)的可能性。

我使用负载均衡器地址作为服务器服务器配置,它在Openfire集群节点之间分配负载,websocket端口号为7443.ATM我的目标是使用凭据登录服务器并从特定风险的服务器获取房间数。

我的脚本无法向负载均衡器发出请求,我已在XMPP服务器日志中验证以确保。我不确定我在配置中缺少什么来成功验证请求,有人可以帮我解决这个问题。

协议:Websocket 端口:7743(SSL)

    <?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM '/home/prasad/Documents/tsung-1.6.0/tsung-1.0.dtd'>
<tsung loglevel='info' dumptraffic='false' version='1.0'>
    <clients>
        <client host='localhost' use_controller_vm='false'/>
    </clients>
    <servers>
        <server host='chat.ppc1.pgt01.gamesysgames.com' port='7443' type='websocket'/>
    </servers>
    <load>
        <arrivalphase phase="1" duration="2" unit="minute">
            <users interarrival="2" unit="second"></users>
        </arrivalphase>
    </load>
    <options>
        <option type='ts_jabber' name='global_number' value='100000' />
        <option type='ts_jabber' name='userid_max' value='100000' />
        <option type='ts_jabber' name='domain' value='chat' />
        <option type='ts_jabber' name='muc_service' value='jackpotjoy.chat' />
        <option name="websocket_path" value='/ws' />
    </options>
    <sessions>
        <session probability="100" name="websocket-example" type="ts_jabber">
            <request>
                <jabber type="connect" ack='local'>
                    <xmpp_authenticate username='' passwd='&lt;VENTURE&gt;jackpotjoy&lt;/VENTURE&gt;&lt;TOKEN TYPE="1"&gt;&lt;PUBLIC&gt;&lt;MEMBER-ID&gt;18118300&lt;/MEMBER-ID&gt;&lt;NAME&gt;media1&lt;/NAME&gt;&lt;EXPIRY-DATE&gt;1467207433297&lt;/EXPIRY-DATE&gt;&lt;/PUBLIC&gt;&lt;CIPHER-TEXT&gt;&lt;![CDATA[O9jTn2YZzMFwcLPdLbwiQ/PlKG5X47w6JYlfWJ6Yh+50XMcpWEHuGs0Q1qI9IjjpU1/n7cUsEc0MPsxyUkXexgMdMZqdhMG5+Kczf2T8Ma2JvzCYMIjnkuuqwUMhigVF28nhrfFLSeSVbv2PhWJ7XUedarkkVibKrVnQkkvCqkGB5oXZixu/TTJzpqb/wjuTOqRa+vmwz8l2Ljp/0hb/e3MHyLNcd21S]]&gt;&lt;/CIPHER-TEXT&gt;&lt;/TOKEN&gt;'/>
                </jabber>
            </request>
            <transaction name='authenticate'>
                <request>
                    <jabber type='auth_sasl' ack='local' />
                </request>
                <request>
                    <jabber type='connect' ack='local' />
                </request>
                <request>
                    <jabber type='auth_sasl_bind' ack='local' />
                </request>
                <request>
                    <jabber type='auth_sasl_session' ack='local'/>
                </request>
            </transaction>
            <request>
                <jabber type='presence:initial' ack='local' />
            </request>
            <transaction name='roster'>
                <request>
                    <jabber type='iq:roster:get' ack='local'></jabber>
                </request>
            </transaction>
            <transaction name='get_roomcount'>
                <request>
                    <jabber type='raw' ack='local' data='&lt;iq to="jackpotjoy@chat" type="get"&gt;&lt;query
                        xmlns="http://jabber.org/protocol/disco#items" node="roomcount" /&gt;&lt;/iq&gt;'/>
                    </request>
                </transaction>
                <transaction name='close'>
                    <request>
                        <jabber type="close" ack='local' />
                    </request>
                </transaction>
            </session>
        </sessions>
    </tsung>

我没有在日志中看到任何错误消息,有人可以帮助我。

1 个答案:

答案 0 :(得分:1)

对不起,我只会说一点英语。 您可以尝试修改dumptraffic ='true'并设置loglevel属性。

请查看Tsung用户手册:

  • 6.1。文件结构

    如果添加属性dumptraffic =“true”,则所有流量都将记录到文件中。

相关问题