性能测试场景的学习:controller

一. 什么是controller

controller是一个核心组件:简单来说就是调用脚本,模拟用户的真实行为,对服务器产生压力,并且收集服务器资源使用情况,比如:TPS、响应时间、事务数、成功率

二. 场景

1. 手工场景(百分比模式)

2. 面向目标场景

三. 集合点

1. 什么是集合点?

模拟这种并发的操作

集合点放在事务的外面(比如登录事务开始之前)

在脚本里设置集合点

controller中需要重新选择脚本

百分比模式集合点置灰,需要切换到Vuser Group Mode

2. 集合点的策略

A:当所有用户的%X到达集合点时释放

B:当所有正在运行的用户的%X到达集合点时释放

C:当X个用户到达集合点时释放,也就是只要有X个用户到达集合点的时候,就会跑下面的操作,不会等其他用户都加载完再跑

3. 集合点使用的场景

跟你自己的需求来设置:一般用于秒杀,验证一瞬间的承受压力。和你设定的秒杀名额有关,比如秒杀名额只有10个,可以验证一下11个并发的时候,最后1个是不是失败了

但是:并没有100%的并发,在我们日常的性能测试中,很少用的集合点。因为日常并发中已经对服务器产生了很大的压力,已经可以验证很多性能问题了,就不需要一定设置集合点

设置集合点和不设置的区别:设置集合点,在释放的一瞬间的压力比不设置要大

三. Load Generators

1. 为什么要用Generators?

(1) 8G内存,16C,为了减少一台机器的压力,才有多台机器来分担压力

(2) 12306订票系统,分出来:华南、华北、华中,来自不同区域的压力

2. 添加

也可以从这里添加

Ready表示已连接上

3. 每台机器需不需要脚本

(1) HTTP协议:不需要每台机器都有脚本,只要主控机上面有脚本就可以了

(2) java vuser协议:每台机器都要有相同的脚本,文件夹目录和名称都要一直,jar都要上传(jdk版本一致)

(3) LoadRunner版本最后一致,有时出现连接不上,但是高版本可以控制低版本的从机

(4) 从机只要安装了LoadRunner之后,在电脑右下角看到小广播就可以了,不需要做其他设置

4. 网络

(1) 在做性能测试的时候,一定要在局域网做,同一个网段去做

(2) 带宽:最好是1000兆带宽,买一个千兆交换机,现在一般都是千兆网卡了

四. 场景设计模式

手工场景:scenario模式、group模式

(一) scenario模式

scenario模式,是指所有脚本都使用相同的场景模式来运行,只需要分配每个脚本所使用的用户个数就可以

scenario模式分为real-world schedule(真实场景模式)和basic shedule(基础模式)

1. real-world schedule(真实场景模式)

初始化的方式:

增长方式:

快增长

慢增长

指定运行次数(Runtime Settings):迭代5次,跑10个并发用户,一共跑了50个事务

注意:迭代1次跑50个和迭代5次跑10个用户的区别是什么(直到完成这种模式)

(1) 事务数是一样的

(2) 产生的压力是不一样的

2. basic shedule(基础模式)

只能设置一次负载的上升和下降

(二) Group模式

当场景一开始就立即运行

当场景运行后多少再运行

当某个group结束后再运行

一般在什么情况下使用这种group模式:

(1) 也可以说是一种偷懒的模式,在做性能测试回归的时候,设计好这种场景,就可以把很多脚本跑一次,看有没有错误或TPS相应时间,有没有达到之前的要求

(2) 或者下班之后,想在某个时间节点开始跑场景

如何选择?

是一个一个场景跑完之后,再添加另外场景来跑,还是一次把要跑的脚本都设定好,只要一次,直到所有的脚本场景都跑完?

前者如果把所有的脚本都加进来,就变成混合场景了,不是某个脚本单个功能的验证

原文地址:https://www.cnblogs.com/my_captain/p/12636870.html

时间: 2024-08-30 10:35:59

性能测试场景的学习:controller的相关文章

性能测试场景浅析

性能测试过程中,目标不同,需要选择的性能测试场景也有很大的差异,今天以HyperPacer为例,简单说说并发测试.负载测试.压力测试到底都是什么怎么个含义. 并发测试 所谓并发测试就是模拟一群人同一时间做事.在性能测试工具还未普及的暗黑岁月,并发测试都是一群人盯着电脑,一个人喊开始,大家便在同一时间点开始操作的那种,点完之后还得每个人看响应,报时间,一群人玩儿的不亦乐乎,做个性能测试顺道还能交流交流,联络联络感情,看着挺好玩,但效率上保证不了.而且并发量不是非常大这样还能玩的起来,并发量要是成百

关于egg.js的初次学习——controller和router的基本使用

今天学习了egg最基本的controller和router的使用. 首先什么是controller和router呢?controller就是经典的MVC(module,view,controller)架构中的controller层,主要用来解决实际的业务逻辑. router主要是用来分发来自页面的请求,然后把这个请求交给某个controller去做.此处来一个小栗子 1 module.exports = app => { 2 app.get('/', 'render.ejs'); 3 }; 这里

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

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

在微博微信场景下学习Redis数据结构

Redis安装 下载地址:http://redis.io/download 安装步骤: 1.yum install gcc 2.wget http://download.redis.io/releases/redis‐5.0.3.tar.gz tar xzf redis‐5.0.3.tar.gz cd redis‐5.0.3 3.make 4.src/redis‐server redis.conf(注意要使用后台启动,所以修改redis.conf里的daemonize改为y es) 5.ps ‐

startService&bindService使用场景的学习理解

使用场景1,通过startService开启的服务,一旦服务开启,这个服务和开启他的调用者之间就没有任何关系了,调用者不可以访问Service里面的方法,调用者被系统回收或调用了onDestroy方法,Service还会继续存在2,通过bindService开启服务,Service和调用者之间还存在联系,调用者挂了,Service也会跟着挂调.

性能测试Jmeter扩展学习-添加自定义函数

我们在使用jmeter的时候有时候会碰到jmeter现有插件或功能也无法支持的场景,比如前端加密,此时我们就需要自己手动编写函数并导入了,下面就是手动修改并导入的过程. 首先我们需要下载jmeter源码压缩包下来,我这里下载的是apache-jmeter-4.0_src.zip,下载解压后,此时直接导入jmeter源码是不行的,我们需要修改两个文件,如下图,将eclipse去掉即可,变成.classpath和.project.(注意下,去cmd命令下修改,ren 旧文件名  新文件名) 我们默认

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

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

《性能测试诊断分析与优化》学习总结(二)

LR场景设计 在Controller中新建场景,可以选择手工场景(Manual Scenario)和 面向目标场景(Goal-Oriented Scenario)两种方式创建场景. 其实,在我们真实的项目中,选择手工场景比较多,所以下面是通过学习这本书的一些心得: 1.创建手工场景 当录制完脚本并完善好脚本后,下一个步骤就是设计运行场景,而整个的场景调度设计是非常关键的,创建可精确模拟用户压力行为的手工场景的关键点在于指定压力和时间.如指定场景运行的时间长度,多少虚拟用户(并发)参与这次测试执行

性能测试工程师的能力要求以及学习路线

很多学员都会问:1.如何才能成为NB的性能测试工程师?2.成为性能测试工程师都学习什么啊?3.loadrunner我需要学习到什么程度啊?............ 如何才能找到答案呢,我们根据岗位要求去完善和构建整个性能测试工程师的能力要求体系. 首先:分析性能测试工程师的岗位要求其次:根据岗位要求分析出能力要求然后:根据能力要求分析出知识要求最后:根据知识要求梳理学习体系 根据思路我收集整理了现有的市面上招聘所有的性能测试工程师的岗位需求(招聘网站)所有的性能测试工程师的岗位要求,根据这些岗位