- 浏览: 286106 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
langzhe:
Mac 下用 sudo cpan Template,依然不能 ...
第一次 使用 tsung -
langzhe:
<server host='127.0.0.1' por ...
ejabberd/tsung 做压力测试万万不可忽视测试工具问题 -
dlliwei:
jabberd_register.xml 内容如下(我的ser ...
ejabberd/tsung 做压力测试万万不可忽视测试工具问题 -
dlliwei:
你好,我安装tsung后执行命令: tsung -f jabb ...
ejabberd/tsung 做压力测试万万不可忽视测试工具问题 -
bit1129:
这么复杂的一个东西,一句话说完了?
keepalive
这两天 用tsung测试ejabberd服务器。
2万用户在线,发送online chat message chat/20s。统计结果显示大量用户非常正常close。
还显示出很多error_unkown 错误,次错误出现的数量与非常正常close的基本相等。
很显然此测试结果不准确。反反复复测试 chat数量越多,此问题越严重。
跟踪代码发现get_online 中调用了gen_server:call 默认是5S。我索性直接去掉了,自己生成了的用户在线id.此问题算是解决了,接来要看看get_online里面的算法。
评论
3 楼
langzhe
2015-11-17
<server host='127.0.0.1' port='5222' type='tcp'/>
我是自己hosts 配置一个车 test.com 之类
我是自己hosts 配置一个车 test.com 之类
dlliwei 写道
jabberd_register.xml 内容如下(我的server client在同一台PC上):
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
<clients>
<client host="localhost" use_controller_vm="true">
</client>
</clients>
<servers>
<server host='127.0.0.1' port='5222' type='tcp'/>
</servers>
<!-- register 200000 users in less than 15 minutes -->
<load>
<arrivalphase phase="1" duration="15" unit="minute">
<users maxnumber="200000" interarrival="0.0025" unit="second"></users>
</arrivalphase>
</load>
<options>
<option type="ts_jabber" name="global_number" value="5"></option>
<option type="ts_jabber" name="userid_max" value="200000"></option>
<option type="ts_jabber" name="domain" value="localhost"></option>
------->此处唯一修改点value。 server机器上/etc/hosts内配置了: "127.0.0.1 localhost", 并且ejabberd.yml 中也有“hosts:localhost”
<option type="ts_jabber" name="username" value="tsung"></option>
<option type="ts_jabber" name="passwd" value="tsung"></option>
</options>
<sessions>
<session probability="100" name="jabber-example" type="ts_jabber">
<request>
<jabber type="connect" ack="local"></jabber>
</request>
<request>
<match do="abort" when="match">error</match>
<jabber type="register" ack="local" id="new"></jabber>
</request>
<request>
<jabber type="close" ack="local"></jabber>
</request>
</session>
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
<clients>
<client host="localhost" use_controller_vm="true">
</client>
</clients>
<servers>
<server host='127.0.0.1' port='5222' type='tcp'/>
</servers>
<!-- register 200000 users in less than 15 minutes -->
<load>
<arrivalphase phase="1" duration="15" unit="minute">
<users maxnumber="200000" interarrival="0.0025" unit="second"></users>
</arrivalphase>
</load>
<options>
<option type="ts_jabber" name="global_number" value="5"></option>
<option type="ts_jabber" name="userid_max" value="200000"></option>
<option type="ts_jabber" name="domain" value="localhost"></option>
------->此处唯一修改点value。 server机器上/etc/hosts内配置了: "127.0.0.1 localhost", 并且ejabberd.yml 中也有“hosts:localhost”
<option type="ts_jabber" name="username" value="tsung"></option>
<option type="ts_jabber" name="passwd" value="tsung"></option>
</options>
<sessions>
<session probability="100" name="jabber-example" type="ts_jabber">
<request>
<jabber type="connect" ack="local"></jabber>
</request>
<request>
<match do="abort" when="match">error</match>
<jabber type="register" ack="local" id="new"></jabber>
</request>
<request>
<jabber type="close" ack="local"></jabber>
</request>
</session>
2 楼
dlliwei
2015-11-12
jabberd_register.xml 内容如下(我的server client在同一台PC上):
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
<clients>
<client host="localhost" use_controller_vm="true">
</client>
</clients>
<servers>
<server host='127.0.0.1' port='5222' type='tcp'/>
</servers>
<!-- register 200000 users in less than 15 minutes -->
<load>
<arrivalphase phase="1" duration="15" unit="minute">
<users maxnumber="200000" interarrival="0.0025" unit="second"></users>
</arrivalphase>
</load>
<options>
<option type="ts_jabber" name="global_number" value="5"></option>
<option type="ts_jabber" name="userid_max" value="200000"></option>
<option type="ts_jabber" name="domain" value="localhost"></option>
------->此处唯一修改点value。 server机器上/etc/hosts内配置了: "127.0.0.1 localhost", 并且ejabberd.yml 中也有“hosts:localhost”
<option type="ts_jabber" name="username" value="tsung"></option>
<option type="ts_jabber" name="passwd" value="tsung"></option>
</options>
<sessions>
<session probability="100" name="jabber-example" type="ts_jabber">
<request>
<jabber type="connect" ack="local"></jabber>
</request>
<request>
<match do="abort" when="match">error</match>
<jabber type="register" ack="local" id="new"></jabber>
</request>
<request>
<jabber type="close" ack="local"></jabber>
</request>
</session>
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
<clients>
<client host="localhost" use_controller_vm="true">
</client>
</clients>
<servers>
<server host='127.0.0.1' port='5222' type='tcp'/>
</servers>
<!-- register 200000 users in less than 15 minutes -->
<load>
<arrivalphase phase="1" duration="15" unit="minute">
<users maxnumber="200000" interarrival="0.0025" unit="second"></users>
</arrivalphase>
</load>
<options>
<option type="ts_jabber" name="global_number" value="5"></option>
<option type="ts_jabber" name="userid_max" value="200000"></option>
<option type="ts_jabber" name="domain" value="localhost"></option>
------->此处唯一修改点value。 server机器上/etc/hosts内配置了: "127.0.0.1 localhost", 并且ejabberd.yml 中也有“hosts:localhost”
<option type="ts_jabber" name="username" value="tsung"></option>
<option type="ts_jabber" name="passwd" value="tsung"></option>
</options>
<sessions>
<session probability="100" name="jabber-example" type="ts_jabber">
<request>
<jabber type="connect" ack="local"></jabber>
</request>
<request>
<match do="abort" when="match">error</match>
<jabber type="register" ack="local" id="new"></jabber>
</request>
<request>
<jabber type="close" ack="local"></jabber>
</request>
</session>
1 楼
dlliwei
2015-11-12
你好,我安装tsung后执行命令: tsung -f jabberd_register.xml start.
提示错误:
Starting Tsung
Log directory is: /home/liwei/.tsung/log/20151112-1533
[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
看log文件,就 tsung_controller@ubuntu.log 有点有用的信息,含有ERROR REPORT的信息如下:
=ERROR REPORT==== 12-Nov-2015::15:33:34 ===
** Generic server ts_config_server terminating
** Last message in was {'$gen_cast',{newbeams,[localhost]}}
** When Server state == {state,
{config,undefined,0,5,none,text,undefined,
[{client,"localhost",1.0,800,[]}],
[{server,"192.168.5.107",5222,ts_tcp,1}],
undefined,[],
[{arrivalphase,1,900000,undefined,0.4,200000,0,[],
1}],
undefined,false,[],[],ts_jabber,
[{session,1,100,ts_jabber,"jabber-example",true,
false,10000,
{proto_opts,negociate,"/http-bind/",false,
"/chat","binary",10,3,600000,infinity,infinity,
32768,32768,undefined,undefined,[],true,true},
undefined,3,undefined,undefined,undefined,
undefined,undefined}],
[],61472,true,undefined,3,3,[],0,10000,
{proto_opts,negociate,"/http-bind/",false,"/chat",
"binary",10,3,600000,infinity,infinity,32768,32768,
undefined,undefined,[],true,true},
now,none,200000,[],undefined,"d",false,1,undefined,
20,[]},
"/home/liwei/.tsung/log/20151112-1533",0,0,[],
undefined,1,undefined,ubuntu,0,0,undefined,1.0}
** Reason for termination ==
** {function_clause,
[{lists,min,[[]],[{file,"lists.erl"},{line,314}]},
{ts_config_server,handle_cast,2,
[{file,"src/tsung_controller/ts_config_server.erl"},{line,383}]},
{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,681}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
=ERROR REPORT==== 12-Nov-2015::15:33:34 ===
** State machine ts_launcher terminating
** Last event in was {launch,[],"localhost",now}
** When State == wait
** Data == {launcher,undefined,[],"ubuntu",undefined,false,0,undefined,
undefined,undefined,1,undefined,1,undefined}
** Reason for termination =
** {{function_clause,
[{lists,min,[[]],[{file,"lists.erl"},{line,314}]},
{ts_config_server,handle_cast,2,
[{file,"src/tsung_controller/ts_config_server.erl"},{line,383}]},
{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,681}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]},
{gen_server,call,
[{global,ts_config_server},{get_client_config,"localhost"},60000]}}
=ERROR REPORT==== 12-Nov-2015::15:33:34 ===
** State machine ts_launcher_static terminating
** Last event in was {launch,[],"localhost"}
** When State == wait
** Data == {state,"ubuntu",undefined}
** Reason for termination =
** {{function_clause,
[{lists,min,[[]],[{file,"lists.erl"},{line,314}]},
{ts_config_server,handle_cast,2,
[{file,"src/tsung_controller/ts_config_server.erl"},{line,383}]},
{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,681}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]},
{gen_server,call,
[{global,ts_config_server},
{get_client_config,static,"localhost"},
60000]}}
请问你直到是什么问题吗??
提示错误:
Starting Tsung
Log directory is: /home/liwei/.tsung/log/20151112-1533
[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
看log文件,就 tsung_controller@ubuntu.log 有点有用的信息,含有ERROR REPORT的信息如下:
=ERROR REPORT==== 12-Nov-2015::15:33:34 ===
** Generic server ts_config_server terminating
** Last message in was {'$gen_cast',{newbeams,[localhost]}}
** When Server state == {state,
{config,undefined,0,5,none,text,undefined,
[{client,"localhost",1.0,800,[]}],
[{server,"192.168.5.107",5222,ts_tcp,1}],
undefined,[],
[{arrivalphase,1,900000,undefined,0.4,200000,0,[],
1}],
undefined,false,[],[],ts_jabber,
[{session,1,100,ts_jabber,"jabber-example",true,
false,10000,
{proto_opts,negociate,"/http-bind/",false,
"/chat","binary",10,3,600000,infinity,infinity,
32768,32768,undefined,undefined,[],true,true},
undefined,3,undefined,undefined,undefined,
undefined,undefined}],
[],61472,true,undefined,3,3,[],0,10000,
{proto_opts,negociate,"/http-bind/",false,"/chat",
"binary",10,3,600000,infinity,infinity,32768,32768,
undefined,undefined,[],true,true},
now,none,200000,[],undefined,"d",false,1,undefined,
20,[]},
"/home/liwei/.tsung/log/20151112-1533",0,0,[],
undefined,1,undefined,ubuntu,0,0,undefined,1.0}
** Reason for termination ==
** {function_clause,
[{lists,min,[[]],[{file,"lists.erl"},{line,314}]},
{ts_config_server,handle_cast,2,
[{file,"src/tsung_controller/ts_config_server.erl"},{line,383}]},
{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,681}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
=ERROR REPORT==== 12-Nov-2015::15:33:34 ===
** State machine ts_launcher terminating
** Last event in was {launch,[],"localhost",now}
** When State == wait
** Data == {launcher,undefined,[],"ubuntu",undefined,false,0,undefined,
undefined,undefined,1,undefined,1,undefined}
** Reason for termination =
** {{function_clause,
[{lists,min,[[]],[{file,"lists.erl"},{line,314}]},
{ts_config_server,handle_cast,2,
[{file,"src/tsung_controller/ts_config_server.erl"},{line,383}]},
{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,681}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]},
{gen_server,call,
[{global,ts_config_server},{get_client_config,"localhost"},60000]}}
=ERROR REPORT==== 12-Nov-2015::15:33:34 ===
** State machine ts_launcher_static terminating
** Last event in was {launch,[],"localhost"}
** When State == wait
** Data == {state,"ubuntu",undefined}
** Reason for termination =
** {{function_clause,
[{lists,min,[[]],[{file,"lists.erl"},{line,314}]},
{ts_config_server,handle_cast,2,
[{file,"src/tsung_controller/ts_config_server.erl"},{line,383}]},
{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,681}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]},
{gen_server,call,
[{global,ts_config_server},
{get_client_config,static,"localhost"},
60000]}}
请问你直到是什么问题吗??
发表评论
-
ejabberd/riak
2012-06-15 15:50 1107今天ubuntu下编译带riak的ejabberd出现一 ... -
ejabberd 三个没有弄明白的疑问
2012-06-08 17:32 14451> 1794 ... -
ejabberd presence 以前忽略的地方
2012-06-06 17:40 932session_established2 -------& ... -
configure: error: Could not find development files of Expat library
2011-12-28 16:56 3891在64位centos安装ejabberd ./con ... -
error_no_online presence:initiali
2011-09-20 17:57 954这两天用tsung 测试ejabberd。我发送的是onlin ... -
docbook2man tsung.1.sgml >/dev/null 2>&1
2011-09-01 11:07 13672011-09-01 今天又遇到此问题了 这 ... -
ejaberd_s2s presence bug
2011-08-31 21:27 815presence_broadcast_first ... -
erlang数据转换成 xml
2011-06-21 11:57 105319 Content= 20 ... -
ejabberd_c2s wait_for_stream 匹配
2011-06-13 15:45 771wait_for_stream 匹配 1、closed 2 ... -
mysql 与 mnesia同步
2011-04-12 11:46 12041、mysql --------------操作成功-- ... -
ejabberd subscribe订阅后出席 available
2011-04-08 09:14 843ejabberd_c2s roster_change 获取 ... -
list 判断
2011-04-07 11:19 1018L case L of [] -> o ... -
ejabberd:route去向
2011-04-02 15:27 1353ejabberd_local在init中注册了一个服务,pid ... -
ejabberd 存储离线消息 判断用户密码是否为空
2011-03-29 17:02 3349今天对ejabberd服务器做了一个小小的测试,发现后台抛出 ... -
ejabberd-215修正214版本timeout超时
2011-03-28 17:06 779ejabberd-215修正214版本timeout超时 我 ... -
mnesia加载mysql表数据(修改ejabberd privacy list)
2011-03-23 15:09 2217前提: mnesia 一张表 privacy mysql ... -
ejabberd中mod_privacy_odbc.erl实现没有完全遵循xmpp协议
2011-03-17 17:14 1105修改privacy 利用推送 方式 更新pr ... -
采用message消息 privacy list check_packet
2011-03-11 11:26 943采用message消息 privacy list ... -
ejabberd-xml
2011-03-10 10:58 842过滤 非法xml数据 remove_cdata( ... -
发布与订阅 publish-subscribe
2011-02-24 13:43 960基本操作 5. Entity Use Cases ...
相关推荐
在这个场景中,"ejabberd 服务器测试客户端spark"就是这样一个工具,用于验证ejabberd服务器的安装和运行情况。 Spark是一款流行的XMPP客户端,由Openfire团队开发,支持多种操作系统,包括Windows、Mac OS X和...
2. 命令行测试:用户可以通过命令行工具来测试Ejabberd的服务。 IM客户端 Ejabberd支持多种IM客户端,包括: 1. Spark IM:是一款流行的IM客户端,支持多种协议,包括XMPP、MSN、Yahoo等。 2. Pandion:是一款...
同时,ejabberd还提供了管理工具,如命令行工具和Web管理界面,用于监控和管理服务器状态。 总之,ejabberd是一个强大且灵活的即时通讯解决方案,适合那些需要构建可扩展、安全和高度定制的通信平台的开发者和企业...
Ejabberd 模块在用户... erlc -I /lib/ejabberd/include/ -pa ~/ejabberd/deps/lager/ebin/ mod_http_offline.erl 将 .beam 文件移动到 ejabberd ebin 文件夹: sudo mv mod_http_offline.beam /lib/ejabberd/ebin
配置文件位于/etc/ejabberd/ejabberd.cfg,这是ejabberd的核心配置文件,所有的服务器参数都可以在这个文件中进行修改。如文档所述,需要设置管理员账号,这通常是通过编辑配置文件中的管理员设置部分来完成。在该...
安装ejabberd-2.1.11-osx-installer.app后,可以通过Web管理界面或命令行工具进行这些配置。 在iOS客户端应用中,首先需要初始化XMPPStream对象并连接到ejabberd服务器。这涉及设置服务器地址、端口、用户名和密码...
ejabberd是一个开源的XMPP服务器,它提供了稳定、安全且可扩展的服务,支持多种编程语言的客户端接口。Smack是Java和Android平台上常用的XMPP客户端库,它提供了丰富的API,使得开发者可以轻松地构建XMPP应用。 **...
IM(ejabberd)服务器的客户端android开发的代码详解,该代码例子包含单聊、群聊、发送文字、发送及接收文件等功能。
ejabberd是一款开源的XMPP服务器,它基于Erlang编程语言,提供高度可扩展性和高并发处理能力。在Windows环境下,ejabberd通常通过安装程序进行部署,这正是"ejabberd windows installer"所涉及的内容。Ejabberd不...
ejabberd stan ack v0.6 当ejabberd服务器已收到您的消息时,此模块将向您的发件人发送确认/确认消息,而当邮件的收件人已收到您的消息时,此模块将发送另一条确认/确认消息。 在这方面,它提供与移动聊天应用程序...
ejabberd安装包,很好的工具!适合安装!一定会很好用的!
Ejabberd支持多种编程语言的API,可以方便地与其他系统集成,且具有高度可扩展性和高可用性。在本项目中,Ejabberd负责处理用户注册、登录、消息传输、群组聊天、离线消息存储等功能,为Android和PC客户端提供稳定的...
即时通讯服务端测试工具是开发过程中不可或缺的一部分,特别是在构建基于XMPP协议的系统时。XMPP(Extensible Messaging and Presence Protocol)是一种开放标准,用于实时通信和数据交换,广泛应用于聊天应用、协作...
总之,ejabberd的`mod_privacy_odbc.erl`可能存在与XMPP协议不兼容的问题,这可能影响到隐私设置的正确性和客户端的兼容性。通过深入理解XMPP协议和ejabberd的源代码,可以定位并修复这些不兼容之处,以提高系统的...
ejabberd是一款高度可扩展且稳定可靠的XMPP聊天服务器,专为满足现代通信需求而设计。这款服务器在IT行业中广泛应用于构建实时通讯系统,尤其是针对手机端应用,如Android和iOS的聊天功能。ejabberd的强大在于其灵活...
Ejabberd-Packet-Interceptor 拦截和更改消息的 Ejabberd 模块这个模块接受一个 Ejabberd 消息包,... 将intercept.py放在/etc/ejabberd/为什么使用 Python 作为正文解析器? 首先,我的 Erlang 很烂。 Erlang 本身也
Ejabberd 安装配置 Ejabberd 是一个基于 XMPP 协议的 instant messaging 服务器,主要用于实时通信和即时消息传递。下面是 Ejabberd 安装配置的相关知识点: 一、Ejabberd 下载 Ejabberd 的安装需要从官方网站...
ejabberd是一款开源的XMPP服务器,常用于构建实时通信系统,如即时消息(IM)、群聊等。XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准,用于实现即时通信和在线状态传输。在这个场景...
Ejabberd是一款高度可扩展、安全且可靠的即时通讯服务器软件,主要基于XMPP协议。在标题"Ejabberd-2.1.10-mac"中,我们可以推断这是一份针对Mac平台的Ejabberd服务器软件的特定版本,即2.1.10。这个版本可能包含了...