性能测试技术(三)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
性能测试技术
2
主要内容
性能测试的关注点
信息系统的性能测试
性能测试的流程
性能测试工具介绍
案例分析
3
性能测试的关注点
给软件或系统一定的负载压力,考察软件或系统是否满足用户的需求。
用户视角的软件性能
管理员视角的软件性能
开发人员视角的软件性能
4
用户角度的性能
软件对用户操作的响应时间如用户提交一个查询操作、打开一个web页面的链接等 业务可用度,或者系统的服务水平如何
开发者角度的性能
系统管理员角度的性能
7
信息系统的性能测试 (Information System )
以提供信息服务为主要目的的数据密集型、人机交互的计算机应用系统。
(数据采集、传输、存储和管理)
8
信息系统的特点 涉及的数据量大
绝大部分数据是持久化的 这些持久化的数据为多个应用共享 信息检索、统计报表、事务处理、决策等
9
信息系统的基本结构 硬件、操作系统和网络层(支撑环境) 数据库管理层(DBMS ) 应用层(分析、统计、报表、规划、决策等)
用户接口层(用户界面,外围系统接入点)
11
信息系统性能测试目的
评价系统的当前性能
分析系统瓶颈、优化系统
预见系统未来性能,容量可扩充性
性能测试的实战流程
13
性能测试关注的性能指标和资源设置
客户端
每秒交易数(Transations per second )
交易响应时间(Response Time )
虚拟并发用户数(Total Virtual Users )
吞吐量(Throughout )
14
服务器端
操作系统层面 中间件层面
数据库层面
操作系统层面
中间件层
数据库层面
21
操作系统监控指标
22
性能测试工具介绍:LoadRunner
1. 介绍
2. 测试图
3. 内部逻辑原理图
4. LoadRunner 测试过程
23
介绍
LoadRunner
一种预测系统行为和性能的负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个系统架构进行测试。
它主要由三大主要部分组成:
Controller VuGen (Virtual User Generator)Analysis
24
VuGen
不仅能够录制Vuser脚本,还可以运行这些脚本。
进行调试时,从VuGen运行脚本很有用。
通过运行脚本,可以模拟Vuser脚本在作为负载测试方案的一部分执行时将如何运行。
使用VuGen我们能很简便地创立起系统负载。
该引擎能够生成虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为。
它先记录下业务流程,然后将其转化为测试脚本。
25
Controller
能够很快组织起多用户的测试方案。
可以利用它的日程计划服务来定义用户在什么时候访问系统以产生负载。
这样就能将测试过程自动化。
同样还可以用Controller 来限定各种不同的负载方案。
26
Analysis
在方案执行期间,Vuser会在执行事务的同时生成结果数据,需要对系统各个性能指标的监视,Analysis会在整个测试过程中,记录下所有产生的和所监视的数据,将其绘成图表,并在测试完成后,以报告形式展现给测试人员,以供参考和分析。
测试过程
测试过程
29
30
31
32
案例分析_1:介绍 针对某公司办公自动化(OA )系统的负载压力测试,采用专业的负载压力测试工具来执行测试。
系统采用Browse/Server 架构,服务器是一台PC Server (4路2.7GHz 处理器,4GB 内存),安装的平台软件包括Microsoft Internet Information Server 5.0, ,SQLServer 2000。
使用2台笔记本电脑安装测试工具模拟客户端执行“登录”业务操作。
33案例_1: 测试需求
第一,测试系统分别在2M 、4M 网络带宽下,能够支持用户登录的最大并发用户数;
第二,测试服务器的吞吐量(即:每秒可以处理的交易数),主要包括服务器CPU 平均使用率达到85%时系统能够支持的最大吞吐量和服务器CPU 平均使用率达到100%时系统能够支持的最大吞吐量。
34案例_1:测试目标 指标“响应时间”合理范围为0~5秒,可支持的最大并发用户数;
评测系统的服务器资源是否合理,是否需要进行改进。
网络带宽是否使用合理。
35
案例1_测试策略
设计出两种场景2M 网络和4M 网络环境下进行模拟测试;
其中选定登录业务进行测试,加压策略采取逐步加压的方式。
36案例_1: 2M 网络
图中登录响应时间的纵坐标单位是0.1秒
37
CPU
资源利用率
38
案例_1: 4M 网络
图中登录响应时间的纵坐标单位是0.1秒
39
4M 下的CPU
的资源利用率
40案例2_工作流引擎
模拟多用户登录《工作流平台系统》,针对工作流A 、B 、C 分别连续创建20个实例。
在单机和集群测试环境分别进行负载压力性能测试,单机环境下测试用机与一台应用服务器连接在同一交换机上,压力直接加在一台应用服务器上。
集群环境下测试用机与服务器连接在同一交换机上,压力由负载均衡模块分摊到两台应用服务器上,数据库服务器不作集群处理。
41
案例_2: 测试需求
随着负载的增加,采用集群方案是否对此应用系统有效
服务器资源是否使用合理
42
测试结果
43
44
45
问题:
集群是否比单机环效率要高?
集群下的服务器cpu 高于单机下的原因? 此系统是否可以采用集群的方案?
46
Socket
协议的测试技术
Socket 是应用层与TCP/IP 协议族通信的中
间软件抽象层
47
Socket
编程工作原理
48
LoadRunner 的socket 协议支持 lrs_create_socket("socket0", "TCP/UDP", "LocalHost=0", "RemoteHost=IP:5500", LrsLastArg);
lrs_send("socket0", "buf0", LrsLastArg); lrs_receive("socket0", "buf1", LrsLastArg); lrs_close_socket("socket0");
49
Ajax 应用的测试技术
Ajax :全称“Asynchronous JavaScript and XML ”,指一种创建交互网页应用的开发技术 使用Ajax 应用达到更好的用户体验 将服务器的负担迁移到客户端,减轻服务器和带宽的负担
50Ajax 应用与传统web
应用对比。