`
阅读更多

性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的一种测试。
  系统的性能是个很大的概念,覆盖面非常广泛,对一个软件系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等。
  用户视角的软件性能
  从用户角度来说,软件性能就是软件对用户操作的响应时间。
  管理员视角的软件性能
  系统的响应时间;
  系统运行时服务器的状态,如CPU利用情况、内存使用情况等;
  系统是否能够实现扩展;
  系统支持多少用户访问;
  系统性能可能的瓶颈在哪里;
  系统是否支持7*24小时的业务访问。
  产品开发人员视角的软件性能
  用户关心的响应时间;
  管理员关心的系统可扩展性等;
  架构设计是否合理;
  数据库设计是否合理;
  代码是否存在性能方面的问题;
  系统中是否有不合理的内存使用方式。
  性能指标介绍并发用户数是指在某一给定时间内,某个特定点上进行会话操作的用户数。
  响应时间指的是客户端发出请求到得到响应的整个过程所经历的时间。
  吞吐量是指单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力。
  一般来说,吞吐量用请求数/秒或页面数/秒来衡量,从业务的角度,吞吐量也可以用访问人数/天或处理的业务数/小时等单位来衡量。从网络的角度来说,也可以用字节数/天等单位来考察网络量。
  资源利用率是指系统资源的使用程度,比如服务器的CPU利用率、内存利用率、磁盘利用率、网络带宽利用率等。

性能测试类型
  负载测试:主要用于描述常规的性能测试,通过模拟生产运行的业务压力和使用场景组合来测试系统的性能是否满足生产要求。通俗的说,这种测试方法就是要在特定的运行条件下验证系统的能力状况。
  压力测试:对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收用户请求的性能点,来获得系统能提供的最大的服务级别的测试。通俗地讲,
  压力测试是为了发现在什么条件下应用程序的性能会变得不可接受。
  用户量压力测试
  数据量压力测试
  疲劳强度测试通常是采用系统稳定运行情况下能够支持的最大并发用户数或 者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。
  疲劳强度测试可以反映出系统的性能问题,例如内存泄漏等。
  性能测试过程
  测试需求分析
  测试需求分析主要有以下的几个关键点:
  测试的目的是什么
  性能符合性验证:验证是否满足应用的需要。
  性能能力验证:确定性能极限、是否存在性能瓶颈。
  性能调优:对系统的性能进行调试、优化。
  测试要素分析:
  用户数量
  测试执行的功能
  用户分布(即执行每种功能的用户数)
  硬件环境(包括网络环境)
  软件环境
  数据量
  其它分析
  系统运行中所出现的问题有什么特征或规律
  疲劳测试执行时间多少
  性能需求的指标是什么等制定测试策略
  测试目的不同,则相应的测试策略不同。
  性能符合性验证负载测试、疲劳强度测试。
  性能能力验证压力测试、疲劳强度测试。
  性能调优测试-调整-测试。负载测试、压力测试、疲劳强度测试。
  制定测试方案
  测试需求
  测试策略
  测试场景
  测试环境
  测试准备
  人员及时间安排
  问题与对策
  执行测试方案
  搭建测试环境
  录制脚本、编辑脚本
  布置测试场景
  执行测试场景
  测试结果分析
  性能符合性验证:查看测试结果是否满足要求,比如响应时间、资源利用率、吞吐量等等。
  性能能力验证:查看测试结果是否满足要求,记录软件系统的性能变化曲线。
  对于确定是否存在性能瓶颈,首先判断是否存在硬件(包括网络)瓶颈问题,若不存在硬件瓶颈问题,则按照应用软件到系统软件(应用服务器、数据库服务器、操作系统)的顺序进行分析,确定瓶颈点。
  性能调优:同性能能力验证确定性能瓶颈分析方法。
  硬件瓶颈分析方法
  内存分析方法
  处理器分析方法
  磁盘I/O分析方法
  网络分析方法
  内存分析方法
  1.首先查看可用内存(Memory\Available Mbytes)计数器指标。若值较小则可能有内存问题,需进一步分析。
  2.注意Pages/secPages Read/secPage Faults/sec计数器的值。Pages/secPage Faults/sec的值持续很高,很可能内存问题,若Pages Read/sec的值超过5,则可判断存在内存问题。
  3.根据Physical Disk计数器的值分析性能瓶颈。如果磁盘的Average Disk Queue Length计数器增加的同时Pages Read/sec并未降低,则可判断内存有问题。处理器分析方法
  1.首先查看System\%Total Processor Time计数器的值。该值体现的是CPU的平均利用率,若超过90%,则说明存在处理器方面的瓶颈。
  2.其次查看每个CPUProcessor\%User Time计数器的值。若应用服务器的%User Time值较大,可以考虑是否能通过算法优化等方法降低这个值。若数据库服务器的%User Time值较大,可考虑对数据库系统进行优化。
  3.查看System\Processor Queue Length计数器的值。当该值大于CPU数量的总数+1时,说明存在处理器方面的问题。
  磁盘I/O分析方法
  1.查看%Disk Time计数器的值。该值较大,则可能存在磁盘瓶颈问题。
  2.Processor\Privileged Time合并进行分析。若%Disk Time值较大,而Processor\Privileged Time的值适中,则可判断存在磁盘问题。若Processor\Privileged Time较大,持续超过80%,则可能是内存泄漏。
  3.根据Disk sec/Transfer进行分析。该值超过60ms,则磁盘存在问题。
  网络分析方法
  1.查看Network Interface\ Bytes Total/sec计数器的值。用Bytes Total/sec计数器的值和网络的带宽进行比较,若超过50%,则说明网络存在性能瓶颈问题。
  软件瓶颈分析方法
  分析事务响应时间、吞吐量,确定是否存在性能问题,若发现存在性能问题,则找出响应时间不符合要求或者出现多个失败的事务,对其进行分解,然后对其进行网页细分,以确定影响性能的元素。
  编写测试报告
  测试指标:描述与测试场景对应的事务平均响应时间、事务吞吐率、资源消耗指标、运行的用户数等信息。
  结果分析与总结:根据测试目标,描述最后分析得到的结果,并给出相应的建议。
  常见性能测试工具介绍
  CompuWare 公司的QALoad
  Mercury Interactive公司的LoadRunner
  1、简介
  LoadRunner 是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能检测来确认和查找问题,能够对整个企业架构进行测试。通过使用Loadrunner,企业能够最大限度的缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner 能支持广范的协议和技术,功能比较强大,可以为特殊环境提供特殊的解决方案。
  2、特征
  1)轻松创建虚拟用户;
  2)创建真实的负载;
  3)定位性能问题;
  4)分析结果以精确定位问题所在;
  5)重复测试保证系统发布的高性能;
  6)支持Enterprise Java Beans的测试;
  7)支持无线应用协议;
  8)支持Media Stream应用。
  Microsoft公司的WAS
  RadView公司的WebLoad
  IBM公司的RPT
  开源工具:OPENSTA等。
  性能测试工具的选择(如何选择一种商业工具)
  需要注意的几点:
  工具是否支持被测系统运行的平台(软硬件环境、数据库环境);
  工具能否支持被测系统使用的协议;
  工具是否能够支持我们的特殊要求,如防火墙、负载均衡等;
  工具是否能够提供对我们关心的服务器类型计数器的监控;
  工具的价格。

分享到:
评论

相关推荐

    性能测试文档模板(实例)

    性能测试中常见文档有性能测试计划、性能测试用例、性能测试方案、性能测试报告,直接参照项目实例来编写,可以快速上手。 一、性能测试计划(实例).docx 二、性能测试用例(实例).docx 三、性能测试方案(实例)....

    软件测试 性能测试 性能测试报告 系统性能测试方案 性能测试经验 测试模板

    软件测试 性能测试 性能测试报告 系统性能测试方案 性能测试经验 测试模板 “苍蝇式的战斗精神”和“XX性能测试”.pdf Mercury性能测试模板.doc web项目测试实战性能测试结果分析样章.doc XX性能测试报告.pdf XX性能...

    《性能测试培训资料>》

    性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试...

    零成本实现Web性能测试:基于Apache JMeter

    本书首先介绍基础的性能测试理论,接着详细介绍如何使用jmeter完成各种类型的性能测试。实战章节中作者以测试某大型保险公司电话销售系统为例,手把手教会读者如何用jmeter来完成一个实际的性能测试任务。  本书...

    全栈性能测试修炼宝典JMeter实战

    首部分基础篇,主要讲解了当前性能测试状况及发展前景、性能测试的基础理论,让读者尽快入门学习;第二部分工具篇,讲解开源负载工具JMeter的体系结构、脚本开发、负载模拟、测试监听等内容,让读者可以从零开始学会...

    服务器性能测试报告.doc

    《无尽的爱纪念网》网站 性能测试报告 目 录 目 录 2 1、引言 3 1.1编写目的 3 1.2项目背景 3 1.3适用范围 4 1.4 参考资料 4 2、测试环境 4 2.1 硬件环境 4 2.2 软件环境 4 3、测试方针指导 5 4、测试内容 5 5...

    LoadRunner性能测试实战

    LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战

    性能测试理论基础及文档实例

    如果想要入门性能测试,必须掌握性能测试基础内容,像并发用户数、TPS、响应时间、吞吐率、资源利用率等性能指标,也要学会编写性能测试计划文档、性能测试方案、性能测试用例、性能测试报告等文档,更要掌握如何...

    便携式通风机安全性能测试分析系统

    根据通风机安全性能检测装备现状和煤矿安全生产实际需求,开发具有自主知识产权的便携式通风机安全性能测试分析仪、配套软件及数据库存储系统。分析了国内通风机安全性能参数测试的现状,其次介绍具有自主知识产权的...

    软件系统性能测试报告

    该文档详细描述压力测试过程、测试监控数据以及测试数据分析结论。 负载测试: 通过测试工具不断增大压力,查看系统性能表现的一个测试过程。 负载机:发送请求,生产测试压力的机器。

    性能测试培训PPT

    性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是...

    5.2.70、冷却塔性能检测报告.xls

    5.2.70、冷却塔性能检测报告

    Tencent性能测试工具GT

    Tencent性能测试工具GT

    软件性能测试方案

    软件性能测试方案 目录 前言 3 1第一章系统性能测试概述 3 1.1 被测系统定义 3 1.1.1 功能简介 4 1.1.2 性能测试指标 4 1.2 系统结构及流程 4 1.2.1 系统总体结构 4 1.2.2 功能模块描述 4 1.2.3 业务流程 5 1.2.4 ...

    Web性能测试实战

    第2章专门针对Web性能测试提出了“Web全面性能测试模型”,把制订性能测试策略、编写测试用例计划以及使用模型的方法融会在一起,提供了规划与设计性能测试的新思路。第3章进一步讨论了如何在项目中进行性能测试需求...

    WEB性能测试用例设计

    WEB性能测试用例设计。WEB性能测试用例设计。WEB性能测试用例设计。WEB性能测试用例设计。WEB性能测试用例设计。

    零成本实现WEB性能测试_基于APACHE JMETER_温素剑

    《零成本实现Web性能测试:基于Apache JMeter》是一本关于Web性能测试的实战书籍,读者朋友们在认真阅读完《零成本实现Web性能测试:基于Apache JMeter》后,相信能够将所学知识应用到生产实践中。《零成本实现Web性能...

    性能测试报告模板

    详尽的描述了性能测试报告如何写 对XX公司XX系统进行性能测试,客观、公正评估系统的性能现状。 1、开发正确有效的性能测试脚本,模拟最终用户操作行为,作为测试有效实施的基础; 2、通过性能测试,客观、公正评估...

    性能测试新手误区

    有过一些性能测试经验的人很容易进入此状态,他们已经熟悉了性能测试的基本流程,能够比较熟练的使用测试工具开展工作。我大概从事性能测试一年左右时遇到了这个问题,那时我觉得性能测试的过程没有太多挑战,遇到的...

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

    性能测试的概念是什么,基本目的是什么,我想大家都基本清楚,不作详述,总之,性能测试只是测试过程中的一种方式,帮助我们的功能更好的运行,如果功能测试是可用,易用,满足需求、用户使用为目的,性能测试无非...

Global site tag (gtag.js) - Google Analytics