性能测试分析

性能测试分析

一、分析原则

1、根据场景运行过程中的错误提示;

2、根据收集到的监控指标数据;

3、分段排查便于快速定位问题。

分析实例一:


Error:Failed  to connect to server "192.168.1.43:8080":[10060] connection

Error:timed  out Error:server"192.168.1.43"has shut down the connection prematurely

A:应用服务死掉。

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

B:应用服务没有死。

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

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

C:数据库的连接

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

分析实例二:


Error:Page download timeout(120 seconds) has expired

A:可能应用服务参数设置太大导致服务器的瓶颈

B:可能是在主页面中图片太多

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

二、常用指标分析方法

1、内存

1、UNIX资源监控中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续走高,则内存可能是瓶颈,也可能是内存访问命中率低。

2、Windows 资源监控中,如果Process\Private Bytes计数器和Process\Working Set计数器的值在长时间内持续升高,同时Memory\Available bytes计数器的值持续降低,则很可能存在内存泄露。

瓶颈征兆:

1、很高的换页率(high pageout rate);

2、进程进入不活动状态;

3、交换区所有磁盘的活动次数很高;

4、很高的全局系统CPU利用率;

5、内存不够出错(out of memory errors)。

2、CPU

1、UNIX资源监控(windows操作系统同理)中指标CPU占用率(CPU utilization),如果该值持续超过95%,表明CPU是瓶颈。可以考虑增加一个处理器或者换一个更快的处理器。如果服务器专用与sql server,可接受的最大上限是80-85%,合理使用范围是60-70%。

2、windows资源监控中,如果System\Processor Queue Length 大于2,而处理器利用率(Processor Time)一直很低,则存在处理器阻塞。

瓶颈征兆:

很慢的响应时间(slow response time)

CPU空闲时间为零(zero percent idle CPU)

过高的系统占用CPU时间(high percent system CPU)

过高的用户占用CPU时间(high ercent user CPU)

长时间的有很长的运行进程队列(large run queue size sustained over time)

3、磁盘I/O

1、UNIX资源监控(windows操作系统同理)中指标磁盘交换率(Disk rate),如果该参数值一直很高,表明I/O有问题,可以考虑更换更快的硬盘系统。

2、windows资源监控中,如果Disk Time和Avg.Disk Queue Length的值很高,而Page Reas/sec页面读取操作速率很低,则可能存在磁盘瓶颈。

瓶颈征兆:

过高的磁盘利用率(high disk utilization)

太长的磁盘等待队列(large disk queue length)

等待磁盘I/O的时间所占的百分率太高(large percentage of time waiting for disk I/O)

太高的物理I/O速率:large physical  I/O rate(not sufficient in itself)

过低的缓存命中率(low buffer cache hit ratio(not sufficient in itself))

太长的运行进程队列,但CPU却空闲(large run queue with idle CPU)

三、oracle数据库

1、如果自由内存接近于0而且库快存或数据字典快存的命中率小于0.90,那么需要增加SHARED_POOL_SIZE的大小。

快存(共享SQL区)和数据字段快存的命中率:

select (sum(pins0reloads))/sum(pins) from v$librarycache;

select (sum(gets-getmisses-usage-fixed))/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语句优化的目标

1、去掉不必要的大表全表扫描;

2、检查优化索引的使用,这对于提高查询速度来说非常重要;

3、检查子查询,考虑SQL子查询是否可以用简单连接的方式进行重新书写;

4、调整PCTFREE和PCTUSED等存储参数优化插入、更新或者删除等操作;

5、考虑数据库的优化器;

6、在多个CPU的情况下考虑并行查询。

四、问题排查方法

查找瓶颈的难以程度,由易到难:

服务器硬件瓶颈->网络瓶颈->应用瓶颈->服务器操作系统瓶颈(参数配置)->中间件瓶颈(参数配置,数据库,web服务器等)。

时间: 2024-08-04 03:41:34

性能测试分析的相关文章

性能测试分析与性能调优诊断--史上最全的服务器性能分析监控调优篇

一个系统或者网站在功能开发完成后一般最终都需要部署到服务器上运行,那么服务器的性能监控和分析就显得非常重要了,选用什么配置的服务器.如何对服务器进行调优.如何从服务器监控中发现程序的性能问题. 如何判断服务器的瓶颈在哪里等 就成为了服务器性能监控和分析时重点需要去解决的问题了. 1     服务器的性能监控和分析 1.1      Linux服务器的性能指标监控和分析 1.1.1       通过vmstat深挖服务器的性能问题 1.1.2       如何通过mpstat 分析服务器的性能指标

性能测试培训:sql server性能测试分析局部变量的性能影响

poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的loadrunner的培训中,为了提高学员性能优化的经验,加入了很多服务器方面的优化知识,为性能调优的能力打下基础.今天sqlserver的性能测试方面的知识.(大家对课程感兴趣,请加qq:564202718) 性能测试的分析都有一定的方法和思路,这次我们来看看sqlserver方面的性能的知识. 数据库开发者在存储过程和脚本中使用局部变量,但是,局部变量会影响

浅谈性能测试分析

性能测试工程师基本上都能够掌握利用测试工具来作负载.压力测试,但多数人对怎样去分析工具收集到的测试结果感到无从下手,下面我就把个人工作中的体会和收集到的有关资料整理出来,希望能对大家分析测试结果有所帮助. 分析原则: 1. 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点) 2. 查找瓶颈时按以下顺序,由易到难. 服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句

Web网站性能测试分析及调优实例

1 背景   前段时间,性能测试团队经历了一个规模较大的门户网站的性能优化工作,该网站的开发和合作涉及多个组织和部门,而且网站的重要性不言而喻,同时上线时间非常紧迫,关注度也很高,所以对于整个团队的压力也非常大.  在此,把整个经历过程给大家分享一下,包括了主要包括了如何使用性能测试的压测工具,压测前的性能问题评估,以及压测执行后的性能问题分析.瓶颈定位.  该门户网站的服务器是放在华通和阿里云的平台上的,所以对华通和阿里共建的云平台安全及应急措施方面要求非常高,需要团队给予全力的保障和配合. 

Google PageSpeed Tools 性能测试分析

今天给大家介绍下一个工具:Google PageSpeed Tools,根据官方的介绍,简单梳理如下: Page Speed Insights能针对移动设备和电脑设备衡量网页的性能.该工具会抓取网址两次,一次是通过移动设备进行分析,另一次是通过桌面设备进行分析. PageSpeed得分范围是从0到100分.分数越高,代表性能越好.85分或更高分表明网页性能良好. PageSpeed Insights能根据以下内容衡量网页如何提升其性能: 首屏加载时间:从用户请求新页面到浏览器呈现首屏内容所用的时

性能测试分析过程(一)

某月黑风高之夜,某打车平台上线了一大波(G+)优惠活动,众人纷纷下单.于是乎,该打车平台使用的智能提示服务扛不住直接趴窝了(如下图).事后,负责智能提示服务开发和运维的有关部门开会后决定:必须对智能提示服务进行一次全面深入的性能摸底,立刻!现在!马上! 那么一大坨问题就迎面而来:对于智能提示这样的后台服务,性能测试过程中应该关心那些指标?这些指标代表什么含义?这些指标的通过标准是什么?下面将为您一一解答. 概述 不同人群关注的性能指标各有侧重.后台服务接口的调用者一般只关心吞吐量.响应时间等外部

Kafka性能测试分析

首先要特别感谢赵崇贺同学利用业余时间进行的压测,才能为本文提供专业的测试数据 一.测试环境准备 Cpu 内存 硬盘 Intel(R) Xeon(R) CPU E5520 @ 2.27GHz 32G 6T Kafka集群,服务器个数:3台 采用CMS垃圾回收 JVM运行参数 -Xmx1G -Xms1G -server -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBefo

真实性能测试案例之性能分析与报告

今天主要跟大家分享一个曾经所做的真实性能测试的案例,主要为其中性能测试分析报告过程部分,希望能对你以后怎么做性能分析和报告有所帮助.这个案例的测试目的为:在线考试为"XX平台"中的一个重要模块,根据目前业务的需要,需要测试在线考试能否支持100的并发量. 一.场景描述 采取逐步增加用户数(每10分钟增加用户数20人)对在线考试进行并发操作,达到100人为止:当并发数达到100后则继续运行一段时间(30分钟). 二.测试环境配置 1.测试服务器配置 经前面多轮配置测试及计数器观察分析(考

性能测试学习第十天-----性能案例分析之数据库性能问题

一.现象 /pinter/case/slow?userName=xxx tps很低,响应时间很长,数据库服务器cpu很高(接近100%),应用服务器负载比较低 索引 索引是对数据库表中一列或多列的值进行排序的一种结构,存储了表中的关键字段,使用索引可快速访问数据库表中的特定信息.类似于书籍中的目录.二.分析 数据库服务器CPU高,一般都是因为SQL执行效率低导致的,可能有三方面原因 1.数据库表缺少必要的索引: 2.索引不生效 3.SQL不够优化 三.慢查询 在MySQL中,可以监控SQL语句的