windows系统与SQL SERVER 2008数据库服务性能监控分析简要
软件系统性能测试体系流程介绍之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数据库服务性能监控分析简要的更多相关文章
- SQL Server添加MDW性能监控报表(转载)
10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...
- SQL Server添加MDW性能监控报表
10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...
- SQL SERVER - 谈死锁的监控分析解决思路
1 背景 1.1 报警情况 最近整理笔记,打算全部迁移到EVERNOTE.整理到锁这一部分,里边刚好有个自己记录下来的案例,重新整理分享下给大家. 某日中午,收到报警短信,DB死锁异常,单分钟死锁12 ...
- SQL Server 2008 镜像的监控 - Joe.TJ -
http://www.cnblogs.com/Joe-T/archive/2012/09/06/2673237.html
- SQL SERVER 2008 数据库隔离级别代码演示
SQL SERVER 2008 数据库隔离级别代码演示 个隔离级别(其实这是SQL 工业标) 种隔离级别,本身没有优劣之分,完全取决于应用的场景. 本质上,他们是在 隔离性(紊乱程度) 和 灵活性 ...
- 安装 SQL Server 2008 R2 的硬件和软件要求(转)
以下各部分列出了安装和运行 SQL Server 2008 R2 的最低硬件和软件要求.有关 SharePoint 集成模式下的 Analysis Services 的要求的详细信息,请参阅硬件和软件 ...
- 详解SQL Server 2008工具SQL Server Profiler
一.SQL Profiler工具简介 SQL Profiler是一个图形界面和一组系统存储过程,其作用如下: 1.图形化监视SQL Server查询: 2.在后台收集查询信息: 3.分析性能: 4.诊 ...
- SQL Server 2008空间数据应用系列二:空间索引(Spatial Index)基础
原文:SQL Server 2008空间数据应用系列二:空间索引(Spatial Index)基础 在前一篇博文中我们学习到了一些关于地理信息的基础知识,也学习了空间参照系统,既地球椭球体.基准.本初 ...
- SQL Server 2008数据库连接错误
以Windows身份连接SQL Server 2008数据库时,连接不上,出现如下报错画面: 解决办法:打开services窗口,找到名字类似于SQL Server (xxx)的服务,启动服务. 注: ...
随机推荐
- 百万年薪python之路 -- 基本数据类型练习
1.代码敲一遍,然后整理笔记 2.有变量name = "aleX leNb" 完成如下操作: 移除 name 变量对应的值两边的空格,并输出处理结果 name = "al ...
- Spring Cloud ---- 服务消费与负载均衡(feign)
feign是一个声明式的伪客户端,只需要创建一个接口并且注解,它具有可插拔的特性.feign集合了Ribbon,再与Eurake结合实现服务的注册发现与负载均衡.结合Hystrix,具有熔断功能. 1 ...
- 你真的了解 volatile 关键字吗?
今天,让我们一起来探讨 Java 并发编程中的知识点:volatile 关键字 本文主要从以下三点讲解 volatile 关键字: volatile 关键字是什么? volatile 关键字能解决什么 ...
- SpringCloud之Nacos服务发现(十七)
一 Nacos简介 Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现.配置和管理. Nacos主要提供以下四大功能: 服务发现与服务健康检查 Nacos使服务更容易注册自己并 ...
- ios swift多线程的实现 Multithreading
1.多线程的概念 Multithreading多线程是指从软件或硬件上,实现多个线程并发执行的技术.使得能够同步完成多项任务,提高资源使用效率. 1.1 任务.进程和线程 任务Task:应用程序完成的 ...
- 指定路径批量将xls转换成csv
PS : 用到spire库,.net控制台应用程序 其实本来没打算写这个工具的,只是最近需要用到,手头上正好没有这样的工具,那么怎么办,写呗! 其实说白了就是省事,策划想怎么玩,把表把工具丢给他,省得 ...
- Pytorch数据集读入——Dataset类,实现数据集打乱Shuffle
在进行相关平台的练习过程中,由于要自己导入数据集,而导入方法在市面上五花八门,各种库都可以应用,在这个过程中我准备尝试torchvision的库dataset torchvision.datasets ...
- python-->二进制的用法
1.10进制转换为其他进制 方法一:函数 十进制转二进制:bin(10) --> '0b1010' tpye:是字符串类型 0b:表示2进制 十进制转八进制:oct(10) --> '0o ...
- CSPS模拟 97
越来越弱了, 而且不如之前积极了,非常的颓废. 联赛前出现这种问题也是够我受的. T1 打表找规律失败.jpg 一直在找多项式规律,没找指数规律. T2 唉. T3 考虑到最多有n种颜色,考虑在线段树 ...
- CSPS模拟 42
T3数位$dp$还没改完啊 哭了 T1 对$DAG$里所有点求他能到达的点的数量 考试时算了$bitset$内存扛不住,yy了个线段树合并上去 没有A不是因为被卡了,而是数组又开小了.. 我以为不能卡 ...