需要大规模测试的话 tsung的插件就很好用,写插件的时候需要知道多点tsung内部的信息.
OTP Supervision tree:
====================
The application is now split in two (see tsung-inside.png for an overview):
** a single controller (tsung_controller)
* ts_config_server (gen_server). Configuration server. Session's
definitions are kept by the config server.
* ts_mon (gen_server). Each client send reports of stats to this
server. Several types of messages are handled by ts_mon.
* ts_os_mon (gen_server). Use to monitor remote node activity (cpu,
memory, network traffic). Currently, use an erlang agent on remote nodes.
* ts_timer (used by ts_client when ack is global) (gen_fsm)
servers used to construct messages:
* ts_msg_server (gen_server)
* ts_user_server (gen_server) used by jabber_* for unicity of users id
** several clients (tsung) Several nodes can be used simultaneously
This application is simpler:
* ts_launcher (gen_fsm) launch simulated users.
* ts_session_cache (gen_server) cache the sessions's definition (ask
the config_server if it's not yet in the cache)
* 1 process per simultated client (ts_client), under
the supervision of ts_clients_sup ( using simple_one_for_one )
Main modules:
============
1/ ts_launcher. the master process that spawns other simulated clients:
1.1/ client processes: at each simulated client correspond 1 erlang
process (ts_client)
1.2/ monitoring process (ts_mon)
2/ statistical module (ts_stats)
3/ protocol-specific modules (ts_jabber and ts_http, for
example).
tsung use different types of acknoledgements to determine
when a the response of a request is over. For each requests, 4
options are possible:
* parse -> the receiving process parse the response from the
server dans can warn the sending process when the response is
finish (function parse/2). This is used for HTTP.
* no_ack: as soon as the request has been sent, the next one is
executed (it can be a thinktime)
* local: the request is acknoledge once a packet is received
* global: the request is acknoledge once all clients has
received an acknoledgement. This has been introduced for
Jabber: with that, you can set that users starts talking when
everyone is connected.
How to add a new protocol, or extend an existing one:
====================================================
To add a new protocol, you have to create a module that implement and
exports:
-export([init_dynparams/0,
add_dynparams/4,
get_message/1,
session_defaults/0,
parse/2,
parse_config/2,
new_session/0]).
There is a template file is doc/ts_template.erl
References:
==========
- Erlang
http://www.erlang.org/
Design principles:
http://www.erlang.org/doc/r7b/doc/design_principles/part_frame.html
- Jabber
http://docs.jabber.org/general/html/protocol.html
- Stochastics models:
For more details on stochastics models and application to Web
workload generators, have a look at:
Nicolas Niclausse. Mod閘isation, analyse de performance et
dimensionnement du World Wide Web. Th鑣e de Doctorat (PhD), Universit�
de Nice - Sophia Antipolis, Juin 1999.
http://www-sop.inria.fr/mistral/personnel/Nicolas.Niclausse/these.html
Z. Liu, N. Niclausse, C. Jalpa-Villanueva & S. Barbier. Traffic
Model and Performance Evaluation of Web Servers Rapport de
recherche INRIA, RR-3840 (http://www.inria.fr/rrrt/rr-3840.html)
内部的结构图在附件里面!
- 大小: 23.3 KB
分享到:
相关推荐
压力测试 压力测试 tsung linux
tsung的测试脚本,包含发送单人消息,群组消息,获取花名册等
tsung里面测试websocket的插件含 websocket.xml 等
Openfire 3.9.3 Load Test Tsung配置xml,10万用户下集群测试的Tsung压力测试工具的jabber_cluster.xml,session 5分钟
Tsung安装使用的详细解说,主要针对xmpp的服务端(比如openfire的测试),编写测试场景的脚本配置详细说明。本人使用的是ubuntu操作系统、Tsung1.4.1
MQTT压力测试之Tsung的使用 MQTT压力测试之Tsung的使用
tsung+erlang测试工具,初学者应用必备,内部放置tsung源程序文件和erlang文件
tsung是用erlang开发的一款简单易用的压力测试工具,目前仅支持linux各版本系统安装,有tar.gz和deb两种安装文件, 目前我们测试用的是CentOS或RedHat两种操作系统,因此选择tar.gz安装文件,总的来说tsung工具有...
tsung 测试 java erlang
tsung是一个非常好用的压力测试软件,基于erlang语言,支持多种...在Ubuntu上装好tsung之后,首先要用ulimit修改系统支持的最大fd数量(ulimit-n 20480),否则tsung最多只能创建不到1024个连接,测试脚本是一个xml文件
tsung高并发测试工具搭建(自己亲测,详细的一逼),改文档是自己一步一步摸索出来的,主要是安装tsung整个过程很详细,搭过的人,知道tsung的搭建依赖很恶心,不是一时半会能搞出来的
tsung为一个开源的多协议分布式负载测试工具,使用erlang语言开发的。具体安装使用可以参考URL:http://www.51ste.com/share/det-222.html
关于tsung工具的安装步骤以及使用过程中会遇到的常见问题解答
tsung最新用户手册,包含HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP, and Jabber/XMPP servers压力测试模版,错误说明等。
tsung安装使用,参数说明,模拟openfire注册用户,模拟用户openfire登录、状态更改、发送消息,对openfire长时间压力测试
—tsung-1.5.0.tar.gz —libtemplate-perl_2.20.orig.tar.gz —gnuplot-4.4.0.tar.gz —otp_src_R15B.tar.gz —perl-HTML-Tagset-3.10-2.1.1.noarch.rpm —perl-HTML-Parser-3.55-1.fc6.x86_64.rpm —...
包括tigase的安装运行,tsung的安装运行,压测结果的信息解析等;
tsung-react-stats 从 json 报告中显示 tsung 统计信息
tsung安装包,linux下进行压力测试的工具
这个MySQL服务器压测的需求是:Tsung用于压测MySQL服务器的脚本环境:LinuxRHEL5U4X86-64,24G内存,16核.MySQL服务器在10.232.36.100上。 这个MySQL服务器压测的需求是: 环境:LinuxRHEL5U4X86-64,24G内存,16核....