您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

推荐几款常用的性能测试工具

时间:2021-04-27 11:21:43  来源:  作者:柳岸花开

常用的性能测试工具

对于开发人员来说,首选是一些开源免费的性能(压力)测试软件,例如 ab(ApacheBench)、JMeter 等;对于专业的测试团队来说,付费版的 LoadRunner 是首选。当然,也有很多公司是自行开发了一套量身定做的性能测试软件,优点是定制化强,缺点则是通用性差。

重点介绍 ab 和 JMeter 两款测试工具的特点以及常规的使用方法。

1.ab

ab 测试工具是 Apache 提供的一款测试工具,具有简单易上手的特点,在测试 Web 服务时非常实用。

ab 可以在 windows 系统中使用,也可以在 linux 系统中使用。这里我说下在 Linux 系统中的安装方法,非常简单,只需要在 Linux 系统中输入 yum-y install httpd-tools 命令, 就可以了。

ab 工具用来测试 post get 接口请求非常便捷,可以通过参数指定请求数、并发数、请求参数等。例如,一个测试并发用户数为 10、请求数量为 100 的的 post 请求输入如下:

ab -n 100 -c 10 -p 'post.txt' -T 'Application/x-www-form-urlencoded' 'http://test.api"

post.txt 为存放 post 参数的文档,存储格式如下:

usernanme=test&password=test&sex=1

附上几个常用参数的含义:

-n:总请求次数(最小默认为 1);

-c:并发次数(最小默认为 1 且不能大于总请求次数,例如:10 个请求,10 个并发, 实际就是 1 人请求 1 次);

-p:post 参数文档路径(-p 和 -T 参数要配合使用);

-T:header 头内容类型(此处切记是大写英文字母 T)。

当我们测试一个 get 请求接口时,可以直接在链接的后面带上请求的参数:

ab -c 10 -n 100 http://www.test.api.com/test/login?userName=test&password=test

有几项性能指标可以提供给你参考使用:

Requests per second:吞吐率,指某个并发用户数下单位时间内处理的请求数;

Time per request:上面的是用户平均请求等待时间,指处理完成所有请求数所花费的时间 /(总请求数 / 并发用户数);

Time per request:下面的是服务器平均请求处理时间,指处理完成所有请求数所花费的时间 / 总请求数;

Percentage of the requests served within a certain time:每秒请求时间分布情况,指在整个请求中,每个请求的时间长度的分布情况,例如有 50% 的请求响应在 8ms内,66% 的请求响应在 10ms 内,说明有 16% 的请求在 8ms~10ms 之间。

2.JMeter

JMeter 是 Apache 提供的一款功能性比较全的性能测试工具,同样可以在 Windows 和Linux 环境下安装使用。

JMeter 在 Windows 环境下使用了图形界面,可以通过图形界面来编写测试用例,具有易学和易操作的特点。

JMeter 不仅可以实现简单的并发性能测试,还可以实现复杂的宏基准测试。我们可以通过录制脚本的方式,在 JMeter 实现整个业务流程的测试。JMeter 也支持通过 csv 文件导入参数变量,实现用多样化的参数测试系统性能。

Windows 下的 JMeter 安装非常简单,在官网下载安装包,解压后即可使用。如果你需要 打开图形化界面,那就进入到 bin 目录下,找到 jmeter.bat 文件,双击运行该文件就可以了。

JMeter 的功能非常全面,我在这里简单介绍下如何录制测试脚本,并使用 JMeter 测试业务的性能。

录制 JMeter 脚本的方法有很多,一种是使用 Jmeter 自身的代理录制,另一种是使用Badboy 这款软件录制,还有一种是我下面要讲的,通过安装浏览器插件的方式实现脚本的录制,这种方式非常简单,不用做任何设置。

首先我们安装一个录制测试脚本的插件,叫做 BlazeMeter 插件。你可以在 Chrome 应用商店中找到它,然后点击安装

然后使用谷歌账号登录这款插件,如果不登录,我们将无法生成 JMeter 文件

最后点击开始,就可以录制脚本了。录制成功后,点击保存为 JMX 文件,我们就可以通过

JMeter 打开这个文件,看到录制的脚本了

这个时候,我们还需要创建一个查看结果树,用来可视化查看运行的性能结果集合

设置好结果树之后,我们可以对线程组的并发用户数以及循环调用次数进行设置

设置成功之后,点击运行,我们可以看到运行的结果

3.LoadRunner

LoadRunner 是一款商业版的测试工具,并且 License 的售价不低。

作为一款专业的性能测试工具,LoadRunner 在性能压测时,表现得非常稳定和高效。相比 JMeter,LoadRunner 可以模拟出不同的内网 IP 地址,通过分配不同的 IP 地址给测试 的用户,模拟真实环境下的用户。



Tags:性能测试   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
TechEmpower BenchmarkTechEmpower 的测试比较科学,包含 SQL 查询、JSON 序列化等各种测试,同时标注了哪些是使用了 ORM,哪些是 RAW 查询。 TechEmpower Benchmark Web Framew...【详细内容】
2021-10-12  Tags: 性能测试  点击:(70)  评论:(0)  加入收藏
分享大纲:1.测试概述 2.HTTP讲解 3.Fiddler抓包工具使用 4.Jmeter使用响应断言 HTTP基础HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广...【详细内容】
2021-06-04  Tags: 性能测试  点击:(109)  评论:(0)  加入收藏
常用的性能测试工具对于开发人员来说,首选是一些开源免费的性能(压力)测试软件,例如 ab(ApacheBench)、JMeter 等;对于专业的测试团队来说,付费版的 LoadRunner 是首选。当然,也有很...【详细内容】
2021-04-27  Tags: 性能测试  点击:(236)  评论:(0)  加入收藏
1 Jetty与glassfish的基本介绍1.1 研究背景及意义下图是对几个主流的应用服务器使用比率的粗率统计结果做出的一个饼图。这个图的数据也许不够精确,但它还是可以在一定程度上...【详细内容】
2021-04-06  Tags: 性能测试  点击:(199)  评论:(0)  加入收藏
3D动画或者3D建模这些字眼放在过去,对于大多数人的第一印象,都是非常高端,遥不可及的存在,这类工作不仅对于硬件有着高不可攀的要求,而行业内的软件成本,也不是个人或者小团队能承...【详细内容】
2020-07-28  Tags: 性能测试  点击:(92)  评论:(0)  加入收藏
WebBenchmark是一款基于开源通讯组件Beetlex扩展的Webapi管理和性能测试工具(在技术上是beetlex webapi和vuejs的结合),在传统工具中一般管理工具缺乏性能压测能力或有性能测...【详细内容】
2020-07-08  Tags: 性能测试  点击:(60)  评论:(0)  加入收藏
目标: 能够完成 JMeter 的环境部署及基本使用教程演示环境(环境仅供参考): 系统平台: Windows 平台 系统版本: Windows 10 家庭中文版步骤: 获取 JMeter 部署 JMeter 配置相关...【详细内容】
2020-04-07  Tags: 性能测试  点击:(58)  评论:(0)  加入收藏
一、准备工作在什么阶段开展性能测试工作?一般情况下,是在被测系统已完成功能测试、系统趋于稳定的情况下,才会进行性能测试。1. 组建测试团队 根据被测系统的实际情况,组建一个...【详细内容】
2020-04-06  Tags: 性能测试  点击:(76)  评论:(0)  加入收藏
谈到性能测试,大家一定会联想到Jmeter和LoadRunner,这两款工具目前在国内使用的相当广泛,主要原因是Jmeter是开源免费,LoadRunner 11在现网中存在破解版本。商用型性能测试工具...【详细内容】
2020-03-31  Tags: 性能测试  点击:(68)  评论:(0)  加入收藏
被面试官经常问到之前开发的系统接口 QPS 能达到多少,经常给不出一个数值,支支吾吾,导致整体面试效果降低?原因基本是一些公司中,做完功能测试就完了,压根不会有性能测试这一步,或...【详细内容】
2019-12-30  Tags: 性能测试  点击:(152)  评论:(0)  加入收藏
▌简易百科推荐
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(1)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(9)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(19)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(23)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(24)  评论:(0)  加入收藏
一个项目的大部分API,测试用例在参数和参数值等信息会有很多相似的地方。我们可以复制API,复制用例来快速生成,然后做细微调整既可以满足我们的测试需求1.复制API:在菜单发布单...【详细内容】
2021-12-14  AutoMeter    Tags:AutoMeter   点击:(20)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条