性能测试进阶-学习笔记2 性能测试基础

1.性能指标:

1.1响应时间:响应时间反映完成某个业务所需要的时间。

在性能测试中是通过事务函数来完成对响应时间的统计,事务是指做某件事情的操作,事务函数会记录开始做这件事情和该事情做完之间的时间差,使用transaction response time这个词来说明,也称为事务响应时间。

1.2吞吐量:吞吐量反映单位时间内能够处理的事务数目。

在性能测试工具中,吞吐量也被称为TPS(transaction per second,每秒事务数)也就是说在单位时间内能完成的事务数目。TPS的计算一般是通过的事务数除以时间。

1.3服务器资源占用:服务器资源占用反映在负载下系统的资源利用率。资源的占用率越低,说明系统越优秀。资源并不仅仅指运行系统的硬件,而是支持整个系统运行程序的一切软硬件平台。

对于一个系统而言,需要尽可能保证每一个操作的响应时间在5秒以内。

2.单机与网络性能测试:

2.1针对单机软件性能测试需要关注的目标一般为:

(1)业务处理的时间

(2)是否存在内存泄漏?有没有申请一些没必要的资源?资源的释放是否完全?

(3)最低或者建议的配置如何,给出推荐值。

可使用QTP或者rational purify来进行测试。

2.2针对网络架构的软件性能测试需要关注的目标一般为:

(1)系统的最大处理能力

(2)系统在各个负载情况下的处理能力

(3)系统能否进一步调优

3.性能测试的流程

step1通过需求分析得到性能测试需求

step2选择性能测试工具,在进行性能测试前要对性能测试工具进行可行性分析

step3设计性能测试,包括性能测试脚本的开发、负载的生成规则及监控方式、测试环境的搭建等

step4进行负载,在负载过程中和负载后要对相关数据进行分析,找出数据背后的问题,确定性能瓶颈

step5确定瓶颈后,进行软硬件方面的调优工作,调优完成后,重新进行前面的步骤,确认调优的效果是否达到了预期目标

4.性能分析与调优原理

性能测试的目的是评估当前系统性能指标,分析定位解决性能瓶颈,预防规避性能风险。

性能分析是为了确定导致性能瓶颈的原因,而调优就是用来解决性能瓶颈。

4.1性能分析的方法如下:

(1)指标达成法

将性能测试结果与用户需求比较,如果达到用户需要则测试通过。

(2)最优化分析法

通过分析并消除系统性能瓶颈,使系统的处理能力最大化,系统资源实现充分利用。

4.2性能调优方法

(1)应用程序诊断

应用程序诊断是性能测试的最初目的。通过模拟多用户操作形成负载,检查应用程序是否能够满足用户的性能需求,如不能满足,则定位应用瓶颈,并寻找解决瓶颈的方法,确保系统在修正后能够满足用户需求。

(2)系统调优

在系统调优中最基本的目标是为了满足用户,而进一步的要求是超越自己,需要做的是让系统比以前更加优秀的运行。通过生成负载,对测试结果进行分析,并且准备大量的软硬件环境进行迭代测试,找出影响性能的要素,最终提升系统的性能。

4.3常见系统性能瓶颈

(1)硬件上的性能瓶颈

一般指CPU、RAM方面的问题,分为服务器硬件瓶颈、网络瓶颈、服务器操作系统瓶颈(参数配置)、中间件瓶颈(参数配置、数据库、Web服务器等)、应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)。

(2)应用软件上的性能瓶颈

一般指的是应用服务器、Web服务器等应用软件,还包括数据库系统。

(3)应用程序上的性能瓶颈

一般指的是开发人员新开发出来的程序。

(4)操作系统上的性能瓶颈

一般指的是windows、UNIX、Linux等操作系统。

(5)网络设备上的性能瓶颈

一般指的是防火墙、动态负载均衡器、交换机等设备。

4.4一般性能问题调优步骤

step1确定问题

1)应用程序代码:对于发现瓶颈的模块,首先应该检查一下代码。

2)数据库配置:经常引起整个系统运行缓慢,一些诸如Oracle的大型数据库都是要DBA进行正确的参数配置才能投产的。

3)操作系统配置 :不合理就可能引起系统瓶颈。

4)硬件设置:硬盘速度、内存大小等都是容易引起瓶颈的原因,因此都是分析的重点。

5)网络:网络负载过重导致网络冲突和网络延迟。

step2确定原因

step3确定调整目标和解决方案。

提高系统吞吐量,缩短响应时间,更好地支持并发。

step4测试解决方案

对通过解决方案调优后的系统进行基准测试。

step5分析调优结果

系统调优是否达到或者超出了预定目标?系统是整体性能得到了改善,还是以牺牲某部分性能来解决其他问题。调优是否可以结束。如果达到预期目标,调优就可以结束了。

4.5性能问题分析原则

原则1:把事实和推测分开,总是用实际的证据来证明推测。

原则2:在没有足够证据之前不对程序进行优化。

原则3:优先验证简单的假设。

原则4:日志文件中没有错误,不代表真的没有错误。

原则5:从系统到应用、从外到内进行层层剥离,缩小范围。确认是系统级问题还是应用级问题;确认是否为外部系统问题(如密码鉴权问题、EJB问题等);确定是应用程序问题还是数据库问题。

原则6:缩小范围后,再分割成多个小单元,对每个小单元反复进行严厉测试,来确定是哪个单元引起性能问题。

4.6性能调优应该注意的要点

要点1:在应用系统设计和开发中,始终把性能放在考虑的范围内;

要点2:确定清晰明确的性能目标是关键;

要点3:必须保证调优后的程序运行正确;

要点4:系统的性能更大程度上取决于良好的设计,调优技巧只是一个辅助手段;

要点5:调优过程是迭代渐进的过程,每次调优的结果都要反馈到后续的代码开发中去;

要点6:性能调优不能以牺牲代码的可读性和可维护性为代价。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值