提到测试都会知道的几个工具: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到最后面的内核修改,每个环节都有事可做;

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

转载于:https://www.cnblogs.com/timmy6688/archive/2013/05/22/3093067.html

协议测试与服务器性能测试工具 列表相关推荐

  1. 如何测试nginx服务器性能测试,Nginx性能测试工具--httperf

    httperf是由HP开发的Web服务器性能测试工具,可以提供各种HTTP数据以分析服务器性能,仅能运行在Linux操作系统 简单的调用 httperf --server localhost --po ...

  2. TCP和UDP服务器性能测试工具

    TCP和UDP服务器性能测试工具 本文涉及工具不是本人开发,在网上免费下载的工具 在编写一个网络服务的时候都比较关心这个服务能达到多少并发连接,而在这连接的基础上又能达到一个怎样的交互能力.编写服务已 ...

  3. Web服务器性能测试工具介绍

    web性能测试工具 相关工具:webbench .Apache bench 压力测试相关指标 吞吐量(Requests per second, RPS),某个并发用户数下,单位时间内处理的请求数. 注 ...

  4. 服务器性能测试工具及实战,性能测试实战--《软件测试52讲》

    1.性能测试工具常见5组件及作用: 模拟用户行为生成脚本:loadrunner有录制功能,转化为基于协议的请求.jmeter有badboy 压力产生器:可能由于压力产生器本身的性能瓶颈(设备本身也会存 ...

  5. python服务器性能测试工具locust使用指南

    文章目录 前言 安装 基本使用 User类 @task装饰器 任务间隔 @tag装饰器 前置与后置 HttpUser类 常用参数 命令行配置 配置文件配置 常用压测场景实战 高用户高并发场景压测 每个 ...

  6. 服务器性能测试工具及实战,软件测试与项目分析-性能测试实战.pptx

    通过前面的章节学习,掌握了性能测试脚本开发到优化的各知识点.本章节通过OA项目的"考勤"功能来进行实战练习,在实战中巩固前面所学的各知识点,运用前面章节所学知识点能够解决实际的问题 ...

  7. 【APP 测试】APP 性能测试工具:MobileRunner 安装

    一.前言 APP 性能测试,尤其是对手机性能的监控,以及自动化测试,都是一个麻烦点,尤其原生代码还区分原生与非原生,市面上大部分好用的工具均需收费,开源工具又对 Android 7.0 以上的版本和 ...

  8. dhrystone测试结果_Linux性能测试工具-UnixBench--安装以及结果分析-阿里云开发者社区...

    UnixBench unixbench是一个用于测试unix系统性能的工具,也是一个比较通用的benchmark, 此测试的目的是对类Unix 系统提供一个基本的性能指示,很多测试用于系统性能的不同方 ...

  9. 推荐测试网站的性能测试工具这最佳的12款

    网站的加载速度在一定程度上来说是决定网站能否成功的关键.如果您是网站所有者,一定知道网站速度的重要性.因为没有人愿意为了打开一个网页而等老半天,换句话说,如果你的网站打开速度很慢,将流失大量的访客,甚 ...

最新文章

  1. 序列化和反序列化实现
  2. Window对象中的函数confirm方法的简单介绍
  3. pythonnamedtuple定义类型_python-自定义type.NamedTuple
  4. 数据可视化【六】Line Chart Area Chart
  5. mysql一个事务多个log_MySQL识别一个binlog中的一个事物
  6. python元胞自动机模拟交通_结构专栏 | 解析DEFORM软件中的元胞自动机法
  7. Liferay6.2.1 集成 CAS4.0 实现单点登录与应用系统集成
  8. 机器学习 --- 1. 线性回归与分类, 解决与区别
  9. datatable 操作列根据权限动态展现_不会Excel透视表?教你一招轻松做出动态报表...
  10. Thinkphp聚合支付整合第三方和四方支付系统带代理功能
  11. 一网打尽位图与矢量图
  12. 机器人的分类、发展史、现状及国内外发展趋势
  13. mysql aix版本查看_AIX 查看aio状态
  14. 金蝶新建生产领料单,单据编号不能自动填写
  15. java中写html标签,java写html剔出标签
  16. 信贷决策问题 —— 基于国赛-19C的数据挖掘练习
  17. 【UEFI基础】Protocol介绍
  18. c语言怎样写积分程序,C语言实现定积分求解方法
  19. 彻底缓存与协商缓存(浏览器缓存)
  20. 汇编语言 | CALL 和RET指令

热门文章

  1. Python数据可视化 - 使用Dash库制作杭州数据分析师岗位招聘情况可交互网页报告(附代码下载)
  2. gen_server tasting 之超简单名称服务
  3. 用 VB 打开任意盘(硬盘/U盘/光盘)的文件. (转)
  4. 从一碗面条到一碗浆糊,再到哪里?
  5. Character类型
  6. linux远程ipv6端口,SSH端口转发笔记(ipv6 与 端口映射)
  7. java8 安装与环境变量配置
  8. 软件项目管理实验报告(一)
  9. 一个树列表控件的例子 (CTreeListCtrl)
  10. jupyter notebook快速入门使用详解及标记的使用(Markdown使用笔记)