tsung介绍

一、Tsung介绍

常用的Windows上压力测试工具例如:jmeter和loadrunner 可满足低并发的服务压测需求,对TPS超过10000的甚至更大的服务进行压测,以上工具将会达到自身瓶颈(自身资源占用较高,模拟用户量上不去),难以满足测试需求。而在我们诸多业务线中,经常有高并发服务的压测需求,传统工具无法满足测试需求,怎么办?

        那么tsung可以解决这个问题:

  ●  Tsung是开源的基于Erlang语言开发的多协议分布式压力测试工具,它能用来压力测试HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP 和 Jabber/XMPP的服务器。它可以单机使用,也可以分布在多个客户机,并能够模拟成千上万的虚拟用户数并发。

  ●  Tsung在运行时,可以由多个虚拟机组成,每个虚拟机下有很多用户,每个用户可以产生很多session,一个session由很多request组成,这是一个很典型的树状结构。tsung使用这个树状结构来生成压力。

  ●  Tsung的每一个虚拟用户就是一个erlang的轻量进程,这点和loadrunner有很大的区别(loadrunner多线程);erlang虚拟用户完成session后就消失;大量的虚拟用户(erlang轻量进程)建立在erlangVM上;一台测试机可以启多个erlangVM,目前按照1个cpu启动1个erlangVM。

  ●  “小型”的压力测试一般不需要很多tsung客户机,一台tsung就可以打出很大的压力, 因为tsung使用了epoll技术,在一个进程中,就可以管理上万级别的socket(注意ulimit -n的限制),相对于其它压力测试工具使用多线程,在打出相同压力的情况下,tsung对本机的资源消耗要小得多。另外,tsung的多进程可以充分使用CPU的多核,可以更充分地利用客户机的硬件资源。

二、Tsung工作原理

Tsung内部实现:Tsung主要由tsung_controller和tsung两个应用共同完成压力测试,其中tsung_controller主要负责配置文件的解析和服务监控;tsung主要负责压力的产生,并完成与服务器的通信。

Tsung运作的大概流程:

  1. 启动tsung_controller应用,初始化相关进程,然后由ts_config_server进程完成配置文件的解析

  2. 根据配置需要启动对服务器的监控数据的统计,日志的记录等

  3. 根据配置在不同节点上的erlang虚拟机进程,启动tsung应用,然后由ts_launcher进程和ts_launcher_static进程开始产生压力,这两个进程会不断创建出ts_client进程,最终在ts_client进程中模拟用户的行为完成与服务器的通信。

三、Tsung的背景

Tsung的开发工作由Nicolas Niclausse于2001年开始,它是供内部使用的分布式jabber负载压力工具,网址为http://IDEALX.com/(现为OpenTrust)。几个月后,它已发展成为一种开源多协议负载测试工具。 HTTP支持于2003年添加,该工具已用于多个工业项目。现在它托管在github上,几家公司提供了专业支持。贡献者列表可在https://github.com/processone/tsung/blob/master/CONTRIBUTORS的源档案中找到。

它是用于真实用户模拟的随机模型的工业强度实现。用户事件分布基于泊松过程。

Tsung已用于超高负载测试:

  • Jabber / XMPP协议:
    • 4节点Tsung群集(3xSun V240 + 1 Sun V440)上的90,000名同时Jabber用户。
    • 10,000个同时用户。Tsung在3台计算机集群(CPU 800MHz)上运行。
    • 在EC2的单个m4.10xlarge实例上有2,000,000个并发用户,以测试ejabberd可伸缩性
  • HTTP和HTTPS协议:
    • 12,000个同时用户。Tsung在4台计算机集群上运行(2003年)。经过测试的平台每秒达到3,000个https请求。
    • 在75台计算机上运行的1000万同时用户,每秒生成超过一百万个请求。

曾在以下场合使用过:

  • DGI(法国总公司):法国财政部
  • Cap Gemini Ernst&Young
  • IFP(法国石油研究所):法国石油研究组织
  • 自由冲浪
  • 用于Niagara处理器上的Moodlerooms平台的Sun(TM):https ://blogs.oracle.com/kevinr/resource/Moodle-Sun-RA.pdf
  • 和许多其他公司
posted @ 2019-12-22 20:29  酒剑仙*  阅读(668)  评论(0编辑  收藏  举报