设为首页 收藏本站
查看: 786|回复: 0

[经验分享] 第四章——SQLServer2008-2012资源及性能监控(1)

[复制链接]

尚未签到

发表于 2016-5-23 11:23:06 | 显示全部楼层 |阅读模式
  性能优化的第一步是发现问题,而发现问题通常又有两类:突发问题的侦测和常规问题的侦测,对于常规问题的侦测,通常需要有一个长效的性能监控作为依据。
  
  本系列文章介绍


  • 服务器性能监控
  • CPU使用率监控
  • 内存使用率监控
  

前言:
  当由于劣质的查询写法、缺失必要的索引或者数据库级别的其他情况所导致的性能问题时,可以通过使用执行计划、DMVs/DMFsSQL Trace或者数据库引擎顾问(DTA)这些手段来查找问题的根源。
  
   但是,如果性能问题发生在硬件或者操作系统级别(如CPU/内存/IO/网络问题等),就要使用一些复杂的工具来协助你找到性能问题。因为这些进程运行在操作系统层面。
  
   对于Windows server 2008R2Windows 7这类新的操作系统,可以使用一个叫性能监视器(Performance Monitor),也叫可靠性和性能监视器(Reliability
and Perfomance Monitor
)来实现更有效的监控。

  
  Windows中,有三个工具可以用来监控性能:
  1、
资源监视器(Resource Monitor

  2、
性能监视器(Perfomance Monitor

  3、
可靠性监视器(Reliability Monitor

  
  资源监视器提供一个快速、实时及图形化界面来显示包括CPU、内存、I/O和网络使用情况的信息,可以监视和检查所有当前运行在机器上的进程的这部分信息。并可以通过这个工具来结束你认为对性能有潜在风险的进程。
  
  性能监视器提供实时性能监控的图形化界面工具,可以使用上百种性能计数器来跟踪性能数据。并把数据存放到文件中供进一步分析所用。
  
  可靠性监视器同样提供图形化界面,通过计算系统一段时期内的稳定性索引,来分析系统的稳定程度。任何的问题都会降低这些系统稳定性索引。
  
  这三种工具公用一个接口——微软管理控制台(MMC),可以合起来查看。可靠性和性能监视器合成了这三个工具的的所有功能。
  
  在本系列文章中,将熟悉资源监视器、可靠性和性能监视器,并演示如何使用这些工具来检查和监控硬件资源的性能。
  

监视服务器性能
  
   当用户反应SQLServer所在的服务器响应速度非常慢时,将优先使用什么工具来快速查看服务器性能?
  
   在过去,可能会使用任务管理器来实现,但是在今天,可以使用更强大的工具来查看服务器资源。也就是资源监视器。
  
  本文将给出一个如何使用资源监视器来监控硬件资源及服务器性能的快速入门。
  

准备工作:
  
  1、
开发版或者企业版的SQLServer20082012

  2、
安装在Windows操作系统上的资源监视器。从Windows Server 2008R2或者Windows7以后才出现。

  3、
微软示例数据库AdventureWorks

  

演示步骤:
  
  1、
打开资源监视器,方法:在【运行】中输入resmon.exe或者用快捷键Windows+R来输入。

  
  2、
通过下图可以看到资源监视器有5个选项页。第一个为概述页。可以查看服务器的整体性能。

DSC0000.png
  
  3、
如果想查看SQLServer服务所使用的CPU情况,可以点击第二个选项页【CPU】,并找到进程名为:sqlservr.exe的那一行。点击第一个窗口之后,下面的窗口会显示出相应的资源。如图:

  
DSC0001.png
  
  4、
如果想查看SQLServer使用的内存情况,可以使用步骤3中的方法,在第三个选项页【内存】中查看,如图:

  
DSC0002.png
  
  5、
如果要检查服务器上活动的磁盘I/O,可以选择选项页【磁盘】,因为在前面已经选择了sqlservr.exe进程,所以这个页面显示的将会是SQLServer服务所引起的I/O活动。可以连到SSMS中,输入以下脚本:

  

USE AdventureWorks
GO
SELECT  *
FROM    Sales.SalesOrderDetail WITH ( NOLOCK )
GO

  

  6、
马上切换回资源监视器。将会看到有I/O操作作用于AdventureWorks数据库文件上,如图:

  

  
  

分析:
  
  本文中直观地展示了资源监视器的使用,资源监视器提供了CPU、内存、磁盘IO、网络方面的资源使用情况信息,它分成5个部分来展示相关信息:
  
  1、概述:提供了其他4个选项页中包含的服务器资源信息。当你发现产生性能问题的进程后,可以从这里结束掉。
  
  2、CPU:这个选项页提供CPU使用的百分比信息,也显示在概述页中显示的每个进程的详细CPU信息。并可以看到对应进程的服务、关联句柄及关联模块。在右边,还能看到试试的图形化的所有可用CPU的实时情况。如果你找到CPU使用率非常高,就应该检查是什么使用着这些CPU资源。
  
  3、内存:这个选项页显示内存使用情况。可以找到系统有多少内存、多少内存已经在使用、多少内存空闲。还提供了每个进程的内存消耗情况。资源监视器的最大优势是可以通过勾选特定进程来获取相应的资源信息。
  
  4、磁盘:这个选项页是显示各个进程对应的磁盘I/O活动,通过Read(B/Sec)Write(B/Sec)列,可以看到特定进程的IO情况。同时也可以看到某些文件上的IO活动。右边显示当前IO的实时情况。
  
  5、网络:显示出当前网络使用情况。可以看到所有TCP连接所对应的不同的进程,也可以筛选特定进程。
  

扩展信息:
   通过使用资源监视器,可以快速定位消耗硬件资源的进程。同时可以查看网络方面的瓶颈。在SQLServer生产环境中,如果你发现某些进程、应用程序耗费的资源比SQLServer还多,并已经影响到SQLServer的性能,你可以考虑把这些经常或者应用程序移到别的服务器,以使得SQLServer的性能不会收到太大的影响。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-220698-1-1.html 上篇帖子: 2012年软件开发者薪资调查报告 下篇帖子: 2012年前25个面试怪题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表