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 提交。
GitHub 地址:https://github.com/processone/tsung
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/
发表回复