关于性能测试的收获
性能测试的主要手段是通过产生模拟真实业务的压力对被测系统进行加压,研究被测系统在不同压力情况下的表现,找出其潜在的瓶颈。
目前,典型的企业IT系统的架构为:系统是由客户端,网络,防火墙,负载均衡器,Web服务器,应用服务器(中间件),数据服务器等等环节组成。根据木桶原理,即木桶所能装的水取决于最短的那块木板,整个系统的性能要得到提高,每个环节的性能都需要优化。因此,我们需要找到最短的那块木板(系统瓶颈)来,先对其进行优化。
一个良好的性能测试工具必需能做到以下几点:
1、提供产生压力的手段;
2、能够对后台系统进行监控;
3、对压力数据能够进行分析,快速的找出被测系统的瓶颈。
产生压力的手段,主要是通过编写压力脚本,这些脚本以多个进程或线程的形式在客户端进行运行,来模拟多用户对被测系统的并发访问,以此来达到产生压力的目的。压力脚本执行的功能和被测系统客户端软件执行的功能应该一样,从而产生真正的业务压力。编写压力脚本的工作实际上就是重新编写客户端软件。最有效的方式是通过性能测试工具录制客户端软件和服务器之间的通讯包,自动产生脚本,然后在自动生成的脚本的基础上进行少量修改,如:关联动态内容,指定批量测试数据等,通常,压力脚本的准备往往占据整个性能测试项目的50%的时间和工作量。
对后台数据的监控。监控应该不在被测系统上安装任何软件,即达到“无代理”监控。原因有两个:假若安装了“代理”软件,它会对被测系统的分析结果产生影响,造成测试结果的不准确性。二,还会对用户系统的稳定性造成潜在的影响,引起客户的反感。“无代理”方式,即不在被测系统上安装任何软件,仅仅通过改变被测系统的配置,就可以对被测系统进行监控。
压力测试完毕后,我们会得到详尽的性能数据,包括最终用户的响应时间,后台系统各个部件的运行数据。由于数据非常庞大,数据分析工具是必要的。它帮助性能测试人员去阅读,解读好分析数据,辅助测试人员定位系统的瓶颈。
性能测试工具的组成部分有4个:虚拟用户脚本产生器Vugen(Virtual User Generator),压力调度和监控系统Conductor,压力产生器Player,压力结果分析工具Analysis。
进行性能测试项目的一般步骤:
1、用户确定需要录制的交易,通过用户操作和Vugen的录制,记录并生成自动化脚本。
2、修改脚本,确保脚本可以回放成功。
3、Conductor是一个集中控制平台,它和压力产生器player互连,制定脚本在player上分配,并控制player向被测系统的加压方式和行为。
4、Conductor同时负责搜集被测系统的各个环节的性能数据。各个player会记录最终用户响应时间和脚本执行的日记。
5、压力执行结束后,player将数据传送到Conductor中,Conductor负责数据的汇总。
6、数据分析工具Analysis读取压力测试数据,进行分析工作,确定瓶颈和调优秀方法。
7、针对性地进行系统调优,重复压力测试数据,进行分析工作,确定性能是否得到提高。
好了,这就是今天的收获了~~~
====================================分割线================================
最新内容请见作者的GitHub页:http://qaseven.github.io/
性能测试知识科普(一) 换成高速收费站的场景,就是车到了收费窗口,我刷卡扫码支付,然后抬杆放行直到车出去下一个车进来。这个过程的耗时就是所谓的响应时间。至于我们常见的平均响应时间和99响应时间,只是不同维度的统计方法而已。
性能测试知识科普(二) 在聊测试策略之前,很有必要聊聊性能测试的目的,或者性能测试的本质是要做什么,解决什么问题。只有想明白这点,后面的需求分析、工具选型、制定测试策略才能更好的开展。
性能测试知识科普(三) 还有在一些技术交流群,很多同学会说自己遇到的问题,如不知道怎么用jmeter参数化,locust的压测结果图表怎么看,怎么写gatling的压测脚本等等。并不是说觉得用工具low,而是遇到问题,我个人觉得首先应该分析问题,找到解决方法和策略,然后寻找合适的工具来辅助自己快速解决问题。
相关文章
- jmeter测试工具-性能测试基础-jmeter安装与测试
- 月薪2w+的测试,到底强在哪里?
- 金九银十测试面试题集
- 月薪近万,工地转行测试,这一次的选择,真正实现了薪资翻倍~
- 车载诊断测试——无诊断数据库怎么使用CANoe做诊断测试?
- UPC2710T放大电路功率增益测试
- 基于MATLAB的CNN卷积神经网络的训练和测试
- 【性能测试】5年测试老鸟,总结性能测试基础到指标,进阶性能测试专项......
- 接口测试需要比对数据库吗?
- 职场经验:性能测试
- 作为一名测试工程师,我为什么要写博客?
- 移动端专项测试Monkey工具使用
- Web性能测试模型小结
- 《移动App测试的22条军规》——导读
- 性能测试面面观——HP性能测试专家宗刚访谈
- 性能测试流程各阶段的工作
- 性能测试的数据解释及分析
- 页面性能测试
- 性能测试关联学习
- xhprof查看性能测试图一直报错:failed to execute cmd: " dot -Tpng"多种因素解决方案
- App自动化测试开元平台Appium-runner
- Cascade R-CNN Python测试脚本
- 渗透测试思路 | Linux下自动化搭建FakeAP,劫持用户在Portal认证下的所有流量