提到测试都会知道的几个工具: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)低负载,不影响在线