1. Jmeter
自认为Jmeter是最有名负载测试圈的开源工具.Apache 自己描述Jmeter是一款专用于通过负载测试来衡量性能的java应用程序。
JMeter的创建是对应于LoadRunner的开源工具,所以你会巨恶恶的他们有一些相似之处。这是一个便捷的客户端,使用右键驱动即可。有点奇怪,但是性能强大。性能负载测试的所有特征都可以在JMeter上使用。
这些特征包括:
- 可以测试一个主机的技术性能,如java对象,web页面的http/HTTs, soap, Rest服务,FTP,数据库等
- 友好的IDE, 能够记录,debug你的性能测试
- JMeter3.1中groovy是一个默认语言
- 最受欢迎的性能测试工具之一
虽然是最受欢迎的但是也有一些缺点
例如,Jmeter无法测试一个大的分布式系统,尤其是你已经创建了一堆的机器,他们之家相互通信。在执行大型JMeter测试时,还存在许多编排问题。
所以也有一个开源工具: BlazeMeter可以帮助你
2. Taurus
Taurus的强大在于可以让你把测试写成YAML文件,你可以在一个十行的文本上写一段成熟的脚本.这个脚本能够在yaml文件或者json文件中表达测试的内容.YAML文件就是一个易懂的,可编辑的方式给你在文本上描述一个测试.这是一个大的跨越,从以前繁重的特定的记录和脚本从逃脱.
特点
- 允许团队中更多的人进行性能测试,由于脚本在易读的YAML文件中写的,所以代码review会更容易.
- 更容易集成到CI/CD中
- 提供了Jmeter selenium等上的抽象层
3. Locust
Locust是一个容易使用,分布式的用户负载测试工具, 它可以进行网站和应用的负载测试.它还能指出系统可以承受的并发用户数量.如果您熟悉“负载生成器”一词,那么Locust会使用“ swarm”一词,因为您可以指出一群蝗虫在您的网站上施加负载。你可以定义每一个Locust实例的行为,你可以检测每一个swarm的实时行为.
特性:
- 使用Python创建测试脚本
- 很容易增加用户数量
- nice web界面
- 可扩展
- 接口测试也可以
4. Fiddler with BlackWidow and Watcher
Fiddler可以做很多事情,最多的是英语抓包
Fiddler是一个免费的开源工具,用于检测,操纵和再用HTTP请求.也可以测试网页,还有很多扩展工具搭配使用.
Fiddler特性:
- web应用的故障排除
- 安全测试
- 性能评估
- 调试来自于其他计算机和设备的web流量
Fiddler早就被程序员广泛使用,很多人使用它去检测http 请求.
Todd DeCapua 建议使用Fiddler和Watcher ,BlackWidow 来快速创建性能测试解决方案
Watcher is a security add-in for Fiddler which will enable you to get some security results quickly. BlackWidow is a web crawler that gives you the functionality to point it towards a web address and then be able to drill down on results.
Watcher是一个Fiddler的安全插件,可以保证你很快得到安全结果.BlackWidow是一个Web爬网程序,它为您提供了将其指向网址的功能,然后可以深入查询结果。对于一个初次接触性能测试的人,使用这三个工具也能搭建一个系统进行性能测试
具体可以查看: PerfGuild Online Conference
5. nGrinder
nGrinder在github上被称为是针对企业级的性能测试解决方案,容易进行负载测试,提供了一个平台去创建,执行,监督的工具.
特征
-使用Jython去写脚本,使用多个代理对JVM创建压力
-扩展测试通过Jar包和py文件
- 允许您监视绩效代理的状态
6. The Grinder
The Grinder i是一个Java负载测试框架.它提供给我们一个容易运行 和创建的分布式测试解决方案,使用许多负载注射器机器.
特征:
- 你可以进行任意有JAVA API的负载测试.
- 一个好的交互界面
- 自动处理客户端的连结和cookie管理
7. Gatling
Gatling是一个基于Scala, Akka and Netty创建的负载测试工具.允许你测试和评估应用的点到点性能
特征:
- 有一个简单的DSL
- 容易扩展
- 如果你
- 如果您喜欢Scala及其带来的好处,那么这就是您的负载测试工具。
-有一个脚本记录器
8. K6
我一直没有停过k6 直到要写这个文章. 但是GIthub上的数量有 2,893 我不得不看一看.
k6是一个以开发人员为中心的开源负载测试工具,用于测试后端基础架构的性能。
k6 is also Modern load testing tools built with Go and JavaScript so it integrates well into most developers workflow.
K6也是一个机遇Go语言和JS'的负载测试工具.所以它集成到了多数的开发流程中.
特征:
- 干净的脚本API
- 提供分布式的和云的执行
- rest API框架
9. Tsung
Tsung是一个开源的 多协议的负载测试工具.
特征:
- 检测客户端的CPU,内存和网络流量
- 有http 记录器
- 包含HTML报告和图标
10. Siege
Siege 是一个命令行的http负载测试和基准测试使用工程.帮助开发人员测试他们的代码.
特征:
- 支持基本身份验证,cookie,HTTP,HTTPS和FTP协议。
- 允许其用户使用可配置数量的模拟客户端访问服务器。 这些客户端使服务器处于“围困”状态。
- 允许他的用户去
- 非常适合简单,蛮力的测试工具