软件系统性能测试体系流程介绍之windows系统与SQL SERVER 2008数据库服务性能监控分析简要

目前大部分测试人员对操作系统资源、中间件、数据库等性能监控分析都是各自分析各自的监控指标方式造成收集到各项性能指标数据无法完全对映出来组建性能问题最终无法及时准确定位问题。本次交流讨论主要是从操作系统、数据库的角度分别对的参数进行了分析,梳理参数关系,来充分发挥监控软件性能。
    对于windows系统和SQL SERVER数据库监控一部分人都喜欢使用loadrunner直接远程连接监控或者通过使用perfmon进行监控,两者监控收集的性能指标一样,只是如果使用LR是可以很好的的结合响应时间等以资源使用情况图合并等更好更形象的图形化分析,确实不错只是多了额外的网络等性能开销。

对于如何通过perfmon.exe对windows系统与SQL SERVER 2008数据库服务性能监控分析-------性能监控大部分人都会,但是对于少部分性能测试初学者他们对系统资源、中间件、数据库等性能监控分析都是各自分析各自的性能指标没有很好的把系统性能指标和数据库应对于得性能指标结合一起监控分析等方式造成收集到各项性能指标数据无法完全对映出来组建性能问题最终无法及时准确定位问题。因此对于从操作系统、数据库的角度出发分别对其各项性能指标参数进行了分析,梳理它们之间性能参数之间的关系,进而才能充分发挥性能测试监控诊断分析的优势才能更好的为性能优化提供有价值的参考依据。
  
 2.1 操作系统监控CPU与SQL SERVER
 CPU性能指标:Privileged Time:(CPU内核时间)是指处理线程执行代码所花时间的百分比。如果该参数值和“Physical Disk”参数值一直很高,表明I/O有问题。
   SQL compilations/sec,每秒的SQL编译数,表示编译SQL路径被引入的次数,包括需要重新编译的。
   SQL SERVER用户活动稳定后,该值也达到某一稳定状态值。
   recompilations/sec(每秒SQL重编译数)每秒的SQL重新编译数。计算重新编译被触发的次数。一般来说,重新编译计数器最好保持较低值。
  
   假如SQL SERVER数据库服务器的CPU值很高高,而没有抓取到相应影响CPU使用率的的SQL语句等这时可以尝试把该性能指标值加入
   监控范围内,查看该指标是否很高,如果很高说明系统在不断的编译,而影响服务器CPU资源的使用开销。
 2.2   内存与SQL SERVER:
    内存 sql server可使用的内存量是sql server性能最关键因素之一。而内存同i/o子系统的关系也是一个非常重要的因素。例如,在i/o操作频繁的系统中,sql server用来缓存数据的可用内存越多,必须执行的物理i/o也就越少。这是因为数据将从数据缓存中读取而不是从磁盘读取。同样,内存量的不足会引起明显的磁盘读写瓶颈,因为系统缓存能力不足会引起更多的物理磁盘i/o。
    这时可以利用system monitor检查sql server的buffer cache hit ratio计数器,如果命中率经常低于90%,就应该添加更多的内存。
    以及IO 与CPU 内存之间的互相影响关系等等

2.3 内存与IO性能指标结合分析问题:
   Page Reads/sec:这个值如果很高往往意味着内存存在瓶颈,如果这个值比较低,而%Disk Time 和Avg. Disk Queue Length比较高的话,则意味着瓶颈在磁盘
   磁盘、CPU、内存如何结合分析因为有时问题不是单一性而是连锁反应的,可能由于过多的页交换要使用大量的硬盘空间,因此有可能将导致将页交换内存不足与导致页交换的磁盘瓶颈混淆。
  
   建议在测试过程中不是每项指标都要去监控收集还有采集时间也要根据被测对象当时测试场景设计情况去划分(结合软件性能测试生命周期各阶段实施过程介绍中第一章节介绍的场景去设计监控场景),而且还要结合系统与应用软件的特性进行结合监控分析,才能更好的定位问题,如SQL Server与操作系统相关性,操作系统性能的好坏直接影响数据库的使用性能,如果操作系统存在问题,如cpu过载、过度内存交换、磁盘i/o瓶颈等,在这种情况下,单纯进行数据库内部性能调整是不会改善系统性能的。通过Windows NT的系统监视器(system monitor)来监控各种设备,发现性能瓶颈。
   如:数据库设计的好坏也直接影响系统资源的使用,如大量全表扫描检索数据最终导致CPU、I/O、内存、网络的使用。

--------以上只是简要介绍,如果有心研究的朋友可以多多结合学习数据库工作的机制原理,与操作系统之间的工作原理结合,就能更好的分析性能问题,当然离不开业务的分析和支持。当我们所测试的业务系统因为随着时间的流逝,数据量的增加而且业务数据最终是落地到磁盘中,最简单的某种业务的数据查询也是从磁盘中获取,因此磁盘是会被大量使用,然而磁盘的存取速度与内存和处理器相比要慢很多,如果在出现磁盘的争用可能显著的降低SQL SERVER的性能,因此对磁盘资源的使用瓶颈分析和解决能够显著地增进SQL SERVER性能,当然这是也要考虑数据库设计以及SQL写法等等--这些就是第三节介绍的《SQL SERVER 2008数据库服务性能监控分析优化方法》。

总之不是表示每次监控都是收集所有的各项指标来分析表示最好的。因为监控分析以及收集本身也是一个很大的性能开销,所以做为性能测试人员我们要设计合理的性能监控数据收集,以最小化监控工具对系统的影响。

windows系统与SQL SERVER 2008数据库服务性能监控分析简要的更多相关文章

  1. SQL Server添加MDW性能监控报表(转载)

    10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...

  2. SQL Server添加MDW性能监控报表

    10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...

  3. SQL SERVER - 谈死锁的监控分析解决思路

    1 背景 1.1 报警情况 最近整理笔记,打算全部迁移到EVERNOTE.整理到锁这一部分,里边刚好有个自己记录下来的案例,重新整理分享下给大家. 某日中午,收到报警短信,DB死锁异常,单分钟死锁12 ...

  4. SQL Server 2008 镜像的监控 - Joe.TJ -

    http://www.cnblogs.com/Joe-T/archive/2012/09/06/2673237.html

  5. SQL SERVER 2008 数据库隔离级别代码演示

    SQL SERVER 2008 数据库隔离级别代码演示   个隔离级别(其实这是SQL 工业标) 种隔离级别,本身没有优劣之分,完全取决于应用的场景. 本质上,他们是在 隔离性(紊乱程度) 和 灵活性 ...

  6. 安装 SQL Server 2008 R2 的硬件和软件要求(转)

    以下各部分列出了安装和运行 SQL Server 2008 R2 的最低硬件和软件要求.有关 SharePoint 集成模式下的 Analysis Services 的要求的详细信息,请参阅硬件和软件 ...

  7. 详解SQL Server 2008工具SQL Server Profiler

    一.SQL Profiler工具简介 SQL Profiler是一个图形界面和一组系统存储过程,其作用如下: 1.图形化监视SQL Server查询: 2.在后台收集查询信息: 3.分析性能: 4.诊 ...

  8. SQL Server 2008空间数据应用系列二:空间索引(Spatial Index)基础

    原文:SQL Server 2008空间数据应用系列二:空间索引(Spatial Index)基础 在前一篇博文中我们学习到了一些关于地理信息的基础知识,也学习了空间参照系统,既地球椭球体.基准.本初 ...

  9. SQL Server 2008数据库连接错误

    以Windows身份连接SQL Server 2008数据库时,连接不上,出现如下报错画面: 解决办法:打开services窗口,找到名字类似于SQL Server (xxx)的服务,启动服务. 注: ...

随机推荐

  1. 美团 iOS 端开源框架 Graver 在动态化上的探索与实践

    近些年,移动端动态化技术可谓是“百花齐放”,其中的渲染性能也是动态化技术一直在探索.研究的课题.美团的开源框架 Graver 也为解决动态化框架的渲染性能问题提供了一种新思路:关于布局,我们可以采用“ ...

  2. c# winform用sharpGL(OpenGl)解析读取3D模型obj

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11783026.html 自己写了个简单的类读取解析obj模型,使用导入类,然后new个对象,在 ...

  3. vue cli3.3 以上版本配置vue.config.js 及反向代理操作解决跨域操作

    const webpack = require('webpack') module.exports = { configureWebpack: { plugins: [ new webpack.Pro ...

  4. 热门开源网关的性能对比:Goku > Kong > Tyk

    不多说,先展示最后的性能测试结果 我们将Goku与市场上的其他同类热门产品进行比较,使用相同的环境和条件,测试以下产品:Goku.Kong.Tyk.简单介绍下, Goku API Gateway (中 ...

  5. 面向云原生的混沌工程工具-ChaosBlade

    作者 | 肖长军(穹谷)阿里云智能事业群技术专家   导读:随着云原生系统的演进,如何保障系统的稳定性受到很大的挑战,混沌工程通过反脆弱思想,对系统注入故障,提前发现系统问题,提升系统的容错能力.Ch ...

  6. 在移动硬盘中安装win10和macos双系统

    本文通过在SSD移动硬盘中安装win10和macos双系统,实现操作系统随身携带 小慢哥的原创文章,欢迎转载 目录 ▪ 目标 ▪ 准备工作 ▪ Step1. 清空分区,转换为GPT ▪ Step2. ...

  7. [Nginx]Ubuntu18.04 安装配置Nginx1.13.6+FastDFS

    一. 安装fastdfs依赖包 1. 解压缩libfastcommon-master.zip 2. 进入到libfastcommon-master的目录中 3. 执行 ./make.sh 4. 执行 ...

  8. 如何让elemengUI中的表格组件相同内容的单元格自动合并

    1. 前言 这两天在工作中遇到这样一个需求:将某个Excel中的数据在页面上以表格形式展示出来,并且尽量保持数据层级与Excel中一致.在原始Excel文件中,对每一行相同的数据都进行了合并,使得数据 ...

  9. 使用Typescript重构axios(十六)——请求和响应数据配置化

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  10. js中 对象名.属性名和对象名['属性名']的区别,.和[]的区别

    对象中的对象名[ ' 属性名 ' ] 和 对象名.属性名的区别 话不多少,上图分析,菜鸟刚学几个月,如有错误,欢迎大佬们指出 这里是很显而易见的! 然后我们用for in 对他进行遍历,他的区别就出来 ...