坚持到底!测试到底!
SQL Server 2005性能测试实践 - CPU篇(1)
上一篇 /
下一篇 2007-02-07 16:09:54
摘自CSDN
/AN
@[y$~0
jEXZ/pc+J8h0如果在没有额外复杂条件下突然出现CPU瓶颈,有可能是因为没有优化查询,错误的数据库配置,或者是数据库设计上的原因和硬件资源不足引起。在决定采用增加CPU数量或者使用更快速的CPU之前,应该先检查消耗CPU资源最多的操作是否能够被优化51Testing软件测试网a8w6bEv;t,H*G2Hd\;hp
{Hyz(A
us0如果发现性能计数器Processor: % Processor Time的值很高,每一个CPU的% Processor Time都超过80%时,可视为出现CPU瓶颈。也可以通过视图sys.dm_os_schedulers监视SQL Server的进程调度(schedulers)来确认可执行的任务是否为非零值。非零值表示任务被迫等待时间片来运行,如果这个数值非常高,说明存在CPU瓶颈。
GS3n$o!p
z~v051Testing软件测试网H tT
Gl^"B
Select scheduler_id,current_task_count,runnable_task_count from sys.dm_os_schedulers where scheduler_id<25551Testing软件测试网/xm*}x,T}r*eHi
51Testing软件测试网6qthxlH.@a.`
下面的查询将给出一个较高层的视图来说明当前被缓存的消耗CPU资源最多的批处理或者过程。查询通过相同查询句柄的所有语句合计CPU的消耗情况。
&S3p*j2Ur0
be:rkF N\#o0Ys0Select top 50 sum (qs_total_worker_time) as total_cpu_time,sum(qs.execution_count) as total_execution_count, count(*) as number_of_statements,qs.plan_handle from sys.dm_exec_query_stats qs group by qs.plan_handle order by sum(qs.total_worker_time) desc