최근 Tsung 도구를 사용하여 XMPP 서버 (Openfire)에 대해로드 테스트 스크립트를 만드는 방법을 조사하기 시작했습니다.Tsung로드 테스트 - Websocket + XMPP + SSL
Openfire 클러스터 노드와 websocket 포트 번호 사이에로드를 분산시키는 서버 서버 구성으로로드 밸런서 주소를 사용하고 있습니다. 나의 목표는 신임장을 사용하여 서버에 로그인하여 특정 벤처 기업의 서버 실로부터 얻는 것입니다. .
어떻게 내 스크립트가로드 균형 조정기에 요청을 할 수 없는지 확인하기 위해 XMPP 서버 로그에서 확인했습니다. 인증 요청을 성공적으로 수행하기 위해 구성에서 누락 된 부분을 잘 모릅니다.이 문제를 해결하는 데 도움이 될 수 있습니다.
프로토콜 : 웹 소켓 포트 : 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='<VENTURE>jackpotjoy</VENTURE><TOKEN TYPE="1"><PUBLIC><MEMBER-ID>18118300</MEMBER-ID><NAME>media1</NAME><EXPIRY-DATE>1467207433297</EXPIRY-DATE></PUBLIC><CIPHER-TEXT><![CDATA[O9jTn2YZzMFwcLPdLbwiQ/PlKG5X47w6JYlfWJ6Yh+50XMcpWEHuGs0Q1qI9IjjpU1/n7cUsEc0MPsxyUkXexgMdMZqdhMG5+Kczf2T8Ma2JvzCYMIjnkuuqwUMhigVF28nhrfFLSeSVbv2PhWJ7XUedarkkVibKrVnQkkvCqkGB5oXZixu/TTJzpqb/wjuTOqRa+vmwz8l2Ljp/0hb/e3MHyLNcd21S]]></CIPHER-TEXT></TOKEN>'/>
</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='<iq to="[email protected]" type="get"><query
xmlns="http://jabber.org/protocol/disco#items" node="roomcount" /></iq>'/>
</request>
</transaction>
<transaction name='close'>
<request>
<jabber type="close" ack='local' />
</request>
</transaction>
</session>
</sessions>
</tsung>
.
안녕하세요, 저는 예전에 dumptraffic 플래그를 true로 변경하고 스크립트를 다시 실행했으며 로그 파일에서이 정보를 발견했습니다. 17 : 49 === ts_job_notify : (6 : <0.81.0>) = 정보 보고서 29 6 월 - 2016 :: 16 ==== 없음 포트 정의 듣기를 열 수 없습니다 수신 대기 소켓 (걱정하지 마세요 수 17 : 52 === ts_config_server : (5 : <0.69.0>) 정의되지 않은 ports_range의 설정 : 당신이 작업 알림) = 정보 보고서 29 6 월 - 2016 :: 16 ====를 사용하지 않는 경우는 정상입니다 = INFO REPORT ==== 2016 년 6 월 29 일 :: 16 : 17 : 52 === ts_config_server : (5 : <0.69.0>) 클라이언트 "localhost"에 대한 새로운 도착 단계 1 (마지막 사실 :)이 시작됩니다 60 좋은 생각있어? – user734207
죄송합니다, 무슨 뜻인지 이해가 안됩니다. 60 명의 사용자를 생성 하시겠습니까? 도착하는 대신 도착 비율을 사용할 수도 있습니다. 예를 들어 초당 60 명의 신규 사용자가 필요한 경우 다음을 사용하십시오. arrivalphase> –
HI @Le Li, 실제로 내 주석 로그 메시지가 표시되는 경우 1) 수신 대기 포트가 정의되어 있지 않으며 수신 대기 소켓을 열 수 없습니다 (걱정하지 마세요 : 작업 알림을 사용하지 않으면 정상입니다). 2) 정의되지 않은 포트 범위 설정 인증을 얻지 않으려 고 생각합니까? Tsung 디버그 로그 파일에 오류 메시지가 표시되지 않습니다. 알 겠어. – user734207