当我们做性能测试的时候,测试协议需要用到性能测试工具。市场上有很多可以做性能测试的工具。有些是收费的,有些是开源免费的。选择的时候它是否友好支持所有的协议呢?现在带大家来看看一些行业中常用的流行的性能测试工具。

ApacheBench 是一个轻量级工具。主要用于 HTTP 协议的性能测试。非常简单快捷。不支持场景化测试。

ab是个小巧而简便容易上手的工具,但是没有图形化的界面,提供的也是基本的性能参数,不能监控,一般用于临时测试某个接口的效率。

ab -n 1 -c 1 https://testerhome.com/

  • -n:总请求次数
  • -c:并发次数(并发请求不能大于总请求次数)

JMeter 是 Apache 开源基金会提供的完全开源的性能测试工具,旨在加载测试功能行为和衡量性能。它最初是为测试Web应用程序而设计的,但此后已扩展到其他测试功能。

Apache JMeter也可用于测试静态和动态资源,Web动态应用程序的性能。用于模拟服务器,服务器组,网络或对象上的繁重负载,以测试其强度或分析不同负载类型下的总体性能。支持分布式运行,JMeter 使用 Java 语言开发的,使用前需要安装 Java 运行环境。某些私有协议可以二次开发插件来支持相应的协议。

LoadRunner是一个性能测试工具,它最初是Mercury公司的产品,2006年Mercury公司被HP收购。

LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner 企业能最大限度地缩短测试时间优化性能和加速应用系统的发布。因为是闭源收费的软件,且授权费用高昂。使用也较为复杂,而且该工具体积比较大。

LR 强调的是对整个企业应用架构进行测试,它通过模拟实际用户的操作行为和实行实时性能监控来帮助客户更快的确认和查找问题。LR能支持广泛的协议,可以为客户的特殊环境,提供特殊的解决方案。

Locust 是易于使用的分布式用户负载测试工具。它旨在对网站进行负载测试,并确定系统可以处理多少个并发用户。非常易用。很方便地基于Python进行脚本扩展和业务请求实现。完全基于事件驱动,所以不受进程和线程的限制,可以支持发起更高的并发数请求。可以分布式发起并发请求。

nGrinder 是一个用于在多台机器上运行用 jython(在 JVM 上运行的 python)编写的测试脚本的应用程序。它的内部引擎是基于 Grinder。nGrinder 分别用 controler 和 agent 将 Grinder 的 controler 和 agent 包装起来,并扩展了支持多个并发测试的特性。

nGrinder是一个压力测试的平台,使您可以同时执行脚本创建,测试执行,监视和结果报告生成器。提供了进行压力测试的简便方法。

看到这么多的工具,我在做一个性能测试任务的时候该怎么选择呢?

1.根据压测场景来选择

根据压测场景是什么来选择。如果说是一次性单接口的场景就可以使用 AB。如果说是复杂事物多接口需要业务场景的话,就会选择 JMeter 这类工具可以构造丰富的场景能满足需求。

2.我需要提供多大压力

我要提供多大的压力?是1000 QPS还是万级以上的。压力很大的话就要考虑压力测试工具是否支持分布式,能否快速扩展 agent。对于 JMeter 来讲就很好的支持了。

3.周期性需求

业务可能频繁上线,服务随时变动。可能会有一个周期性需求,按月巡检。需要一个场景文件,我可以去做数据驱动,实时跟进数据改变。最后希望结果落库。

4.二次开发的需求

JMeter 开源插件化思想,支持 Thrift,Dubbo 等多种协议。可以快速平台化。

最后是社区问题支持:JMeter 开放社区,广泛使用。有问题的时候能够快速获得答案。

基于我们这些需求点,就选择使用 JMeter 作为压测工具。

然后另外一个观点是:我们不用在乎工具是什么语言写的,市场情况如何。我们用工具就是要实现对系统的压力。如果工具能实现压力,它就实现了我们的性能测试工具想要的东西。并且在性能测试工具当中我们只要关注两条曲线:一个是 TPS、一个是响应时间。

能看懂性能曲线才是我们性能测试工程师的能力。而不是我们用什么测试工具,有多熟练工具。因为熟练只是一个开始。不管你是用什么样的性能测试工具,我们都会看到一些数据。这些数据我们要知道带给我们什么样的含义?后续做什么样的分析。所以这是性能测试工具可以给我们提供的东西。也是性能测试工具的意义。

java接口测试工具_这 5 款实用性能测试工具,你会如何选择?相关推荐

  1. tcp测试监听工具_linux 下两款网络性能测试工具介绍

    前言:最近生产上有点不稳定,开发说网络问题,于是需要测试一下网络环境,出一篇报告验证是否真是网络问题,所以今天正好为大家分享linux下两款网络性能测试工具iperf和netperf 一,iperf安 ...

  2. png 转数组 工具_推荐8款实用在线制图工具

    1 免费在线电路图设计工具 library.io免费在线电路图设计工具是一个基于网页的电路图仿真设计工具,用户只需推拽网站提供的电路元器件即可搭建成你所需要的电路图,简单省事. https://lib ...

  3. 电脑录屏工具_这四款录屏工具,也许是电脑录屏软件中免费、无广告且最实用的,程序员必备...

    上期给大家推荐了手机中的免费且无广告录屏软件,这期给大家介绍四款在电脑端超级好用录屏软件,学习和工作.录游戏的时候再也不愁找不到好用的录屏软件啦,话不多说,马上开始 ! 01Win10自带录屏 当我们 ...

  4. Mac上好用的投屏工具,分享几款实用的mac投屏工具

    电脑在我们的生活中变得越来越重要,工作.学习.娱乐都离不开电脑,有时候想坐在舒服的沙发上看一场电影但是又不想移动电脑该怎么办?我们可以采用投屏的方式将画面投到电视上,那么有哪些实用的mac投屏工具呢? ...

  5. 存储过程排版工具_安利一款比Evernote更为实用的云笔记工具,不容错过

    作为一个爱分享的自媒体人,出于工作和兴趣前前后后接触到的云笔记工具很多,例如:有道云笔记.为知笔记.语雀.印象笔记.oneNote...在笔记工具的使用上还是略有点点心得,今天给大家分享一款实用的云笔 ...

  6. 测试眉形的有哪个软件_这五款自动化软件测试工具,你最喜欢用哪个?

    对测试自动化的依赖性增加导致大量自动化软件测试工具的出现,使得很难确定哪些是最好的.为了帮助您完成自动化工作,我们根据自己和他人的经验创建了五大最佳自动化软件测试工具列表. 1. Selenium S ...

  7. java反编译工具_安卓逆向之反编译工具的使用

    SMALI/BAKSMALI是一个强大的apk文件编辑工具,用于Dalvik虚拟机(Google公司自己设计用于Android平台的虚拟机)来反编译和回编译classes.dex.其语法是一种宽松式的 ...

  8. 分享5款实用网络管理工具

    网络管理包括对硬件.软件和人力的使用.综合与协调,以便对网络资源进行监视.测试.配置.分析.评价与控制.IT管理人员正对网络管理的要求较高,需要通过工具对网络上的资源进行集中化管理和操作.下面,IDC ...

  9. python 报表开发工具_测评8款热门的报表开发工具 开源

    阅读提示: 文章中与FineReport软件使用的相关内容,基于软件的V7.0旧版本编写,不代表软件最新的使用方式. FineReport最新版免费试用:https://www.finereport. ...

最新文章

  1. Windows 内核驱动签名策略
  2. MySQL数据库order by 奇慢无比
  3. 统计单词数(洛谷-P1308)
  4. Html转快应用方法,卡片跳转快应用指定页面,如何点返回直接退出快应用回到卡片...
  5. php遍历文本文档txt文件中的链接内容为数组
  6. LCD屏参:手把手教你计算LCD屏参(proch值)
  7. Pythonipython安装注意事项
  8. Flex 4 的ComboBox下拉框滚动条Scroller(VerticalScrollBar)的thumb过小问题的解决
  9. Java生成32位全局唯一id
  10. 图像目标检测识别,计算物体个数,针对电子元器件计算
  11. 个人网盘搭建过程--资料来自腾讯云实验室
  12. K9G8G08U0A升级到K9GAG08U0D烧录NK要注意的地方
  13. java 阴阳历,Java基础-有意思的阴阳历互换的算法
  14. 2019版颱風24、48小時警戒綫(附帶2010版)
  15. method call expected
  16. android 为摄像头增加闪光灯(s5pv210)
  17. JAVA中BitSet使用
  18. 虚拟许可服务器访问失败,星外虚拟主机访问被控出现Unspecified error解决方法
  19. Itextsharp下根据Echarts图像生成pdf
  20. PTA-c语言 水仙花数

热门文章

  1. SAP CDS view查询的fixed limit
  2. Request load inbound error - COM_ATTRFRG_GEN 066
  3. html native code is rendered from xml configuration
  4. 获得TADIR-OBJECT全部的entry list
  5. call super class will trigger CGLIB
  6. 来自Google资深工程师的API设计最佳实践
  7. 如何使用Java keytool命令行创建一个自签名证书
  8. ant vue 设置中文_Ant Design Vue 添加区分中英文的长度校验功能
  9. python集合运算_Python 集合set()添加删除、交集、并集、集合操作详解
  10. div 重新加载_使用React的HOC来完成模块的异步加载