性能测试场景浅析

性能测试过程中,目标不同,需要选择的性能测试场景也有很大的差异,今天以HyperPacer为例,简单说说并发测试、负载测试、压力测试到底都是什么怎么个含义。

并发测试

所谓并发测试就是模拟一群人同一时间做事。在性能测试工具还未普及的暗黑岁月,并发测试都是一群人盯着电脑,一个人喊开始,大家便在同一时间点开始操作的那种,点完之后还得每个人看响应,报时间,一群人玩儿的不亦乐乎,做个性能测试顺道还能交流交流,联络联络感情,看着挺好玩,但效率上保证不了。而且并发量不是非常大这样还能玩的起来,并发量要是成百上千的话,就没法这么弄了。

之后有了性能测试工具介入之后,这种好玩的场景便销声匿迹了。并发测试开始了新的篇章,不会有没反应过来慢半拍的同事,都是一水儿的稳准狠。还能对并发操作进行精细的调整控制,以便更好的模拟真实的场景。

瞎扯的说那么多,现在上干货。并发测试就是对被测系统的并发处理能力进行考察的一种测试手段,一般都是看在绝对并发的情况下,系统能承载多大的并发量,或者在一定的并发量下,系统的响应时间是否是可接受的。

由于是绝对并发对服务器的瞬时压力非常大,性能测试人员在开展并发性能测试之前,一定要调查清楚实际的测试需求是不是真正的绝对并发,绝对并发量到底有多少。有时候需求人员在不知道确定概念之下,把相对并发的那种场景也按绝对并发说,往往得到的结果是系统不能有效支持,而实际却是绝对并发场景的含义两边理解的不一样。

举个形象的例子,12306春运期间的放票,一到放票开始,N多的用户在同一时间点对服务器发起买票的请求。比如8:00放票时段,有100万用户对12306发起了买票的请求。由于各自请求经过的路由不完全一样,到达服务器时的顺序也是有先有后。实际同一时间点对该服务的压力只有100万中的一部分,假如是5万个用户请求,剩下的略慢到达的95万用户请求,才陆陆续续到达,都在后面排队等待处理。此时票务处理过程第一波的绝对并发就不是那100万发起请求的用户数,而是真正得到处理的那5万个的用户,等这5万个之中有处理完成的,再放一部分用户的请求进来处理。(由于不是铁路系统内相关系统的操作人员,这个只是为了举例而假想的场景,知情人士可一笑而过)。这其中的5万用户才是票务处理系统实实在在的绝对并发用户量,而不是实际参与的100万都要算进来。

需要做并发测试时,在LoadRunner里有集合点,在HyperPacer里叫做同步定时器,都是对这种场景模拟时用到的同一个东西。作用是当累积到的用户量符合释放条件时,就所有用户一起释放,模拟大家一起操作的场景。如果不加集合点/同步定时器的话,则是早到的早开始,晚到的晚开始,达不到绝对并发的那种效果了。

如果需要测试的场景不是严格意义上的绝对并发,而是在一定的时间范围内进行释放,则可在同步定时器后面再加泊松随机定时器或高斯随机定时器一类的元件来模拟。

压力测试

压力测试是在接近用户承载量极限以下一些(还不足以把系统压垮的用户量),较长时间不间断执行的性能测试,是检查系统稳定性,系统性能瓶颈的一种常用场景。

由于性能测试通常都要尽可能模拟实际用户使用场景,在压力测试过程中,用户的加载策略,操作方式等就需要尽量模拟真实情况下的操作用数量和上下线策略。比如在早上半个小时内,会有500个用户登录,完成登录后就一直操作;下班前15分钟,则陆续退出系统。当然实际的系统的用户登录上线和下线不一定那么规律整齐划一。可通过不同分组设置相应的用户数量、采用不同延时,不同的持续时间来模拟。关于用户初始和用户结束之类的加载策略由于超出了本文的范围,此处一笔带过,将来有机会再表。

负载测试

负载测试和压力测试经常有人弄混,出个加载策略图和前一个场景的加载策略图比较一下就明白了。

所谓负载测试,从图上直观上看就是一批一批的加用户,待到当前在线用户执行稳定后,再加下一批的用户,像这样不停的持续加压,直至系统性能明显下降或系统崩溃为止。是测试系统用户上限,查找系统性能瓶颈的重要手段。通常在还不知道系统能承载多大业务量的情况下,为找到用户承载量极限或为了快速定位系统性能瓶颈时,会采用此种方式进行测试。

总结

虽然性能测试工具提供了多种的性能测试场景来做性能测试过程的调度,但在实际性能测试过程中,依然是按照实际性能测试需求为准,尽量模拟用户的实际行为。在充分了解了性能测试目标的情况下有的放矢,从容选择。而不是无论那种性能测试需求,都先用负载测试的场景测到系统崩溃再说。

时间: 2024-11-04 16:02:51

性能测试场景浅析的相关文章

性能测试场景的分类,或者说我们进行性能测试需要考虑到那些场景

1.一般性的性能测试: 我们进行性能测试的时候,对系统进行低并发或者无并发,不会对系统造成压力的测试为一般性的性能测试.主要是验证在正常情况下,我们的系统是否能满足性能指标要求.比如两个登录系统,如果系统登录时间为8秒,那么这个系统也就没必要再进行性能测试,因为它连一般性都达不到要求 2.负载测试: 模拟用户使用真实场景,这里真实场景是需要进行数据统计的,比如一个小说网站,我们跟踪用户一年的使用情况,发现平均每天1000个人有80%的人在上传小说,20%的人不断在搜索小说,那么我们测试就要根据这

性能测试场景的学习:controller

一. 什么是controller controller是一个核心组件:简单来说就是调用脚本,模拟用户的真实行为,对服务器产生压力,并且收集服务器资源使用情况,比如:TPS.响应时间.事务数.成功率 二. 场景 1. 手工场景(百分比模式) 2. 面向目标场景 三. 集合点 1. 什么是集合点? 模拟这种并发的操作 集合点放在事务的外面(比如登录事务开始之前) 在脚本里设置集合点 controller中需要重新选择脚本 百分比模式集合点置灰,需要切换到Vuser Group Mode 2. 集合点

Swift 使用Extension 场景 浅析

别人一看到我的 Swift 代码,立刻就会问我为什么如此频繁的使用 extension.这是前几天在我写的另一篇文章中收到的评论: 我大量使用 extension 的主要目的是为了提高代码可读性.以下是我喜欢使用 extension 的场景,尽管 extension 并非是为这些场景设计的. 私有的辅助函数 在 Objective-C 中,我们有 .h 文件和 .m 文件.同时管理这两个文件(以及在工程中有双倍的文件)是一件很麻烦的事情,好在我们只要快速浏览 .h 文件就可以知道这个类对外暴露的

Web页面性能测试工具浅析

http://www.cnblogs.com/fo0ol/p/3297054.html 做Web开发,难免要对自己开发的页面进行性能检测,自己写工具检测,工作量太大.网上有几款比较成熟的检测工具,以下就介绍一下,与大家分享. 基于网页分析工具: 1.       阿里测 2. 百度应用性能检测中心 2.       Web PageTest 3.       PingDom Tools 4.       GTmetrix 基于浏览器分析工具: 1.       Chrome自带工具F12 2. 

基于场景的性能测试设计

“为了测试目的而设计的测试用例场景”主要根据测试设计人员的经验来进行,但是仍然要参 考用户的实际场景,用户实际使用场景是设计所有测试用例的依据.例如一些业务系统,虽然备份历史数据的周期为一年,但是设计大数据量测试用例时仍然包含了 系统运行一个月.半年等的数据量模拟测试,因为这些均属于用户的典型场景. 综合上面可以看出,性能测试用例设计首先要分析出用户现实中的典型场景,然后参照典型场景进行设计.实际项目中分析场景一般不会孤立的分析某一特定类型场景,而是把两种或者几种类型场景结合起来进行分析设计,这

LoadRunner性能测试巧匠训练营

<LoadRunner性能测试巧匠训练营>基本信息作者: 赵强 邹伟伟 任健勇 丛书名: 实战出版社:机械工业出版社ISBN:9787111487005上架时间:2015-1-7出版日期:2015 年1月开本:16开版次:1-1   编辑推荐软件性能测试领域具有突破性创新意义的重要著作,三位资深软件测试专家多年一线工作经验结晶,业内多位测试专家联袂推荐.基于LoadRunner.Apache ab和JMeter等性能测试工具,以真实项目为依托,全面深入讲解了软件性能测试.安全测试.性能调优的流

性能测试中如何定位性能瓶颈

性能测试的概念是什么,基本目的是什么,我想大家都基本清楚,不作详述,总之,性能测试只是测试过程中的一种方式,帮助我们的功能更好的运行,如果功能测试是可用,易用,满足需求.用户使用为目的,性能测试无非就是让这些目的更流畅.没有什么专业的概念,无非实现两个字:好用! 所以,性能测试这种测试方式在发生过程中,其中一个过渡性的工作,就是对执行过程中的问题,进行定位,对功能的定位,对负载的定位,最重要的,当然就是问题中说的“瓶颈”,接触性能测试不深,更非专家,自己的理解,瓶颈产生在以下几方面: 1.网络瓶

学习笔记-性能测试-概述

性能测试的目的,什么是性能测试? 目的主要有四点:1评估系统能力,2寻找系统弱点(瓶颈),3系统调优,4验证系统可靠性,稳定性. 通俗的来说,性能测试的目的就是验证系统好不好用,就像功能测试验证系统是否可以用. 比较官方点的定义是: 是指在某个特定的硬件.软件.网络环境下通过自动化的测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试. 性能测试的步骤? 设计测试方案 选择测试工具 搭建测试环境 设计测试场景 执行测试 分析测试结果 性能选择的标准? 达到客户的需求 新系统至

【转】支付宝的性能测试

一.性能测试支付宝场景介绍 2013年双11过程当中,促销开启的第一分钟内支付宝的交易总额就突破了一亿元,短时间内大量用户涌入的情况下,如何保证用户的支付顺畅,是对支付宝应用系统的一个极大的挑战. 支付宝的性能测试场景分为性能基线测试,项目性能测试. 任意一笔交易过来,我们都需要对交易进行风险扫描,对于有可能是账户盗用的交易,我们会把这笔支付直接拒绝掉,或者通过手机校验码等方式进行风险释放. 相关厂商内容 手机百度APS深度剖析 谁保证了您的便捷出行? 万人在线直播教室如何搭建? 公司高速发展,