性能测试(并发负载压力)测试分析-简要篇

发表于:2007-05-14来源:作者:点击数: 标签:分析性能测试并发性能测试
在论坛混了多日,发现越来越多的 性能测试 工程师基本上都能够掌握利用 测试工具 来作负载 压力测试 ,但多数人对怎样去分析工具收集到的测试结果感到无从下手,下面我就把个人工作中的体会和收集到的有关资料整理出来,希望能对大家分析测试结果有所帮助。

  在论坛混了多日,发现越来越多的性能测试工程师基本上都能够掌握利用 测试工具来作负载压力测试,但多数人对怎样去分析工具收集到的测试结果感到无从下手,下面我就把个人工作中的体会和收集到的有关资料整理出来,希望能对大家分析测试结果有所帮助。

  分析原则:

  • 具体问题具体分析(这是由于不同的 应用系统,不同的测试目的,不同的性能关注点)

  • 查找瓶颈时按以下顺序,由易到难

  服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器 操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)

  注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。

  • 分段排除法 很有效

  分析的信息来源:

  •1 根据场景运行过程中的错误提示信息

  •2 根据测试结果收集到的监控指标数据

  一.错误提示分析

  分析实例:

  1 •Error: Failed to connect to server “10.10.10.30:8080″: [10060] Connection

  •Error: timed out Error: Server “10.10.10.30″ has shut down the connection prematurely

  分析:

  •A、应用服务死掉。

  (小用户时:程序上的问题。程序上处理数据库的问题)

  •B、应用服务没有死

  (应用服务参数设置问题)

  例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的Aclearcase/" target="_blank" >cceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%

  •C、数据库的连接

  (1、在应用服务的性能参数可能太小了 2、数据库启动的最大连接数(跟硬件的内存有关))

  2 Error: Page download timeout (120 seconds) has expired

  分析:可能是以下原因造成

  •A、应用服务参数设置太大导致服务器的瓶颈

  •B、页面中图片太多

  •C、在程序处理表的时候检查字段太大多


  select(sum(gets-getmisses))/sum(gets) from v$rowcache;

  自由内存: select * from v$sgastat where name=’free memory’;

  2 如果数据的缓存命中率小于0.90,那么需要加大DB_BLOCK_BUFFERS参数的值(单位:块)。

  缓冲区高速缓存命中率:

  select name,value from v$sysstat where name in (’db block gets’,

  ‘consistent gets’,'physical reads’) ;

  Hit Ratio = 1-(physical reads / ( db block gets + consistent gets))

  3 如果日志缓冲区申请的值较大,则应加大LOG_BUFFER参数的值。

  日志缓冲区的申请情况 :

  select name,value from v$sysstat where name = ‘redo log space requests’ ;

  4 如果内存排序命中率小于0.95,则应加大SORT_AREA_SIZE以避免磁盘排序 。

  内存排序命中率 :

  select round((100*b.value)/decode((a.value+b.value), 0, 1, (a.value+b.value)), 2)from v$sysstat a, v$sysstat b where a.name=’sorts (disk)’ and b.name=’sorts (memory)’

  注:上述SQL ServerOracle数据库分析,只是一些简单、基本的分析,特别是Oracle数据库的分析和优化,是一门专门的技术,进一步的分析可查相关资料。

原文转自:http://www.ltesting.net