您的位置:首页 > 数据库

关于数据库性能事件的技术总结

2010-08-17 17:10 597 查看
1. 使用select * from sys.sysprocesses where spid > 50 and kpid <> 0查看当前有多少正在有对应线程的连接。在SQL Server中SPID大于50的连接表示用户连接,同时kpid表示对应的线程ID。当对应的连接需要有操作运行时,SQL Server会给它分配一个线程供给CPU调度。发现系统中当前已有分配线程的连接很少,说明当前系统比较空闲。

2. 使用select sum(open_tran) from sys.sysprocesses where spid > 50查看当前
系统中有多少的活动事务。当前系统中的活动事务只有50上下,并没有SQC报告的那么高。

3. 使用select * from sys.sysprocesses where spid > 50 and blocked <> 0查看当前系统中有没有阻塞。在SQL Server中,如果系统发生阻塞blocked列会填入阻塞其他连接的SPID。在当前的环境中,没有发现阻塞。

4. 在收集的PSSDIAG中,并没有发生任何的阻塞,系统整体上没有任何的性能相关瓶颈。

5. 在PSSDIAG提供的信息中,我们没有发现SQL Server有影响到我们应用程序的阻塞
(BLOCK),并且在PSSDIAG中经过统计,其中我们关注的UPDATE语句(排名第二),在10分钟抓取信息的过程中共执行了133565次,平均每条用时0.000807S。我们关注的SELECT语句(排名第四)共执行了133592次,平均每条执行时间0.000193S。另外一条INSERT语句未能排名前十。

6. 整体上来说,SQL Server中没有明显的性能瓶颈。所有相关的语句执行速度都很
快。如果抓取PSSDIAG时问题正在发生,从PSSDIAG看性能的问题应该不在SQL Server端。本文出自 “滴水穿石孙杰” 博客,请务必保留此出处http://xjsunjie.blog.51cto.com/999372/377472
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: