软件性能测试基本概念

软件性能测试基本概念

2023年7月11日发(作者:)

软件性能测试基本概念释疑

1、负载测试(Load Test)、压力测试(Stress Test)、容量测试(Capability Test)与性能测试(Performance Test)是什么关系?

性能测试是一个较大的范畴,包括负载测试、压力测试和容量测试。其中负载测试是为了检验系统在给定负载下是否能达到预期性能指标;压力测试是通过不断向被测系统施加“压力”,测试系统在压力情况下的性能表现;容量测试针对数据库而言,是在数据库中有较大数量的数据记录情况下对系统进行的测试.

2、性能测试过程中如何需要记录什么数据?

性能测试过程中,根据性能测试的不同类型和不同目标,记录的数据也不同.例如,对于一个以调优为目的的性能测试,可能需要重点关注测试过程中各可能的性能制约点(例如磁盘IO、网络拥塞状况、服务器内存使用情况、数据库使用情况等),通过对参数调整后的系统进行反复测试来找到制约性能的因素;而一个以验证为目的的性能测试可能会重点关注是否能达到性能指标要求,重点集中在用户体验上。

3、性能测试是否一定需要性能测试工具?

一般来说,性能测试由于需要模拟并发等操作,需要工具的支持才能进行较好的性能测试.但提到性能测试工具,不见得就是MI的LR或是Rational的LT,还有诸多的开源测试工具或是自己开发的工具都可以运用在性能测试中,只要工具能满足你的要求,就不必追求所谓最好最新的工具。

软件性能测试指标介绍

作为一家非盈利性机构,事务处理性能委员会(TPC)负责定义诸如TPC-C、TPC—H和TPC-W基准测试之类的事务处理与数据库性能基准测试,并依据这些基准测试项目发布客观性能数据。TPC基准测试采用极为严格的运行环境,并且必须在独立审计机构监督下进行。委员会成员包括大多数主要数据库产品厂商以及服务器硬件系统供应商。

相关企业参与TPC基准测试以期在规定运行环境中获得客观性能验证,并通过应用测试过程中所使用的技术开发出更加强健且更具伸缩性的软件产品及硬件设备.

TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目。这种基准测试项目将对包括查询、更新及队列式小批量事务在内的广泛数据库功能进行测试.许多IT专业人员将TPC—C视为衡量“真实”OLTP系统性能的有效指示器。

TPC-C基准测试针对一种模拟订单录入与销售环境测量每分钟商业事务(tpmC)吞吐量.特别值得一提的是,它将专门测量系统在同时执行其它四种事务类型(如支付、订单状态更新、交付及证券级变更)时每分钟所生成的新增订单事务数量.独立审计机构将负责对基准测试结果进行公证,同时,TPC将出据一份全面彻底的测试报告。这份测试报告可以从TPC

Web站点上获得.

tpmC定义: TPC-C的吞吐量,按有效TPC—C配置期间每分钟处理的平均交易次数测量,至少要运行12分钟。

1。TPC-C规范概要

TPC—C是专门针对联机交易处理系统(OLTP系统)的,一般情况下我们也把这类系统称为业务处理系统。

TPC—C测试规范中模拟了一个比较复杂并具有代表意义的OLTP应用环境:假设有一个大型商品批发商,它拥有若干个分布在不同区域的商品库;每个仓库负责为10个销售点供货;每个销售点为3000个客户提供服务;每个客户平均一个订单有10项产品;所有订单中约1%的产品在其直接所属的仓库中没有存货,需要由其他区域的仓库来供货。

该系统需要处理的交易为以下几种:

New-Order:客户输入一笔新的订货交易;

Payment:更新客户账户余额以反映其支付状况;

Delivery:发货(模拟批处理交易);

Order—Status:查询客户最近交易的状态;

Stock-Level:查询仓库库存状况,以便能够及时补货.

对于前四种类型的交易,要求响应时间在5秒以内;对于库存状况查询交易,要求响应时间在20秒以内.

逻辑结构图:

流程图:

2.评测指标

TPC—C测试规范经过两年的研制,于1992年7月发布。几乎所有在OLTP市场提供软硬件平台的厂商都发布了相应的TPC—C测试结果,随着计算机技术的不断发展,这些测试结果也在不断刷新。

TPC-C的测试结果主要有两个指标:

● 流量指标(Throughput,简称tpmC)

按照TPC的定义,流量指标描述了系统在执行Payment、Order-status、Delivery、Stock-Level这四种交易的同时,每分钟可以处理多少个New—Order交易.所有交易的响应时间必须满足TPC-C测试规范的要求。

流量指标值越大越好!

● 性价比(Price/Performance,简称Price/tpmC)

即测试系统价格(指在美国的报价)与流量指标的比值。

性价比越小越好!

3.结果发布

各厂商的TPC—C测试结果都按TPC组织规定的两种形式发布:测试结果概要(Executive Summary)和详细测试报告(Full Disclosure Report)。测试结果概要中描述了主要的测试指标、测试环境示意图以及完整的系统配置与报价,而详细测试报告中除了包含上述内容外,还详细说明了整个测试环境的设置与测试过程。

P690 tpmC测试值:76,389,839。00 $/tpmC:831。00

美国美金报价:6,349,223.0

CPU数:32

数据库:IBM DB2 UDB 8.1

操作系统:AIX 5L V5.2

中间件:TUXEDO 8。0

测试日期:2003.6。30

P690 TPC-C测试的配置:

1。 后台:1 x eServer pSeries 690 with 32 x 1.7GHz POWER4+ processors with

128MB L3 cache per MCM (total of four MCMs), 512GB memory

2. 前端:30 x eServer pSeries 630 Model 6E4 each with 4 x 1。0GHz POWER4 CPUs

with 32MB L3 cache, 16GB memory

SPECweb:

SPECweb96: 在SPECweb96基准测试程序上实现的每秒钟超文本传输协议(HTTP)操作最多次数,响应时间无明显退化.

SPECweb99: 接入数,网络服务器可用预先确定的工作量支持的同时接入数。SPECweb99检测设备模拟客户通过慢Internet联接,向网络服务器发送HTTP工作量请求。

SPECweb99 测试Web服务器运行状况

SPECweb99 是由标准性能评估组织(SPEC)开发的Web服务器基准测试.它测量满足特定吞吐量和客户请求响应速率要求的WEB服务器的最大并发连接数量。并发连接的合计波特率在320 Kbps到400Kbps范围内,则满足相应规范。

SPECweb99 在一台称为主客户端的机器上运行,这台机器上包含有允许用户加载特定负载请求的配置文件.主客户端也要处理在客户端和服务器或测试中的系统(SUT)之间的传输协调问题。客户端通过许多子进程/线程生成独立HTTP请求流,仿真足够的负载发送给SUT.图二表示客户端/服务器的层次关系。

图:典型的SPECweb99实验环境

在这个测试中,客户端向测试中的服务器发送请求数据。测试规范要求客户端和服务器之间的连接不能使用片段大小大于1460比特的TCP协议。因此,每一个客户端读取1460比特或更少数据块的响应。

浅谈性能测试中分析与调优过程的基本原则

前言:性能测试过程中的监测、分析及调优工作涉及到很多因素,在这里我们主要探讨有关分析与调优过程所涉及的基本原则,以供大家交流。

谈到性能问题,首先应该明确用什么方式或指标来反映系统性能,一般来说通过系统外部指标是其性能最直观的反映,其中包括:

1)响应时间—-单一业务执行过程中服务器的反馈时间

2)交易数——单位时间内系统执行交易的总数量

3)交易结果——交易结果正确率(如准确率、入库率等)

4)稳定性—-单位时间内的错误交易比例或长时间运行过程中

在不考虑用户因素的情况下,将上述外部指标反映到系统内部客观因素上,则涉及包括软硬件配置、系统设置、业务数据状况等等在内的一系列相关内容,具体可以理解为: 1)服务器CPU:包括CPU的数量、主频——CPU数量够不够用、速度够不够快;

2)服务器内存:内存大小——内存够不够大,内存结构是否适合使用需要;

3)服务器硬盘:硬盘容量、硬盘接口速率--硬盘/磁盘阵列吞吐能力是否影响数据交换;

4)网络带宽:网络接口速率——网络数据传输速度是否满足交易需要;

5)工作环境:操作系统、中间件、数据库等应用环境(如JDK版本)版本——操作系统、中间件、数据库及其它相关工作环境版本是否合适、配置是否合理;

6)应用系统自身:应用系统设计是否正确有效--是否还存在隐含缺陷功能点,交易执行过程是否合理,较易操作过程中是否浪费资源等;

7)系统数据:数据是否合理——当前系统中的数据是否满足用户需求和设计目标,数据量是否超出系统承受范围;

明确如何反映系统性能状况后,最主要的工作就是根据用户的需要对现有业务系统进行优化调试的过程。这里我们仅就系统性能调优的一般原则进行讨论,不做细节探讨:

1)情况许可时,应使用几种测试工具或手段分别独立进行测试,并将结果相互印证,避免单一工具或测试手段自身缺陷影响结果的准确性;

2)对于不同的系统,性能关注点是有所区别的,应该具体问题具体分析;

3)查找瓶颈的过程应由易到难逐步排查:

服务器硬件瓶颈及网络瓶颈(局域网环境下可以不考虑网络因素)

应用服务器及中间件操作系统瓶颈(数据库、WEB服务器等参数配置)

应用业务瓶颈(SQL语句、数据库设计、业务逻辑、算法、数据等)

4)性能调优过程中不宜对系统的各种参数进行随意的改动,应该以用户配置手册中相关参数设置为基础,逐步根据实际现场环境进行优化,一次只对某个领域进行性能调优(例如对CPU的使用情况进行分析),并且每次只改动一个设置,避免相关因素互相干扰;

5)调优过程中应仔细进行记录,保留每一步的操作内容及结果,以便比较分析;

6)性能调优是一个经验性的工作,需要多思考、分析、交流和积累;

7)了解“有限的资源,无限的需求”;

8)尽可能在开始前明确调优工作的终止标准。

性能调优是一个复杂的过程,需要经验和技巧,更需要耐心和毅力。学习性能调优不是一蹴而就的,只有通过不断学习和深入对系统的理解,才能在进行调优过程中设计合理的方案、明确症结所在,并处以相应优化措施,达到调优工作的最终目的。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689028302a197308.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信