文章目录

一、前言

二、常见性能测试工具

1、服务端性能测试工具

1.1 Jmeter

1.2 Locust

1.3 LoadRunner

1.4 LoadNinja

1.5 Jmeter + Prometheus + Grafana

2、web前端性能测试工具

2.1 web前端 常见 性能测试工具表

3、移动端性能测试工具

3.1 移动端 常见 性能测试工具

3.2 PerfDog

3.3 Android Studio

4、资源监控工具

4.1 Linux top命令

4.2 JVM jconsole

4.3 DB AWR

结束语


一、前言

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

工具(Tool)意思是原指工作时所需用的器具,后引申为达到、完成或促进某一事物的手段。

工具的含义

1.人在生产过程中用来加工制造产品的器具。

2.喻用以达到目的的事物。

3.喻专门秉承他人意志办事有如工具的人。多含贬义。

简单总结下性能测试工具的原理以及如何选型。性能测试和功能测试不同,性能测试的执行是基本功能的重复和并发,需要模拟多用户,在性能测试执行时需要监控指标参数,同时性能测试的结果不是那么显而易见,需要对数据进行分析。这些特点决定了性能测试更适合通过工具来完成


二、常见性能测试工具

1、服务端性能测试工具

工具英文名 工具开发语言
Jmeter Java
Locust Python
LoadRunner C
LoadNinja ……
N+  ……等多种工具平台组合

    1.1 Jmeter

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
        Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

    1.2 Locust

locust是一个基于python的开源框架。是一个易于使用的分布式用户负载工具。它旨在对网站(或其他系统)进行负载测试,并弄清一个系统可以处理多少个并发用户。

locust是基于事件的,介绍下它的根基就是协程。协程是比线程更小的一种执行单元,你可以认为是轻量级的线程,之所以说轻,其中一方面的原因是协程所持有的栈比线程要小很多,java当中会为每个线程分配1M左右的栈空间,而协程可能只有几十或者几百K,栈主要用来保存函数参数、局部变量和返回地址等信息。

    1.3 LoadRunner

LoadRunner,是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
        LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。

    1.4 LoadNinja 

        LoadNinja 是一个基于云的负载测试和性能测试平台,用于 Web 应用程序和 Web 服务。它可以帮助开发人员、QA 团队和性能工程师检查他们的 Web 服务器是否承受大量负载,以及服务器是否健壮和可扩展。

使用 LoadNinja,您可以创建基于 UI 的测试来模拟用户对测试的 Web 应用程序的操作,以及类似于客户端通过 API 到达服务器的 API 测试。

    1.5 Jmeter + Prometheus + Grafana

JMeter + Prometheus(InfluxDB)插件将JMeter指标导出到Prometheus(InfluxDB)数据库,将数据可视化需要在Grafana中配置数据源。

Grafana(自译:歌挼法拉)

是大多数 数据库的开源分析和监控解决方案

Prometheus(普罗米修斯)

        是一个开源的系统监控和报警工具包,最初是在SoundCloud开发的。

InfluxDB(数据库)

        是一个用于存储和分析时间序列数据的开源数据库

JMeter-Prometheus Plugin

它是一个开源项目,该插件的工作是将JMeter运行的后的指标数据导出到Prometheus。

Grafana

2、web前端性能测试工具

web前端性能测试工具,关于浏览器等客户端工具对页面的处理过程记录,在此不做过多介绍。

2.1 web前端 常见 性能测试工具表

英文名称 描述
Fiddler Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。
Charles Charles是在PC端常用的网络封包截取工具,可通过代理方式抓取移动端网络通讯协议,支持WIndows、Mac、Linux。
HttpWatch HttpWatch是一款强大的网页数据分析工具,集成在internet explorer工具栏。
Firebug Firebug是firefox下的一个扩展能够调试网站的工具

Chrome 调试控制台

3、移动端性能测试工具

移动端性能测试工具,获取手机应用CPU、内存、FPS、电量,启动时间等数据的记录。

3.1 移动端 常见 性能测试工具

英文名称 描述
PerfDog PerfDog性能狗是移动全平台iOS\Android性能测试工具,快速定位分析性能问题工具
GT 腾讯GT工具是一款能表达移动app测试的性能测试工具
iTest iTest APP性能测试,可获取CPU、Mem、网络等
Android Studio Android Studio工具是开发Android应用,同时也可手机操作APP就可以在androidstudio查看性能测试数据了。也可以查看日志。

3.2 PerfDog

3.3 Android Studio

4、资源监控工具

资源监控工具是收集性能测试过程中的数据以及良好的结果展现方式

监控平台 命名或工具
Linux nmon、top、vmstat、free等
JVM jconsole、jvisualvm、JProfiler
DB AWR

4.1 Linux top命令

4.2 JVM jconsole

4.3 DB AWR


结束语

本篇文章主要简单总结下各平台软件性能测试工具

性能测试 理论初探(七) 性能测试工具 介绍 目前知道哪些性能工具?分别用在什么软件或平台的性能测试?服务端、web前端、移动端等 性能测试工具有哪些?相关推荐

  1. 如何实现Web前端自动化?让这些工具帮助你

    随着前端技术的发展,前端开发从静态网页的开发到复杂的前后端交互再到基于node.js的全栈开发,前端需要做的事情越来也多,前端代码的逻辑和交互效果越来越复杂,越来越不易于管理.模块化开发和预处理框架把 ...

  2. Web前端开发常用的开发工具

    Web的发展日新月异,这也使得Web开发者不得不加快脚步,学习新的技术和编程语言.尤其是对于那些大量流量入口的网站来说,跟上技术发展趋势更是尤为重要.为了使得Web开发人员能够更加专注于业务层面的开发 ...

  3. 性能测试 理论初探(一),什么是性能测试?性能测试的目的是?

    文章目录 前言 性能测试 目的 1.评估系统的能力 2.识别体系中的弱点 3.系统调优 4.验证稳定性(resilience)可靠性(reliability) 负载测试(Load Testing) 压 ...

  4. 性能测试 理论初探(三),什么是性能测试分类?性能测试有哪些?性能测试分类 性能测试场景分析 负载测试、压力测试、容量测试等

    文章目录 前言 负载测试(Load Testing) 压力测试(Stress Testing) 容量测试(Volume Testing) 性能测试类型 1.基准测试 2.争用测试 3.性能配置 4.负 ...

  5. 初学Web前端会用到开发工具【零基础web前端入门视频教程】

    目前市面上比较流行的前端开发工具主要有WebStorm.Vscode.Sublime.HBuilder.notepad++.EditPlus.记事本等,今天介绍一下这些开发工具,并且给出了下载地址. ...

  6. 前端改变div排序_转行学习web前端开发,需要哪些工具和需要学习什么?

    今天我们来谈谈Web和前端开发过程中需要学习什么?前端开发需要使用什么开发工具?也简单介绍前端开发前景和薪水. 前端工程师的主要职责: 前端工程师在不同的公司有不同的功能,但性质相似. 1.网站设计与 ...

  7. 前端工程师需要学习ps 吗_转行学习web前端开发,需要哪些工具和需要学习什么?...

    今天我们来谈谈Web和前端开发过程中需要学习什么?前端开发需要使用什么开发工具?也简单介绍前端开发前景和薪水. 前端工程师的主要职责: 前端工程师在不同的公司有不同的功能,但性质相似. 1.网站设计与 ...

  8. 初学Web前端会用到开发工具(附官网下载地址)

    目前市面上比较流行的前端开发工具主要有WebStorm.Vscode.Sublime.HBuilder.notepad++.EditPlus.记事本等,今天介绍一下这些开发工具,并且给出了下载地址. ...

  9. hbuilder前端需要的插件_初学Web前端会用到开发工具(附官网下载地址)

    目前市面上比较流行的前端开发工具主要有WebStorm.Vscode.Sublime.HBuilder.notepad++.EditPlus.记事本等,今天介绍一下这些开发工具,并且给出了下载地址. ...

最新文章

  1. mysql+实例夯住的监控_Nagios 里面监控MySQL 监控事务夯住(RUNNING)报警通知
  2. 【转】txt中导入数据,matlab画图问题
  3. 考察大新和南宁农业产业园 农业大健康·李喜贵:赋能乡村振兴
  4. 万能的BERT连文本纠错也不放过
  5. 获取电脑系统当前时间
  6. codevs 3981 动态最大子段和
  7. html5-5 HTML5表单元素和内嵌框架
  8. 一款很好用的在线作图工具ProcessOn,推荐大家使用
  9. 七年切图仔如何面试大厂web前端?(沟通软技能总结)
  10. 移动硬盘H盘损坏文件系统变成RAW如何恢复
  11. 北航2019计算机学院就业报告,北京航空航天大学2019届毕业生就业质量年度报告.pdf...
  12. cf#644 div2 B. Boboniu Plays Chess
  13. 征服统计学09|统计学里的p值有何意义
  14. Android开发——用户在屏幕上的手势识别
  15. 微信6.5.7手机号码如何解绑
  16. 5招教你如何做用户行为分析
  17. 安卓平台Flutter启动过程全解析
  18. 判断用户关闭浏览器-beforeunload事件
  19. [codeforces23C]Oranges and Apples
  20. 【题解】bzoj-1415 NOI-2005 聪聪与可可

热门文章

  1. 算法:动态规划(1.钢条切割)
  2. android装备选择,原神迪卢克武器怎么选_原神迪卢克武器选择推荐
  3. Halcon Opencv 数据的不同
  4. HNUCM蓝桥杯Python组寒假第二次练习
  5. 7周年庆来袭,送包包送本子还省钱!速来!
  6. 为什么要做黑盒测试?黑盒测试有什么作用?
  7. 详解java中的indexOf()方法
  8. matlab的fmincon函数如何传入额外参数或数据?
  9. 使用uni-app开发微信小程序流程
  10. char 数组 解析