性能基础概念_第1页
性能基础概念_第2页
性能基础概念_第3页
性能基础概念_第4页
性能基础概念_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、性能基础性能基础基础概念: 虚拟用户:虚拟用户:Virtual user,模拟真实业务逻辑步骤的虚拟用户,虚,模拟真实业务逻辑步骤的虚拟用户,虚拟用户模拟的操作步骤都被记录在虚拟用户脚本里拟用户模拟的操作步骤都被记录在虚拟用户脚本里 Transaction事务:要度量服务器的性能,需要定义事务,每个事事务:要度量服务器的性能,需要定义事务,每个事务都包含事务开始和事务结束标记。务都包含事务开始和事务结束标记。 Transaction Per Second:每秒钟系统能够处理的交易或事务的数:每秒钟系统能够处理的交易或事务的数量,它是衡量系统处理能力的重要指标量,它是衡量系统处理能力的重要指标

2、Page View :PV,最早的定义为一个页面。目前延伸为一个请求,最早的定义为一个页面。目前延伸为一个请求系统真实处理的一个请求,视为一个系统真实处理的一个请求,视为一个PV。 Concurrency并发并发 狭义并发:同一时刻,干同一个事;狭义并发:同一时刻,干同一个事; 广义并发:同一时段,干同一个事。广义并发:同一时段,干同一个事。 Response Time响应时间:从客户端发一个请求开始计时,到客户响应时间:从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间,响应时端接收到从服务器端返回的响应结果结束所经历的时间,响应时间由请求发送时间、网络传输时

3、间和服务器处理时间三部分组成。间由请求发送时间、网络传输时间和服务器处理时间三部分组成。 Think Time思考时间思考时间 :用户在实际操作时的停顿间隔时间。:用户在实际操作时的停顿间隔时间。案例:理发店模型 理发店:理发店: 一间或大或小的铺面,一间或大或小的铺面,1个或几个理发师,几张理发用的椅子和供顾客等个或几个理发师,几张理发用的椅子和供顾客等待的长条板凳。待的长条板凳。 1、理发店共有、理发店共有3名理发师;名理发师; 2、每位理发师剪一个发的时间都是、每位理发师剪一个发的时间都是1小时;小时; 3、我们顾客们都是很有时间观念的人而且非常挑剔,他们对于每次光顾、我们顾客们都是很有

4、时间观念的人而且非常挑剔,他们对于每次光顾理发店时所能容忍的等待时间理发店时所能容忍的等待时间+剪发时间是剪发时间是3小时,而且等待时间越长,小时,而且等待时间越长,顾客的满意度越低。如果顾客的满意度越低。如果3个小时还不能剪完头发,我们的顾客会立马生个小时还不能剪完头发,我们的顾客会立马生气的走人。气的走人。 4、店铺内共、店铺内共10椅子:椅子:3张用于理发,张用于理发,7张供顾客等待。如果顾客发现没空张供顾客等待。如果顾客发现没空椅子,也会立即走人椅子,也会立即走人业务模型(一) 通过上面的假设我们不难想象出下面的场景:通过上面的假设我们不难想象出下面的场景: 1. 当理发店内只有当理发

5、店内只有1位顾客时,只需要有位顾客时,只需要有1名理发师为他提供服务,其他名理发师为他提供服务,其他两名理发师可能继续等着,也可能会帮忙打打杂。两名理发师可能继续等着,也可能会帮忙打打杂。1小时后,这位顾客剪完小时后,这位顾客剪完头发出门走了。那么在这头发出门走了。那么在这1个小时里,整个理发店只服务了个小时里,整个理发店只服务了1位顾客,这位顾位顾客,这位顾客花费在这次剪发的时间是客花费在这次剪发的时间是1小时;小时; 2. 当理发店内同时有两位顾客时,就会同时有两名理发师在为顾客服务,当理发店内同时有两位顾客时,就会同时有两名理发师在为顾客服务,另外另外1位发呆或者打杂帮忙。仍然是位发呆或

6、者打杂帮忙。仍然是1小时后,两位顾客剪完头发出门。在这小时后,两位顾客剪完头发出门。在这1小时里,理发店服务了两位顾客,这两位顾客花费在剪发的时间均为小时里,理发店服务了两位顾客,这两位顾客花费在剪发的时间均为1小时;小时; 3. 很容易理解,当理发店内同时有三位顾客时,理发店可以在很容易理解,当理发店内同时有三位顾客时,理发店可以在1小时内同小时内同时服务三位顾客,每位顾客花费在这次剪发的时间仍然是均为时服务三位顾客,每位顾客花费在这次剪发的时间仍然是均为1小时;小时;业务模型(二) 随着理发店的生意越来越好,顾客也越来越多,新的场景出现了。随着理发店的生意越来越好,顾客也越来越多,新的场景

7、出现了。 假设有一次顾客假设有一次顾客A、B、C刚进理发店准备剪发,外面一推门又进刚进理发店准备剪发,外面一推门又进来了顾客来了顾客D、E、F。因为。因为A、B、C三位顾客先到,所以三位顾客先到,所以D、E、F三三位只好坐在长板凳上等着。位只好坐在长板凳上等着。1小时后,小时后,A、B、C三位剪完头发走了,三位剪完头发走了,他们每个人这次剪发所花费的时间均为他们每个人这次剪发所花费的时间均为1小时。可是小时。可是D、E、F三位三位就没有这么好运,因为他们要先等就没有这么好运,因为他们要先等A、B、C三位剪完才能剪,所三位剪完才能剪,所以他们每个人这次剪发所花费的时间均为以他们每个人这次剪发所花

8、费的时间均为2小时小时包括等待包括等待1小小时和剪发时和剪发1小时小时 对于理发店来说,都是每小时服务三位顾客对于理发店来说,都是每小时服务三位顾客 但是对于顾客但是对于顾客D、E、F来说,来说,“响应时间响应时间”延长了延长了业务模型(三) 假如假如8:30理发店开门,理发店开门,12:30点关门。点关门。 9:00 一辆车开到理发店,下来一辆车开到理发店,下来5个人;个人;10:00,又有车开到理发店,又有车开到理发店,下来下来5个人,结果会怎么样?个人,结果会怎么样?业务模型(三) 假如假如8:30理发店开门,理发店开门,12:30点关门。点关门。 9:00 一辆车开到理发店,下来一辆车

9、开到理发店,下来5个人;个人;10:00,又有车开到理发店,又有车开到理发店,下来下来5个人,结果会怎么样?个人,结果会怎么样?答案:答案: 本轮测试,执行时间本轮测试,执行时间4小时,共接收请求小时,共接收请求10个,总共完成个,总共完成10个个请求。请求。 平均事务的请求响应时间为平均事务的请求响应时间为1.7小时,小时,90%事务的请求响应时事务的请求响应时间为间为2小时。小时。业务模型(四) 假如假如8:30理发店开门,理发店开门,12:30点关门。点关门。 9:00 一辆车开到理发店,下来一辆车开到理发店,下来10个人,结果会怎么样?个人,结果会怎么样?业务模型(四) 假如假如8:3

10、0理发店开门,理发店开门,12:30点关门。点关门。 9:00 一辆车开到理发店,下来一辆车开到理发店,下来10个人,结果会怎么样?个人,结果会怎么样?答案:答案: 本轮测试,执行时间本轮测试,执行时间4小时,共接收请求小时,共接收请求10个,总共完成个,总共完成9个个请求,失败率为请求,失败率为10%。 平均事务的请求响应时间为平均事务的请求响应时间为2小时,小时,90%事务的请求响应时间事务的请求响应时间为为3小时。小时。业务模型(五)业务模型(五) 突然有突然有1天,天,2个椅子坏了,店铺里面就只有个椅子坏了,店铺里面就只有8张椅子了张椅子了 这个时候,突然来了这个时候,突然来了9个客户

11、个客户业务模型(六)业务模型(六) 因为生意实在太好了,老板觉得:因为生意实在太好了,老板觉得: 开分店,同时老板请了个人站开分店,同时老板请了个人站在门口分流在门口分流 新店在旧店对面,新店铺有新店在旧店对面,新店铺有4个理发师,个理发师,15张椅子张椅子总结:总结: 1、业务模型、业务模型1:正常业务,资源使用率变化,:正常业务,资源使用率变化,tps变化。变化。 2、业务模型、业务模型2:狭义并发,:狭义并发,vu变化,响应时间变化,变化,响应时间变化, 3、业务模型、业务模型3:广义并发,响应时间变化、:广义并发,响应时间变化、90%事务响应时间。事务响应时间。 4、业务模型、业务模型

12、4,请求超时。,请求超时。 5、业务模型、业务模型5,请求拒绝。,请求拒绝。 6、业务模型、业务模型6,负载均衡,权重分配。,负载均衡,权重分配。思考:思考: 还有哪些业务模型?还有哪些业务模型?模型转换:模型转换: 从从 理发店理发店 到到 服务端服务端服务端构成服务端构成 1、硬件:服务器、虚拟平台、硬件资源;硬件:服务器、虚拟平台、硬件资源; 2、前端:前端: 负载均衡;负载均衡; 3、容器:容器类别、容器:容器类别 容器配置;容器配置; 4、开发语言,开发框架、语言规范、代码效率;、开发语言,开发框架、语言规范、代码效率; 5、数据库版本、容量、规范;、数据库版本、容量、规范; 6、缓

13、存服务器。、缓存服务器。LoadRunner组件介绍LoadRunnerLoadRunner脚本(一)脚本(一) 正常正常录制录制 Tools Recording Option advanced Support charset 快捷键快捷键 Ctrl + F7 HTML-base script URL-base script Chrome 开发者模式 抓包 代理录制 手写 (终极) 1、抓包 2、手写脚本,模拟发送请求Fiddler 代理设置代理开启前后代理服务器设置差异DOS命令检查确认Loadrunner代理配置1、监听本地端口:5678;2、将监听的数据包进行过滤,将HTTP类型的请求,

14、转发到24的80端口。Chrome或者其他浏览器代理配置Loadrunner 开启代理开启代理,检查确认开启录制生成录制脚本做一个登陆:来次回放: 1、先点编译 2、再点执行 3、看执行结果登录失败登录失败重看请求内容:查看页面源文件关联 LoadRunner的术语,脚本中需要重点掌握的内容。 Web_reg_save_param(); 如何做好关联: a、确定要关联的内容,在哪个请求中会返回该内容; b、准确、有效的过滤规则;脚本加入关联函数重新回放一次脚本基础请求 web_link() 、web_url() web_url: 请求一个url; web_link:请求一

15、个超级链接; web_submit_form() 、 web_submit_data() web_submit_form:自动检测当前页面上是否有form表单; web_submit_data:无需当前页面存在form表单。 web_custom_request() 当无法用上述4个参数实现时,VuGen采用该函数。怎么看响应:关联 web_reg_save_param() web_reg_save_param_ex()第一个手写请求:第一个手写请求:web_custom_request(a,URL=http:/XXXXXXXXXXXXXX/XXXXXXXXXX/u/60032/100,Met

16、hod=POST,Resource=0,RecContentType=application/json,Referer=,Mode=HTTP,EncType=application/json,Body=terminalType:3,loginType:0,areaId:areaId,resourceId:999,unicode:sqy4058zd7lnilg7ybsyikr5374nc3k6, LAST);第二个手写请求:为什么会失败 POST /XXXXXXXXXX/XXXXXXXX/60031/500 HTTP/1.1 Content-Type: application/json User

17、-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 Accept-Encoding: gzip, deflate Accept: */* Connection: Keep-Alive Host: XXXXXXXXXXXXXXXX Content-Length: 12请求头相关:再来一次:请求头相关的所有函数关联函数:web_reg_save_param()用法1:查看响应内容关联 查看请求头:web_save_h

18、eader(REQUEST,”RequestHeader”); 查看请求体:请求体内容在请求函数中,可以自行查看内容关联(二) 查看响应头:web_save_header(REQUEST,”ResponseHeader”); 查看响应体:用法2:关联参数 准确地描述左、右边界差异,注意”需要转义。关联失败提示:No match found for the requested parameter “XXXXXX. Check whether the requested boundaries exist in the response data.检查左右边界是否合理,描述正确。 Also, if the data you want to save exceeds 256 b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论