1.介绍

1.1什么是Tsung?

Tsung(以前是IDX-Tsunami)是一种分布式负载测试工具。它是基于协议的,并且通常被用于压测HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP协议。分布式是在公开发布的版本2后具有的功能。

1.2.什么是Erlang,为什么它对Tsung是非常重要的?

Tsung的主要优势是一台单独的机器上,能够同时模拟大量用户。如果你使用集群,将很容易对服务器,产生并保持高强度的负载压力。也可以在云端使用Tsung,像EC2。

Tsung是Erlang开发的,具有Erlang的特性。

Erlang是一种定向并发的程序语言。Tsung是基于Erlang开放处理平台并且继承了Erlang的服务特性:

性能方面:Erlang在一台单独的虚拟机上,支持上万的轻量级进程。

可扩展性方面:Erlang天然的分布式运行环境,提升了程序设计的透明性。

容错性方面:Erlang已经建立了健壮的容错性系统。像从服务器发送到Tsung的错误,不会使整个基准运行崩溃。

更多关于Erlang的信息在http://www.erlang.org

1.3.Tsung的背景?

历史:

  • Tsung的发展是始于2001年被一个叫Nicolas Niclausse的,作为内部http://IDEALX.com/(现在OpenTrust)分布式jabber,负载压力工具。几个月后,Tsung成了一种开源的多协议负载测试工具。在2003年,加上了HTTP协议,并被使用在几个分布式项目中。现在被Erlang项目主导,并获得http://process-one.net/.支持。贡献人在https://github.com/processone/tsung/blob/master/CONTRIBUTORShttps://github.com/processone/tsung/graphs/contributors档案列表中可以找到。
  • 它是一种模仿真实用户随机模型的工业化成就。基于泊松过程的累积随机事件。更多的信息可以从以下文章中获取:Z. Liu, N. Niclausse, and C. Jalpa-Villanueva. Traffic Model and Performance Evaluation of Web Servers. Performance Evaluation, Volume 46, Issue 2-3, October 2001。
  • 这种模型已经在INRIA WAGON研究范例(Web trAffic GeneratOr and beNchmark)被测试。WAGON 被应用在 http://www.vthd.org/项目中((Very High Broadband IP/WDM test platform for new generation Internet applications, 2000-2004)。

Tsung已经被应用在高负载测试中:

  • Jabber/XMPP 协议:

    • 在4个节点的Tsung集群,并发90,000 Jabber用户(3xSun V240 + 1 Sun V440)。
    • Tsung在3台计算机集群上,跑10,000 并发用户。
  • HTTP和HTTPS协议:
    • 2003年,在4台计算机的集群上跑12,000并发用户。测试平台每秒可达到3000请求。
    • 在75台计算机的集群中,并发10,000,000并发用户,每秒产生超过1,000,000的请求。

Tsung已经被应用在以下领域:

原文地址:http://tsung.erlang-projects.org/user_manual/introduction.html

1.Tsung介绍(翻译)的更多相关文章

  1. .NET 5.0正式发布,功能特性介绍(翻译)

    本文由葡萄城技术团队翻译并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 我们很高兴今天.NET5.0正式发布.这是一个重要的版本-其中也包括了C# ...

  2. 使用MyGeneration创建模板:介绍(翻译)

    原文信息 原文地址 原文作者信息: Justin Greenwood MyGeneration Software http://www.mygenerationsoftware.com April 2 ...

  3. bcache 状态/配置 文件详细介绍(翻译自官网)

    声明: 文中 斜体带下划线  的段落为翻译不够准确的段落 原文:https://www.kernel.org/doc/Documentation/bcache.txt 官网:https://bcach ...

  4. Rpgmakermv(7) Chronus插件介绍翻译

    协议:MIT 作用:时间,有时间推进,可以设置速度,随着游戏中时间的推进,会发生昼夜改变和天气变化. ------------------------------------------------- ...

  5. Zookeeper 介绍翻译

    源网址链接 https://zookeeper.apache.org/ Apache Zookeeper 开放源码的服务器,提供高可靠的分布式协调服务. Zookeeper是一个维护配置信息,命名服务 ...

  6. ASP.NET Core 介绍

    原文:Introduction to ASP.NET Core 作者:Daniel Roth.Rick Anderson.Shaun Luttin 翻译:江振宇(Kerry Jiang) 校对:许登洋 ...

  7. 压测软件-Tsung.安装篇

    author :James,jimingsong@vip.qq.com author :James,jimingsong@vip.qq.com since :2015-03-02 tsung介绍 ts ...

  8. Xcode9新特性介绍-中文篇

    背景: Xcode 9 新特性介绍: 1.官方原文介绍链接 2.Xcode9 be ta 2 官方下载链接 本文为官方介绍翻译而来,布局排版等都是按照官方布局来的. 与原文相比,排版上基本还是熟悉的配 ...

  9. android.app.Activity 的介绍

    发现当前Android的资料不是非常多,并且对于Activity的介绍也非常少.所以把官方文档的android.app.Activity的介绍翻译了一下,增加了一些自己的理解.各位假设认为我自己理解的 ...

随机推荐

  1. 实时消息传输协议(RTMP)详解

    一.概念与摘要 RTMP协议从属于应用层,被设计用来在适合的传输协议(如TCP)上复用和打包多媒体传输流(如音频.视频和互动内容).RTMP提供了一套全双工的可靠的多路复用消息服务,类似于TCP协议[ ...

  2. jumpserver跳板机

    一.安装依赖包 yum -y install epel-release yum clean all && yum makecache yum -y update yum -y inst ...

  3. LoonAndroid自动检测输入框 --- Author: rose && lvyerose@163.com

    LoonAndroid框架,同时给我们提供了一套自动检测输入规则的工具,用起来很是方便,下面介绍一下这个东东的使用方法(注意,该说明是基于项目已经集成了LoonAndroid框架而言,如果您未集成该框 ...

  4. redux计算器

    //简单运用redux写了一个加减乘除功能 <!DOCTYPE html><html lang="en"><head> <meta cha ...

  5. (iOS)私有API的使用(原创)

    最近在做企业级程序,需要搞设备的udid等信息,但是ios7把udid私有化了,不公开使用.所以研究了一下ios的私有api. 调查了一下文章,发现这方面的文章不多,国内更是不全,高手们都懒得写基础教 ...

  6. WPF自定义控件(2)——图表设计[1]

    0.小叙闲言 除了仪表盘控件比较常用外,还有图表也经常使用,同样网上也有非常强大的图表控件,有收费的(DEVexpress),也有免费的.但我们平时在使用时,只想简单地绘一个图,控件库里面的许多功能我 ...

  7. 设计模式的征途—2.简单工厂(Simple Factory)模式

    工厂模式是最常用的一种创建型模式,通常所说的工厂模式一般是指工厂方法模式.本篇是是工厂方法模式的“小弟”,我们可以将其理解为工厂方法模式的预备知识,它不属于GoF 23种设计模式,但在软件开发中却也应 ...

  8. 一个web应用的诞生(11)--列表分页

    上章的结束,若在实际开发过程中,会发现一个问题,那就首页或关注分享,是一下子按时间顺序全部显示出来,这在实际项目中不可能出现的,想想实际中的产品是如何做的? 一般来说,无非是两种,一种是使用页码,来进 ...

  9. JavaScript中数组类型的属性和方法

    除了Object,Array类型应该是ECMAScript中最常用的类型了. ECMAScript的数组虽然也是数据的有序列表,但还是与其他语言中的数组有很大的区别.比如ECMAScript数组每一项 ...

  10. ArrayList,LinkedList的对比

    ArrayList,LinkedList都是Collection接口的通用实现方式,两者采用了不用的存储策略,用来适应不同场合的需要. 实现方式 ArrayList的内部采用集合的方式存储数据 唯一需 ...