目录

  • Jmeter
  • Sysbench
  • HammerDB
  • SwingBench
  • LoadRunner
  • 推荐阅读

随着社会及信息技术的飞速发展,人们对计算机及网络的依赖性越来越大,与此同时,数据也更集中于后台系统服务器,众多系统同时为成千上万的网络用户提供服务,用户访问量不断增加,其服务系统承载的负荷也会随之增加,系统性能的好坏将在较大程度上影响我行的利益,因此,服务系统的性能测试与优化越来越受重视。

性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试。目前,我行进行性能测试使用的工具主要有Jmeter、Xmeter、LoadRunner等,测试人员通常通过监控系统的吞吐量、响应时间、事务成功率、应用服务器和数据服务器的CPU和内存等指标来衡量系统的性能是否达标。

为了满足日常工作中对性能测试的需求,广研测试部组织了专门的测试人员负责行内各大项目的性能测试工作。经过半年时间的努力,测试部在性能测试领域不仅积累了丰富的性能测试和调优经验,也完善了整个性能测试开展的流程。从性能测试评估阶段的CheckList的填写、性能测试用例评审会的开展、测试环境的申请,到性能测试执行阶段的测试数据监控工具的使用、压测脚本的编写和执行,再到性能测试总结阶段的测试结果的分析、测试报告的编写、压测资产的积累,完整的性能测试流程如下图所示:


看到这里,大家是否对性能测试的开展十分好奇呢?为了更加直观地展示性能测试的工作,下面分别介绍几种常用的性能测试工具

Jmeter

JMeter是Apache基金会开源的基于Java实现的压力测试工具,提供如下功能:

1.对不同类型的应用/服务等进行性能测试;

2.支持图形化界面和命令行模式;

3.对性能测试结果提供图形分析功能;

4.对于高负载施压的场景,支持部署分布式环境。

JMeter作为一款开源软件,扩展性强,具有强大的开源社区支持,社区内开发者活跃程度高。

JMeter涉及到的主要组件如下:测试计划、取样器、前置处理器、配置元件、后置处理器、断言、监听器、逻辑控制器。

JMeter运行时,主要有以下步骤:

1.通过配置组件,进行数据、环境准备;

2.利用取样器模拟用户请求;

3.控制运行,使用线程组来设置运行场景,利用逻辑控制器来控制业务(实际上即是控制取样器);

4.收集结果,利用断言来验证测试结果,利用监听器来收集显示测试结果。

Sysbench

Sysbench是一个基于LuaJIT的可自定义脚本的多线程性能测试工具,主要包括CPU、磁盘IO、内存、数据库的性能基准测试。基准测试可以理解为针对系统的一种性能测试,基准测试不关心业务逻辑,使用Sysbench的基准测试脚本即可完成测试,数据可以由工具生成,更加简单易于测试;除了基准测试外,Sysbench还支持自定义脚本进行性能测试。

HammerDB

Hammerdb作为一个开源的数据库压力和基准测试工具,有图形用户界面和命令行两种形式。支持标准的TPC-C和TPC-H两种测试模型。TPC-C测试模拟了一个批发商的仓储管理环境,由TPC(Transaction Processing Performance Council)事务处理性能委员会提出,TPC是一个非营利性组织,成员包括大多数数据库产品厂商及服务器硬件供应商。该组织定义了一系列数据库基准,规范了数据库在事务处理性能方面的评测标准和测评结果,是目前业界公认的评测数据库性能的主流国际标准之一。

SwingBench

SwingBench是基于JAVA开发的Oracle数据库性能基准测试工具,是免费软件。SwingBench生成负载来进行数据库测试,最后生成相关的响应时间、事务数等测试结果图表,有三种前端:SwingBench、CharBench、MiniBench,其中CharBench是命令行模式。

SwingBench包含6个基准测试程序:OrderEntry、SalesHistory、CallingCircle、StressTest等,可以模拟OLTP的应用场景:

1.OrderEntry:进行订单查询、处理、下单等操作,主要用于少量表的测试;

2.SalesHistory:主要用于测试基于大表(从1GB到1TB)的复杂查询的性能;

3.CallingCircle(不推荐使用):模拟在线电信应用的SQL,所有的基准测试程序都是CPU密集型;4.StressTest:用于对已知表进行insert、update和select操作测试。

此外,SwingBench还可以根据测试需求修改或新增相关的SQL来进行测试。

LoadRunner

LoadRunner可划分为如下四个部分:

1.虚拟用户生成器(VuGen):捕捉用户业务流程,用于录制和生成性能测试脚本;

2.控制器:用于提供场景设计与场景监控,能够实时监控脚本的运行情况;

3.负载生成器:模拟用户对服务器发起请求;

4.分析器:汇集来自各种负载生成器的日志并格式化报告,以便可视化运行结果数据和监控数据。

最后为方便大家学习测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。


包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……

关注我公众号:【程序员二黑】即可获取这份资料了!

推荐阅读

高薪程序员也躲不过35岁这一关…当能力与年龄脱节,我们该如何自救

大学毕业开始销售…不甘于现状,转行测试的自救之路

从销冠到失业,最后选择软件测试,回头看看这段路,我很幸运!

性能测试这些常用工具你一定要知道!【建议收藏!】相关推荐

  1. 推荐九大类实用的AI工具网站 | 最实用的AI工具网站推荐大全(建议收藏!!!)

    推荐九大类实用的AI工具网站 | 最实用的AI工具网站推荐大全(建议收藏!!!) 引言 随着AI技术的快速发展,越来越多的网站开始提供AI工具,以帮助用户解决日常工作和生活中的问题.在这篇博客中,将为 ...

  2. Java基础-->一篇讲全Java常用类(详细易懂,建议收藏)

    Java基础–>一篇讲全Java常用类(详细易懂,建议收藏) 文章目录 Java基础-->一篇讲全Java常用类(详细易懂,建议收藏) 1.字符串相关的类 String类 概述 创建Str ...

  3. 【2020】明哥版-JetBrains旗下常用开发工具教程目录更新中-建议收藏

    前言 我为什么要写这个系列的教程?很早以前我们在写Java代码时用的较多开发工具可能就是MyEclipse或eclipse,当然了如果你在企业中还能遇见很古老的项目的话,你维护的时候还是需要使用MyE ...

  4. 最常用 150 个Linux命令汇总(建议收藏)

    点击上方[视学算法]→右上角[...]→[设为星标⭐] 来源:banana 童 www.cnblogs.com/bananaaa/p/7774467.html linux 命令是对 Linux 系统进 ...

  5. 60 种数据图表,制作工具和使用场景(建议收藏)

    来源:数据分析1480 全文共 9459 个字,建议阅读 15 分钟 可视化图表种类如此之多,什么场景下应该用什么图表展示,是一个让人头秃的难题. 数据可视化的爱好者Severino Ribecca, ...

  6. 牛逼,Java中表达式引擎工具就用它!建议收藏,一定用的到!!

    最近在负责一个和定价有关的系统,要做分层的价格决策.在决策过程中有两个诉求: 1.需要根据一定的表达式公式,进行分层决策.如订单金额大于1000元时,给10块钱红包,介于100和1000之间的给5元红 ...

  7. 最常用的linux命令大全(建议收藏)

    一 .基础知识 1.1 liunx系统的文件结构 /dev 设备文件 /etc 大多数配置文件 /home 普通用户的家目录 /lib 32位函数库 /lib64 64位库 /media 手动临时挂载 ...

  8. Unity2020常用小技巧与设置(建议收藏)

    文章目录 一.前言 二.Unity常用窗口 1.Unity六大窗口 2.Game窗口分辨率设置 3.Scene窗口中3D图标的隐藏 4.摄像机与Scene窗口视角的相互同步 5.Inspector组件 ...

  9. Python基础最常用且重要的模块总结----建议收藏

    stat模块: 描述os.stat()返回的文件属性列表中各值的意义 fileStats = os.stat(path) 获取到的文件属性列表 fileStats[stat.ST_MODE] 获取文件 ...

最新文章

  1. 通过前序遍历和中序遍历构建二叉树 python实现
  2. 深度学习之后会是啥?
  3. 卷积神经网络模型解读汇总——LeNet5,AlexNet、ZFNet、VGG16、GoogLeNet和ResNet
  4. Linux-(C/C++)生成并使用静态库/动态库
  5. 电商美工手里没有C4D素材模板,不能体现有多厉害
  6. 等离子显示器测试软件,等离子电视各种屏自检方法分享
  7. OnePlus是什么
  8. HDU1517 A Multiplication Game (博弈论+思维)
  9. win7如何安装mysql5.7_Win7下安装MySQL5.7.16过程记录
  10. Android——内存调试
  11. 传感器数据 数据库_丰富的数据,不良的数据:充分利用传感器
  12. 一位Android大牛的BAT面试心得与经验总结
  13. 【数据挖掘算法】(一)MSET 算法
  14. 如何使用前端css代码去掉百度地图左下角的图标
  15. 枚举---知识总结----------gyy加以整理以及改为C++方法
  16. 逆波兰式求值 —Java
  17. 我司何晓磊受邀在“科创中国”做”创新”课程分享
  18. 【STM32利用CuBe MX生成HID设备】1-熟悉软件以及生成一个8键的游戏控制器
  19. 又有12款APP违规收集用户信息,下架整改
  20. 拓扑数据分析在机器学习中的应用

热门文章

  1. 人的一生什么时候可以不为工作发愁?
  2. html绝对定位重叠,绝对定位元素被遮挡的解决方法技术分享
  3. matlab cordic算法,CORDIC算法
  4. fileZilla server客户端FTP连接不上服务器的解决方法
  5. ios微信分享失效_解决微信H5自定义分享在IOS下失效的问题
  6. 鸿蒙系统是基于linux嘛,鸿蒙系统是基于安卓吗 鸿蒙系统与安卓的区别
  7. 这可能是神经网络 LeNet-5 最详细的解释了!
  8. 商务人士标配:华为MateBook X以工艺置顶巅峰
  9. 亚马逊Echo将引领新的交互潮流?
  10. 计算机电源 3.3伏,为什么许多电子设备在5伏和3.3伏的电压下工作?