网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
测试脚本开发、负载生成规则、场景设计及监控方式、测试环境的搭建。
3.4 执行
根据需要进行基准测试、负载测试、压力测试等,搜集结果。
3.5 监控
监控各个节点的运行情况。
3.6 分析
对数据进行分析,需要众多人员共同协作,罩住数据背后的问题,确定性能瓶颈。
3.7 调优
确定以后,进行软硬件调优,然后重复之前的步骤,找到最合适的优化方案。
3.8 性能指标
3.8.1 响应时间
- 针对页面操作,用户感官满意响应时间<2s,可以接受响应时间2~5s,如果响应时间>5s用户将无法接受。
- 针对内部调用的接口响应时间需要更快,具体与接口种类相关。
3.8.2 吞吐量
- 一般结合业务需求而定
3.8.3 服务器资源占用
- CPU占用率
- 内存使用率
- Cache命中率
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:310357728【暗号:csdn999】
四、LR篇
HPLoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。
4.1 轻松创建虚拟用户
使用LoadRunner 的Virtual User Generator,您能很简便地创立起系统负载。该引擎能够生成虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为。
4.2 创建真实负载
Virtual users 建立起后,您需要设定您的负载方案,业务流程组合和虚拟用户数量。用LoadRunner 的Controller,您能很快组织起多用户的测试方案。
4.3 录制脚本
4.3.1 参数化
- 参数化可以让脚本更好的适应环境变化,提高脚本适应能力。
- 场景运行时,每个用户使用不同参数,提高真实性。
4.3.2 关联与session
- 对于脚本,很多时候,我们处理数据的时候,是需要对服务端返回的数据进行解析,而服务端返回的数据如果每次都是变化的话,每次我们都是需要动态获取,这个时候就需要关联。简单来说,就是处理服务端返回的动态数据。
4.3.3 创建集合点
- 集合点就是为了让Vuser集合,然后同时做某个操作,只要在相应的请求前设定有意义的集合点lr_rendezvous即可。
4.4 执行监控
在启动性能测试之后,系统会按照设定的场景产生压力。在执行过程中,需要观察脚本执行的情况,被测试系统的性能指标情况。LR监控来查看这些信息。
4.5 分析报表
一次性能测试执行完成,会创建各种性能分析报表,包括cpu相关、吞吐率、并发数等。
五、JmETER篇
5.1 jmeter简介
Apache jmeter 是一个100%的纯java桌面应用,用于压力测试和性能测量。它最初被设计用于Web应用测试但后来扩展到其他测试领域。Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。
- 优点:开源,轻量级,免安装,跨平台。可支持二次开发和拓展。
- 缺点:性能整体流程缺失,报告展示不够友好(逐渐被插件弥补)。
5.2 jmeter进行性能测试原理
jmeter脚本运行原理:jmeter核心代码封装多种页面请求类型和多种API请求类型,提供GUI页面来填充参数,生成可运行的xml脚本文件,jmeter能对脚本文件进行解析,并调用相应协议。这种方式方便脚本的编写,易上手,对代码要求较低,只需要掌握相应请求协议相关参数即可,且方便调试。插拔式的取样器支持无限制扩充测试能力,对于不支持的新协议,可以进行二次开发进行扩展。
jmeter性能运行原理:Jmeter性能原理与loadRunner类似。采用多线程来模拟多用户,通过对线程的开启运行的控制来达到实际用户增长的复杂需求。配置(可扩展)多种计时器,定时器。来实现用户集中某时间刻访问,即集合点概念,或着采取等待时间定时器模拟用户操作时间等待。实现更贴近于实际访问情况的性能测试方式,使性能结果数据更真实。
jmeter数据采集原理:jmeter提供对线程的监听,能将运行结果进行处理,如传递给GUI进行数据展示,和曲线生成,记录生成日志文件可以供非gui方式运行,提供运行完成后的性能数据分析。可以实时发送给时序数据库,提供监控使用,可以动态监控查看。
5.3 jmeter性能测试步骤(前提:选型使用jmeter作为测试工具)
性能需求分析确定:先确定此次性能测试目标,需求,收集性能需求参数,确定性能测试的测试环境情况与通过与否的判断条件。确定测试各种场景。
脚本分析编写并调试:根据前期确定的各种场景进行脚本编写,设置请求,定时器模拟集合点,等待时间,设置为单线程运行脚本,测试脚本是否按预期执行,调试使脚本能够按预期执行。
搭建好测试环境:根据需求搭建符合要求的测试环境,提前做好能够监控服务器运行状况的方式(cpu,内存,网络,DB等),确保测试环境被测系统,运行参数配置正确,运行无误。
执行性能测试,运行性能脚本:确定发送请求的用户数,执行测试的压力机是否能够支持发送这些并发数(根据压力机cpu与内存确定)如果达不到可以使用分布式压力机进行压测,确定测试机与测试环境网络互通且网络足够支撑压力测试运行。确定完成后即可根据需求确定脚本运行参数,使用NO-GUI方式进行性能脚本执行。
对性能测试数据进行分析:运行完成后收集性能测试数据,对测试数据进行分析,可以导入到jmeter内监听器进行数据处理,或着采用其他处理方式,根据数据来验证需求是否满足,确认此次性能测试是否通过。
5.4 基于jmeter性能测试平台
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!