Total Pageviews

Tuesday, 23 May 2023

Tsung:多协议的压力测试工具


Tsung 是一款遵循 GPLv2 的开源服务器分布式压力测试工具,支持多种协议。Tsung 可以用来进行 HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP 和 Jabber/XMPP 服务器的压力测试。

Tsung 的原理是模拟大量用户,测试基于 IP C/S 应用的可扩展性和性能。Tsung 可以分布在多个客户端机器,模拟成千上万的虚拟用户。

Tsung 于 2015 年 7 月 20 日更新到 Tsung 1.6.0 版本,至今未有新版本发布,但 Github 上还有 bug fix 提交。

Tsung 是用Erlang 开发的,主要特性如下:
    高性能,支持集群
    多协议:HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP , XMPP/Jabber, BOSH, MQTT, AMQP 和 SSL
    通过底层 OS IP 别名可以在单个机器上使用多个 IP 地址
    在远程服务器使用 SNMP、Munin 或者 Erlang 代理来监控操作系统
    XML 配置系统;多个会话可以用来模拟不同类型的用户。动态会话可以轻松的使用 XML 描述
    可以使用便捷的分布式自由的生成实际流量、用户思考时间以及到达率
    在负载测试的时候可以生成 HTML 报告来查看响应时间、服务器 CPU 等

HTTP
    支持 HTTP/1.0 和 HTTP/1.1
    GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH 方法
    自动处理 Cookies
    代理模式可以使用一个 Web 浏览器录制会话
    使用 HTTP 模式能基本支持 SOAP
    WebDAV 扩展
    Websocket

XMPP (Jabber)
    认证、存在和注册信息
    在线或者离线用户的通讯信息
    Roster set 和 get 请求
    PubSub, MUC, Virtual Hosts
    基于 Websocket 的 BOSH & XMPP

PostgreSQL
    认证 (密码或者 MD5)
    基础和扩展队列
    提供代理模式来录制会话

MySQL
此插件只支持 MySQL 4.1 及以上版本.
    安全认证方法 (MySQL >= 4.1)
    基础队列

LDAP
    绑定
    新增、搜索、修改队列
    starttls (only with R12B-0 Erlang and up)

AMQP
    基础发布和 consume
    publisher confirm 和 consumer ack
    qos

MQTT
支持 MQTT V3.1
    通过选项连接到 mqtt broker
    发布 mqtt 消息到 broker
    订阅/取消订阅 主题
    支持 QoS 0 和 QoS 1s MQTT V3.1

更多内容请看 Tsung 主页:http://tsung.erlang-projects.org/

No comments:

Post a Comment