仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 944|回复: 8
打印 上一主题 下一主题

[学习教程] 运转的MSSQL体系俄然变慢了,应当怎样往排查

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:07:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。扫除硬件成绩,体系变慢了,起首你必要确认是某个特定的操纵变慢了,仍是一切的操纵都变慢。
1,假如是某个特定的操纵变慢了。
1.1,是使用程序变的成绩变慢了,仍是数据库的成绩酿成的。
这个能够用TierInteractionProfiler来断定,能够看到哪些functioncall消费了最多的工夫。
http://blogs.msdn.com/b/habibh/archive/2009/06/30/walkthrough-using-the-tier-interaction-profiler-in-visual-studio-team-system-2010.aspx

假如经由过程下面的办法发明消费工夫最多的functioncall,来判别谁人functioncall是否是对数据库的会见。
假如不是,那就是使用程序的成绩了,这个能够对function举行codereview大概间接用WINDBG跟SOS来profiling,这部分的器材长短常庞大的,
也不在本主题的会商会见,以是不在此做过量的注释。
假如是某个会见数据库的办法占了很年夜工夫,那就检察对应的T-SQL大概SP。

然后就是对特定的SP大概T-SQL举行诊断了。
这个也分为2个范例,
一个是SP大概T-SQL自己的成绩,这个就是对它们本身举行调优。
另外一个是外界要素酿成的,好比说LOCK,大概CPU资本大概是memory资本酿成的,
这个我们能够profiling特定的SP大概T-SQL,看看他们工夫究竟花在那里,这个时分就要用XE来查找究竟瓶颈在那里,好比说在守候甚么资本,详细的你能够看一下:
上面链接中103楼的做法,看看工夫究竟花在那里,然后做响应的操纵。
http://bbs.csdn.net/topics/390505826?page=2

2,假如做甚么操纵都很慢。
起首要看一下,使用程序服务器的资本情形,看看它们是否是很严重,好比说CPU,memory,IO的相干情形。
然后用ETW看检察,究竟是哪些办法花了良多的工夫,详细的参考。
http://msdn.microsoft.com/en-us/magazine/cc163437.aspx
http://www.codeproject.com/Articles/570690/Application-Analysis-with-Event-Tracing-for-Window
找到那些办法后,然后你就晓得是使用程序的成绩仍是DB的成绩。

假如是DB的成绩,
第一步:就是查那些占用了资本最多的那些TOP的SPT-SQL.
这个能够经由过程上面的whitepaper查找。
TroubleshootingPerformanceProblemsinSQLServer2008
http://download.microsoft.com/download/D/B/D/DBDE7972-1EB9-470A-BA18-58849DB3EB3B/TShootPerfProbs2008.docx
第二步:在办理了下面的那些TOP的SQL以后,能够再查一下waitSTATISTICS的成绩。这个也是个很庞大的话题,详细的能够参考
http://download.microsoft.com/.../Performance_Tuning_Waits_Queues.doc?

固然另有些成绩是程序的呈现逝世锁,大概锁之类的,大概逝世轮回,这些都能够用WINDBG找出来。

最初,不管是你使用程序程序员仍是DBA,假如你善用一些debugging大概profiling工具,好比说WINDBG大概ETW,
那几近能够troubleshooting任何你觉得很奇异大概很难明决的成绩。如果WHERE子句的查询条件里使用比较操作符LIKE和REGEXP,MySQL只有在搜索模板的第一个字符不是通配符的情况下才能使用索引。比如说,如果查询条件是LIKEabc%‘,MySQL将使用索引;如果查询条件是LIKE%abc’,MySQL将不使用索引。
老尸 该用户已被删除
沙发
发表于 2015-1-18 11:58:14 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
活着的死人 该用户已被删除
板凳
发表于 2015-1-26 13:13:34 | 只看该作者
呵呵,这就是偶想说的
金色的骷髅 该用户已被删除
地板
发表于 2015-2-4 20:05:33 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
飘灵儿 该用户已被删除
5#
发表于 2015-2-10 06:26:33 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
简单生活 该用户已被删除
6#
发表于 2015-3-1 01:56:22 | 只看该作者
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
小妖女 该用户已被删除
7#
发表于 2015-3-10 12:28:34 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
谁可相欹 该用户已被删除
8#
发表于 2015-3-17 07:11:09 | 只看该作者
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
柔情似水 该用户已被删除
9#
发表于 2015-3-24 02:11:52 | 只看该作者
所以你总能得到相应的升级版本,来满足你的需求。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-6 17:12

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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