协议级别的性能测试方法与性能测试工具大全

发表于:2012-10-01来源:Csdn作者:njchenyi点击数: 标签:性能测试工具
协议级别的性能测试方法与性能测试工具大全提到测试都会知道的几个工具:LoadRunner, JMeter, Apache ab ... 1 协议测试网站 protocoltesting,提供两个可参考的列表: 网络包/流量生产工具 http://www.protocoltesting.com/trgen.html

  提到测试都会知道的几个工具:LoadRunner, JMeter, Apache ab ...

  1 协议测试网站 protocoltesting,提供两个可参考的列表:

  网络包/流量生产工具 http://www.protocoltesting.com/trgen.html

  协议设计与验证工具 http://www.protocoltesting.com/designtools.html

  2 开源测试网站 opensourcetesting,提供一个性能测试工具列表,目前约有52个:

  性能测试工具 http://www.opensourcetesting.org/performance.php

  3 列举几个 oschina 收录的开源性能测试或相关工具:

  - benchbase http://www.oschina.net/p/benchbase

  benchbase 是一个项目用来存储和管理 JMeter 或者 FunkLoad 压力测试结果和监控日志。提供详细的报表和图表。

  - 性能测试工具 CBenchmark http://www.oschina.net/p/cbenchmark

  CBenchmark—-CharlesCui’s Benchmark

  这是我实现的一款性能测试工具,之前在工作中常用LoadRunner之类的工具来完成性能测试,但受限于LR极其昂贵的Lisence以及难以定制的SDK,于是我用C/C++实现了这个工具,并借助Linux系统对线程和进程的良好调度,可以实现极高的并发压力.

  特点|Feature

  本程序和当前性能测试解决方案相比,

  可以实现极高的定制化:开放所有API,用户可以基于这些API实现自己的性能测试工具.

  无限制:本产品完全免费,不会像现有成熟解决方案一样基于并发数,或者基于使用协议的Lisense限制。

  高性能高并发:可提供比现有产品高出很多的并发能力,本程序使用C语言实现所有的代码。

  通用性:由于本产品测试用例的业务实现是由客户完成,所以本产品的作用不限于某种测试协议,所以本产品是一个通用的性能测试工具.

  执行过程可控:测试执行过程中用户可以通过Ctrl+C来控制本产品的执行。

  特有的测试用例加载模式:对测试用例加载的模式和市面上的性能测试产品都不一样,用户可以将CBenchmark当做第三方库编码进入测试代码,也可以将CBenchmark当做工具,在执行的时候动态加载测试代码以产生压力.

  本产品理论支持所有的服务端性能测试。

  对于非标准协议的性能测试,我推荐您使用本产品。

  - 性能和负载测试工具 Faban http://www.oschina.net/p/faban

  Faban 是Sun Microsystems 用纯粹的Java 1.5+ 编写的,而且在CDDL-1.0 许可下是开源的。Faban 似乎只关心各种类型服务器的基准调教,包括Web 服务器。Faban 是为高性能和紧凑调速而精心编写的,因此任何测量都与服务器的真实性能尽可能接近。例如,在没有运行其他Faban 代码时收集基准调速数据,而只在基准调校过程缔结之后才分析数据。要想获得最好的性能,则这是所有基准运行的惯用方法。

  Faban 还以Web 应用程序的形式提供了非常良好的配置与管理平台。为了服务于该控制平台(Web应用程序),Faban自身现已整合到了Tomcat 的服务器中。Tomcat 是Faban 的一部分,任何对Tomcat 和基准调校都感兴趣的Java 开发者都能阅读Faban 的文档和源码,而且可选择性地参与Faban 的开发。如果您是一位Java 开发者,且正寻找最有特色、长期的调校解决方案,Faban 应该是您要用到的工具。

  相关链接

  项目主页:http://java.net/projects/faban/

  项目文档:http://www.opensparc.net/sunsource/faban/www/index.html

  Faban Quick Start Tutorial:http://www.testnscale.com/docs/QuickStartTutorial.html

  - TCP协议测试工具 tcpjunk http://www.oschina.net/p/tcpjunk

  tcpjunk是一个工具,用于测试TCP协议的产生和模糊的网络流量。

  - 性能分析工具 DTrace http://www.oschina.net/p/dtrace

  DTrace,也称为动态跟踪,是由 Sun? 开发的一个用来在生产和试验性生产系统上找出系统瓶颈的工具。 在任何情况下它都不是一个调试工具, 而是一个实时系统分析寻找出性能及其他问题的工具。

  DTrace 是个特别好的分析工具,带有大量的帮助诊断系统问题的特性。 还可以使用预先写好的脚本利用它的功能。 用户也可以通过使用 DTrace D 语言创建他们自己定制的分析工具, 以满足特定的需求

  4 还有一个很特别的工具: tcpcopy http://code.google.com/p/tcpcopy/

  an online request replication tool, fit for online testing, stress testing, performance evaluation,etc

  tcpcopy是一种请求复制(所有基于tcp的packets)工具,其应用领域较广,我们曾经应用于

  网易的广告投放系统,urs系统,nginx hmux协议等系统,避免了上线带来的很多问题。

  我们即将应用tcpcopy于membase替换现有mecached系统的任务中。由于membase还不够

  成熟,不适合直接上线,利用tcpcopy程序,可以把访问memcached的系统流量复制一份到

  membase系统中去。对于membase来说,这份流量就是访问membase的,跟直接上线

  membase效果一样,就可以做各种试验,查看membase的各种特性。

  tcpcopy六大功能:

  1)分布式压力测试工具,利用在线数据,可以测试系统能够承受的压力大小(远比ab压力测

  试工具真实地多),也可以提前发现一些bug

  2)如果后端的连接是短连接并且请求体不大,请求丢失率一般都非常低(1/10万),可以应用于热备份

  3)普通上线测试,可以发现新系统是否稳定,提前发现上线过程中会出现的诸多问题,让开

  发者有信心上线

  4)对比试验,同样请求,针对不同或不同版本程序,可以做性能对比等试验

  5)利用级联tcpcopy,构造无限在线压力,满足中小网站压力测试要求

  6)实战演习(架构师必备)

  特点:

  1)实时

  2)效果真实

  3)低负载,不影响在线

原文转自:http://www.ltesting.net