- 浏览: 278989 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 1048今天ubuntu下编译带riak的ejabberd出现一 ... -
ejabberd 三个没有弄明白的疑问
2012-06-08 17:32 14081> 1794 ... -
ejabberd presence 以前忽略的地方
2012-06-06 17:40 883session_established2 -------& ... -
configure: error: Could not find development files of Expat library
2011-12-28 16:56 3851在64位centos安装ejabberd ./con ... -
error_no_online presence:initiali
2011-09-20 17:57 925这两天用tsung 测试ejabberd。我发送的是onlin ... -
docbook2man tsung.1.sgml >/dev/null 2>&1
2011-09-01 11:07 13272011-09-01 今天又遇到此问题了 这 ... -
ejaberd_s2s presence bug
2011-08-31 21:27 789presence_broadcast_first ... -
erlang数据转换成 xml
2011-06-21 11:57 101119 Content= 20 ... -
ejabberd_c2s wait_for_stream 匹配
2011-06-13 15:45 737wait_for_stream 匹配 1、closed 2 ... -
mysql 与 mnesia同步
2011-04-12 11:46 11741、mysql --------------操作成功-- ... -
ejabberd subscribe订阅后出席 available
2011-04-08 09:14 813ejabberd_c2s roster_change 获取 ... -
list 判断
2011-04-07 11:19 967L case L of [] -> o ... -
ejabberd:route去向
2011-04-02 15:27 1315ejabberd_local在init中注册了一个服务,pid ... -
ejabberd 存储离线消息 判断用户密码是否为空
2011-03-29 17:02 3317今天对ejabberd服务器做了一个小小的测试,发现后台抛出 ... -
ejabberd-215修正214版本timeout超时
2011-03-28 17:06 727ejabberd-215修正214版本timeout超时 我 ... -
mnesia加载mysql表数据(修改ejabberd privacy list)
2011-03-23 15:09 2177前提: mnesia 一张表 privacy mysql ... -
ejabberd中mod_privacy_odbc.erl实现没有完全遵循xmpp协议
2011-03-17 17:14 1071修改privacy 利用推送 方式 更新pr ... -
采用message消息 privacy list check_packet
2011-03-11 11:26 913采用message消息 privacy list ... -
ejabberd-xml
2011-03-10 10:58 808过滤 非法xml数据 remove_cdata( ... -
发布与订阅 publish-subscribe
2011-02-24 13:43 929基本操作 5. Entity Use Cases ...
相关推荐
IM服务器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
IM(ejabberd)服务器的客户端android开发的代码详解,该代码例子包含单聊、群聊、发送文字、发送及接收文件等功能。
ejabberd stan ack v0.6 当ejabberd服务器已收到您的消息时,此模块将向您的发件人发送确认/确认消息,而当邮件的收件人已收到您的消息时,此模块将发送另一条确认/确认消息。 在这方面,它提供与移动聊天应用程序...
ejabberd安装包,很好的工具!适合安装!一定会很好用的!
ejabberd是基于Jabber/XMPP协议的即时通讯服务器,由GPLv2授权(免费和开放源码),采用Erlang/OTP开发。它的特点是,跨平台,容错,集群和模块化。
Ejabberd-Packet-Interceptor 拦截和更改消息的 Ejabberd 模块这个模块接受一个 Ejabberd 消息包,... 将intercept.py放在/etc/ejabberd/为什么使用 Python 作为正文解析器? 首先,我的 Erlang 很烂。 Erlang 本身也
Ejabberd 服务器 asmck Android端使用的jar包 spack pc端客户端
ejabberd windows installer
ejabberd安装配置[归纳].pdf
windows环境下的ejabberd。。。点击即可安装
此文件是ios 用xmpp开发即时通讯的服务器
Android使用smack连接ejabberd服务器,完成了连接、登录、创建新用户、收发消息的功能
具体实现: 一 在boss服务器上安装ejabberd服务器端程序 二 客户端注册测试
ejabberd - 高性能企业即时消息服务器快速入门指南要求要编译 ejabberd,您需要: GNU 制造海湾合作委员会Libexpat 1.95 或更高版本利比亚ml 0.1.4 或更高Erlang/OTP R15B 或更高版本。 OpenSSL 0.9.8 或更高版本,...
学习strophe.js,ejabberd 群聊在项目中实现 demo源码分享
传统的XMPP方法依靠订阅状态节,因为移动网络的不可靠性是不可行的。 客户端在终止聊天活动时发送iq发布请求,该请求存储了相关数据,稍后可以由get iq节请求该数据。安装说明首先,我们需要通过运行以下命令将此....
ejabberd-XMPP和Web聊天 将与结合在一起的即时消息服务器,以创建支持强加密并与任何Web浏览器或专用XMPP客户端(例如,Pidgin)一起使用的实时聊天服务器。 ejabberd是功能强大的XMPP服务器,它支持群集,实时升级...
从版本16.12开始,ejabberd根据源树中包含的该容器的工作情况拥有自己的docker容器。 在此博客文章中查看更多内容。 我们可以期望将来对此进行更多的工作。 版本 当前版本: 21.01 Docker标记名称基于git分支和...
docker-ejabberd:ejabberd Docker映像集