`
bluky999
  • 浏览: 719750 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多

协议测试与服务器性能测试工具 列表 

 

 

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

4)操作简单

5)分布式

6)意义非凡

 

 

Chris评论:这个工具的特别之处在于,它针对线上系统,采用"copy tcp packet"的方式,让你明确地知道线上系统是否可以承受两倍于目前的负载! 

 

 

 

5 LoadUI/soapUI  http://www.loadui.org/About-loadUI/gallery.html 

 

loadUI. The art of Load Testing.

loadUI is a open source Load Testing solution that is free and cross-platform. With a visual, drag-and-drop interface, it allows you to create, configure and redistribute your Load Tests interactively and in real-time. In a single test environment, loadUI provides complete test coverage and supports all the standard protocols and technologies. And it’s so powerful, it generates scalable, high-volume and real-world load from any number of local and remote computers. Meet loadUI, the future of Load Testing.

 

Chris评论:LoadUI那牛X的拖拽和华丽的外表,非常吸引人,人家还用了JavaFX呢!!! 当然功能也非常强大,但我个人的使用经验还很少,不能有更深入评论。

 

 

 

 

6 最后是著名的 Tsung http://tsung.erlang-projects.org/

 

Tsung is an open-source multi-protocol distributed load testing tool

 

It can be used to stress HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP servers. Tsung is a free software released under the GPLv2 license.

 

The purpose of Tsung is to simulate users in order to test the scalability and performance of IP based client/server applications. You can use it to do load and stress testing of your servers. Many protocols have been implemented and tested, and it can be easily extended.

 

It can be distributed on several client machines and is able to simulate hundreds of thousands of virtual users concurrently (or even millions if you have enough hardware ...).

 

Tsung is developed in Erlang, an open-source language made by Ericsson for building robust fault-tolerant distributed applications.

 

 

Chris评论:Tsung 算是分布式施压的流行工具之一,使用erlang等开发,基本安装步骤如下:

1 erlang 

 

2 perl5 

- Template Toolkit 

 

3 gnuplot 

- libpng

- libgd 

- fonts: http://www.my-guides.net/en/images/stories/fedora12/msttcore-fonts-2.0-3.noarch.rpm 

 

4 python 

- numpy

- matplotlib  

 

PS:

tsung的结果数据通过一个自带的perl脚本格式化为html,并且调用gnuplot来绘制了图形,存放在log目录里;

如果是在服务器上,或要在其他机器上查看,可以cd到log目录,然后直接执行"python -m simpleHttpServer" ,之后可以通过浏览器访问 ip:8000 来浏览了。

 

 

 

总结:

 

大多数测试工具上手都还算不难,无外乎 录制脚本或者手动编写脚本,设置controller和listener等,执行测试,结果分析/绘图等。

越自动化的工具其定制性和灵活性也相对变弱,而越灵活的工具其自动化能力也相对变弱。

 

性能测试涉及很多方面,尤其是在高并发的海量用户场景下,从最前面的浏览器缓存、CDN到最后面的内核修改,每个环节都有事可做;

但在实际项目中,要根据系统发展的不同阶段选择不同的方式方法。首要任务都是找出目前瓶颈,在诸多目标中求平衡!

 

 

分享到:
评论
1 楼 bluky999 2014-01-13  
C10K   http://www.360doc.com/content/13/0522/18/1542811_287328391.shtml

C10K - C500K   http://www.360doc.com/content/13/0522/18/1542811_287328509.shtml



http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1


http://urbanairship.com/blog/2010/08/24/c500k-in-action-at-urban-airship


http://urbanairship.com/blog/2010/09/29/linux-kernel-tuning-for-c500k

相关推荐

    opc协议测试工具、opc clent 测试工具

    本文将深入探讨OPC协议, OPC Client测试工具及其在实际应用中的重要性。 1. **OPC协议详解** - **定义**:OPC是基于微软的COM/DCOM技术构建的,用于在不同的自动化系统之间交换数据。它定义了一系列标准接口,...

    RTSP+流媒体服务器性能测试工具1

    本文介绍的是一款基于RTSP协议的流媒体服务器性能测试工具,其设计和实现旨在解决这一实际问题。 该测试工具的关键特性在于它能够模拟多个并发用户,通过多线程机制创建多个伪终端实例来发送RTSP信令。RTSP信令包括...

    212协议测试软件,socket测试工具

    标题中的“212协议测试软件,socket测试工具”指的是一个专门用于测试遵循212协议的网络通信软件。在IT行业中,协议是定义不同设备或系统之间如何交换信息的一组规则。212协议可能是一种特定的通信标准,尤其在特定...

    几个linux服务器性能测试工具,服务器压力测试

    整理了几个比较实用,功能比较强大的性能测试工具供亲们下载,虽然网络上都对每个工具做了详细的功能介绍和文档说明,但分得很散,所以, 在此本人将各个比较实用的服务器性能测试工具集中起来,方便开发人员有针对...

    loadrunner测试TCP协议服务器性能

    LoadRunner是一款由Micro Focus公司开发的负载和性能测试工具,用于模拟大量并发用户,对各种应用系统进行压力和性能测试。它支持多种协议,包括HTTP、FTP、TCP等,能够帮助测试人员发现系统在高负载下的性能瓶颈和...

    SIP服务器性能测试报告

    - **SIPP (SIP Performance and Protocol Tester)**: 是一款开源的SIP性能测试工具,主要用于测试SIP服务器的性能和协议兼容性。SIPP可以通过模拟大量的用户代理(User Agents, UA)来执行并发的SIP事务,包括注册、...

    服务器性能测试规范和基本点

    服务器性能测试规范和基本点 服务器性能测试是确保系统性能的重要一步骤,涉及到多个方面的知识点。本文将从性能测试流程、测试设计、测试执行、测试结果分析、调优和总结等方面进行详细的阐述。 性能测试流程: ...

    猎人压力测试工具,服务器压力测试

    猎人压力测试工具是一款专为测试服务器性能而设计的软件,它能够模拟大量并发用户请求,从而检测服务器在高负载情况下的响应速度、稳定性和资源消耗情况。作为一款简单的压力测试工具,其操作界面友好,功能实用,...

    php服务器测试工具

    本篇将围绕"php服务器测试工具"这一主题,深入探讨如何在Linux和Windows操作系统上进行PHP服务器性能测试,并分析提供的文件列表对测试的意义。 首先,我们需要理解服务器性能测试的目标,这包括但不限于评估服务器...

    TCP服务器测试工具

    4. **日志记录与分析**:大多数TCP服务器测试工具会记录所有交互,包括连接尝试、数据传输和断开连接等事件,以便于后期分析和故障排查。 5. **自动化测试**:高级的测试工具支持脚本编写,允许用户自动化执行一...

    网络协议测试工具

    "NetTester.exe"可能是一款这样的网络协议测试工具,它提供了模拟网络设备的能力,允许用户创建虚拟设备来测试与实际网络程序的对接。这种工具通常包含以下功能: 1. **协议仿真**:模拟不同的网络设备或服务,如...

    radius-ntradping(RADIUS服务器测试工具)

    **RADIUS服务器测试工具——NTRadPing** 在IT网络管理领域,Radius(Remote Authentication Dial-In User Service)协议被广泛用于认证、授权和计费(AAA)服务,尤其是在无线网络和远程拨入服务中。RADIUS服务器是...

    HTTP服务性能测试工具

    在Linux平台上,有几种常用的性能测试工具,包括`http_load`、`siege`和`webbench`。接下来,我们将深入探讨这些工具的功能、使用方法及其在测试中的价值。 1. **http_load**:这是一个由John Ellson编写的轻量级...

    WebMark一个Web服务器性能测试工具.pdf

    《WebMark:一个Web服务器性能测试工具》一文由吉林大学计算机科学与技术学院的张广艳、郑名扬、鞠九滨共同撰写,发表于《软件学报》2003年第14卷第7期。文章深入探讨了Web服务器性能测试的重要性,提出了一个全新的...

    香港证券交易所fix协议离线测试工具

    本主题聚焦于香港证券交易所(HKEx)提供的FIX协议离线测试工具,这是一款对于开发和维护与HKEx连接的交易系统的开发者非常重要的工具。 该离线测试工具的主要目的是帮助系统开发者在实际接入HKEx交易网络前,进行...

    rtsp流媒体测试工具

    "rtsp流媒体测试工具"是针对RTSP协议开发的专业测试软件,旨在帮助开发者、系统集成商和网络管理员验证RTSP流的正确性和性能。这类工具通常具备以下功能: 1. **连接与播放**:工具能够连接到RTSP服务器,请求并...

    推荐5款网站压力测试工具 服务器压测工具对网站进行压力测试的工具.zip

    Siege是一款开源的压力和性能测试工具,支持HTTP/HTTPS协议。Siege不仅可以进行简单的并发请求测试,还具有回放功能,可以从日志文件中读取历史请求进行回放测试。此外,Siege提供了详细的性能统计信息,包括成功率...

    网络相关-udp协议测试工具

    在进行UDP协议测试时,关键知识点包括: - **UDP协议特性**:了解UDP的基本特性,如无连接性、不可靠性、无序性以及低开销,理解其在不同场景下的优缺点。 - **端口概念**:UDP通信依赖于端口号来区分不同的服务...

    JAVA性能测试工具

    JAVA性能测试工具是IT行业中用于评估和优化JAVA应用程序性能的关键组件。这些工具旨在模拟真实世界的负载情况,帮助开发者识别和解决性能瓶颈,确保应用程序在高负载下仍能保持稳定和高效运行。以下是对几种主要JAVA...

Global site tag (gtag.js) - Google Analytics