<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>How do you measure CPU pressure?  </title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx</link><description>It is important to understand whether CPU pressure is affecting SQL Server performance. This is true even in the case where SQL Server is the only application running on a particular box. The System object Perfmon counter Processor Queue length is not</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: How do you measure CPU pressure?  </title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#462016</link><pubDate>Wed, 07 Sep 2005 20:14:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:462016</guid><dc:creator>Darryl Dreiling</dc:creator><description>Tom,&lt;br&gt;&lt;br&gt;Very interesting and timely in our case!  We are right now looking at CPU utilization in our organization and this is sure helpful.  One question though, I know it’s hard to give specifics, but in orders of magnitude how much is a significant percentage?  Is 80% too high, 50%...more than 30%?  &lt;br&gt;&lt;br&gt;Thanks for the insight!&lt;br&gt;&lt;br&gt;Darryl&lt;br&gt;</description></item><item><title>re: How do you measure CPU pressure?  </title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#462250</link><pubDate>Thu, 08 Sep 2005 05:42:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:462250</guid><dc:creator>marksou</dc:creator><description>Hello Darryl,&lt;br&gt;It is difficult to say what CPU utilization is the right number.  For example if you are running an active/active cluster then you definitely want to run less than 45% CPU so when you fail over you have no problem handling the workload.   A better thing to do is to use CPU pressure as a guide as Tom Davidson states above.  Also you should look at what I call good CPU vs bad CPU.  CPU is either user time(good) or privledge time(also known to some as kernal time).  User time is the CPU is doing actual work like sorting, etc.  Privledge time is CPU wait time.  You could be waiting on IO completion, context switching or some other activity outside of user time.&lt;br&gt;So,  look at user time and look at CPU pressure as a better guide.  Also ,  don't run at 100% :)</description></item><item><title>re: How do you measure CPU pressure?  </title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#462469</link><pubDate>Thu, 08 Sep 2005 19:39:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:462469</guid><dc:creator>Darryl Dreiling</dc:creator><description>Mark, &lt;br&gt;&lt;br&gt;Thanks for the update and the additional information.  I will definitely use this for additional analysis.  However, my original comment was misleading, my bad.  What I was actually talking about was CPU Pressure, not CPU utilization.  Tom writes in his post “if Signal Waits are a significant percentage of total waits” then you may be experiencing CPU Pressure.  This is great information, but I am not sure what “significant” means with respect to Signal Waits and Total waits.  For example, monitoring my SQL Server with DBCC SQLPERF (WAITSTATS), I see that 31% of my total waits are Signal Waits.  How do I tell if that is significant for my system?&lt;br&gt;&lt;br&gt;Thanks again guys!&lt;br&gt;&lt;br&gt;Darryl&lt;br&gt;</description></item><item><title>re: How do you measure CPU pressure?  </title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#464179</link><pubDate>Tue, 13 Sep 2005 00:34:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:464179</guid><dc:creator>Stuart Ozer</dc:creator><description>Darryl --&lt;br&gt;&lt;br&gt;The percentage of the total wait time is not very helpful in decising whether signal wait is significant.  To asses that, compare total signal wait time to total processing time available per cpu in the interval.  &lt;br&gt;&lt;br&gt;You will need to look at the total signal wait time on the system during a specific sample period of time (say, 1 minute or 5 minutes). If you see Signal Wait Time total 100% of the sample time (say, 60,000 msec during a 60-second sample), that tells you that you could fill up an additional CPU with work.  If it is 200% then you could probably put 2 additional CPUs to work.  Under 10% is probably below the radar.&lt;br&gt;&lt;br&gt;Stuart</description></item><item><title>re: How do you measure CPU pressure?  </title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#467857</link><pubDate>Thu, 15 Sep 2005 22:58:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:467857</guid><dc:creator>thomasda</dc:creator><description>Hi Darryl,&lt;br&gt;&lt;br&gt;Signal waits represent the time everyone waits for CPU and are thus unavoidable to some extent in a high concurrency system.  &lt;br&gt;&lt;br&gt;When you compare signal to total wait time this just establishes how much of your total is completely dependent on CPU availability as opposed to other resources.&lt;br&gt;&lt;br&gt;The best questions you must ask when looking at cpu waits are:&lt;br&gt;1. How much cpu latency is acceptable?  Say your signal waits are 30% for a given INTERVAL of time.  Is it acceptable to have performance variations that AVERAGE 30% based on CPU? What about the interval? If you measure the busiest 15 minute interval, you may have high signal waits.  But if you measure over a longer period say 2 hours, you may have a much lower average. &lt;br&gt;&lt;br&gt;2. Is the total ms or percentage significant?  &lt;br&gt;For example, 50% looks like a high percentage but if the number of milliseconds is very small to start with, you discount the significance of it.  &lt;br&gt;&lt;br&gt;The old sanity test still applies as to whether the percentage is significant or not.  It is an interesting question but absolute numbers are hard to make because you have to factor in significance &amp;amp; the time interval.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tom Davidson</description></item><item><title>re: How do you measure CPU pressure?  </title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#494449</link><pubDate>Fri, 18 Nov 2005 18:24:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:494449</guid><dc:creator>mcrowley</dc:creator><description>For SQL 2000, would the above script be:&lt;br&gt;&lt;br&gt;[code]&lt;br&gt;create table #tempwaits&lt;br&gt;(type varchar(40),&lt;br&gt;requests int,&lt;br&gt;waittime numeric(19,3),&lt;br&gt;signalwaittime numeric(19,3))&lt;br&gt;&lt;br&gt;dbcc sqlperf (waitstats, clear)&lt;br&gt;go&lt;br&gt;waitfor delay '000:01:00'&lt;br&gt;&lt;br&gt;&lt;br&gt;insert into #tempwaits&lt;br&gt;exec ('dbcc sqlperf (waitstats)')&lt;br&gt;&lt;br&gt;select sum(signalwaittime) as &amp;quot;Signal Wait Time&amp;quot;,&lt;br&gt;	100.0 * (sum(signalwaittime)/sum(waittime)) as &amp;quot;%cpu waits&amp;quot;,&lt;br&gt;	sum(waittime - signalwaittime) as &amp;quot;Resource Wait Time&amp;quot;,&lt;br&gt;	100.0 * (sum(waittime - signalwaittime)/sum(waittime)) as &amp;quot;% Resource Waits&amp;quot;&lt;br&gt;from #tempwaits&lt;br&gt;[/code]</description></item><item><title>re: How do you measure CPU pressure?  </title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#497021</link><pubDate>Fri, 25 Nov 2005 22:11:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:497021</guid><dc:creator>Magarity Kerns</dc:creator><description>On a related note, I've heard much conflicting information about Intel CPUs with their Hyperthreading architecture versus SQL Server.  Whether to leave it on or disable it, etc.  Can you address this in a future posting?</description></item><item><title>How to Troubleshoot SQL Server 2000 Performance Problems</title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#750966</link><pubDate>Tue, 12 Sep 2006 22:07:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:750966</guid><dc:creator>Practical SQL Server</dc:creator><description>If you are having trouble performance tuning SQL Server 2000, there is one whitepaper you need.&amp;amp;amp;nbsp;...</description></item><item><title>CPU Pressure is Huge, But Where is the Wait?</title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#1388435</link><pubDate>Sun, 31 Dec 2006 10:35:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1388435</guid><dc:creator>Linchi Shea</dc:creator><description>&lt;p&gt;SQL Server waits enable you to identify where SQL Server is spending a lot of time doing nothing but&lt;/p&gt;
</description></item><item><title>re: How do you measure CPU pressure?  </title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#1612182</link><pubDate>Tue, 06 Feb 2007 17:55:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1612182</guid><dc:creator>jcarlossaez</dc:creator><description>&lt;p&gt;And what about the deviation caused by wait types such as LAZYWRITER_SLEEP. Clearly, this wait should not been included in the calculation (as you can read in BOL describing dm_os_wait_stats view).&lt;/p&gt;
&lt;p&gt;My question is, how many other wait types should be excluded from this calculation? Perhaps also waits related to backup devices?&lt;/p&gt;
</description></item><item><title>SQLServerPedia &amp;raquo; Scheduler Yields = CPU Pressure&amp;#8230;or do they?</title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#7580921</link><pubDate>Sun, 10 Feb 2008 15:36:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7580921</guid><dc:creator>SQLServerPedia » Scheduler Yields = CPU Pressure…or do they?</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://sqlserverpedia.com/blog/?p=229"&gt;http://sqlserverpedia.com/blog/?p=229&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>SOS_SCHEDULER_YIELD</title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#8503476</link><pubDate>Wed, 14 May 2008 19:11:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8503476</guid><dc:creator>Kevin Kline</dc:creator><description>&lt;p&gt;You might encounter a situation, under a very heavy workload, where processing for certain transactions&lt;/p&gt;
</description></item><item><title>Context Switching Through the Roof | keyongtech</title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#9361070</link><pubDate>Thu, 22 Jan 2009 04:21:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9361070</guid><dc:creator>Context Switching Through the Roof | keyongtech</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.keyongtech.com/2163609-context-switching-through-the-roof"&gt;http://www.keyongtech.com/2163609-context-switching-through-the-roof&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Microsoft SQL Server Development Customer Advisory Team How do you | Shed Kits</title><link>http://blogs.msdn.com/sqlcat/archive/2005/09/05/461199.aspx#9644094</link><pubDate>Wed, 27 May 2009 12:07:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9644094</guid><dc:creator> Microsoft SQL Server Development Customer Advisory Team How do you | Shed Kits</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://backyardshed.info/story.php?title=microsoft-sql-server-development-customer-advisory-team-how-do-you"&gt;http://backyardshed.info/story.php?title=microsoft-sql-server-development-customer-advisory-team-how-do-you&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>