<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Response-time optimization in systems that are queued</title>
	<atom:link href="http://www.xaprb.com/blog/2009/12/09/response-time-optimization-in-systems-that-are-queued/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xaprb.com/blog/2009/12/09/response-time-optimization-in-systems-that-are-queued/</link>
	<description>Stay curious!</description>
	<lastBuildDate>Mon, 06 Sep 2010 10:31:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Shlomi Noach</title>
		<link>http://www.xaprb.com/blog/2009/12/09/response-time-optimization-in-systems-that-are-queued/#comment-17546</link>
		<dc:creator>Shlomi Noach</dc:creator>
		<pubDate>Sun, 03 Jan 2010 19:44:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=1456#comment-17546</guid>
		<description>Fernando,

Yes, I think we agree here.

Regards</description>
		<content:encoded><![CDATA[<p>Fernando,</p>
<p>Yes, I think we agree here.</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fernando Ipar</title>
		<link>http://www.xaprb.com/blog/2009/12/09/response-time-optimization-in-systems-that-are-queued/#comment-17545</link>
		<dc:creator>Fernando Ipar</dc:creator>
		<pubDate>Sun, 03 Jan 2010 19:29:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=1456#comment-17545</guid>
		<description>Shlomi: 

I have a 3 year old and I&#039;m still tired. I&#039;ve been told it improves once they&#039;re married :)

I understand your point, my point was more in line with what&#039;s on chapter 4 - &#039;Targeting the right improvement activity&#039;

So, back to my original message, 50% of SELECTS being full scans is something bad if you&#039;ve identified this to be bad (now or in the future) for the business. 

If this particular server has a mostly write workload, and/or this 50% of identified selects are batches, or even better, if these 50% of selects are full scans over tables with very little data, which are cached for long periods of time after they&#039;re selected (imagine full table scans over things like SELECT country_id, country_name from countries to populate a country cache). 

So, back to your new example, I&#039;m hired to audit a server with no current performance issues, and identify this full scan selects in 50% of the selects, first, I need to know what % of the total DB activity this represents. 

If the server has 90% read activity and &gt;50%selects are full scans, I still need to check over what data the full scans are done. If it&#039;s like the countries example below, (i.e., not too often, little data, cached, and probably not going to grow too much with time) it&#039;s not that bad. 
Otherwise this would indeed be a good target for a performance improvement activity. 

I think the point is a metric alone, whatever it is, doesn&#039;t give you much info without context. 

I hope I&#039;m making more sense now :)

Regards</description>
		<content:encoded><![CDATA[<p>Shlomi: </p>
<p>I have a 3 year old and I&#8217;m still tired. I&#8217;ve been told it improves once they&#8217;re married :)</p>
<p>I understand your point, my point was more in line with what&#8217;s on chapter 4 &#8211; &#8216;Targeting the right improvement activity&#8217;</p>
<p>So, back to my original message, 50% of SELECTS being full scans is something bad if you&#8217;ve identified this to be bad (now or in the future) for the business. </p>
<p>If this particular server has a mostly write workload, and/or this 50% of identified selects are batches, or even better, if these 50% of selects are full scans over tables with very little data, which are cached for long periods of time after they&#8217;re selected (imagine full table scans over things like SELECT country_id, country_name from countries to populate a country cache). </p>
<p>So, back to your new example, I&#8217;m hired to audit a server with no current performance issues, and identify this full scan selects in 50% of the selects, first, I need to know what % of the total DB activity this represents. </p>
<p>If the server has 90% read activity and &gt;50%selects are full scans, I still need to check over what data the full scans are done. If it&#8217;s like the countries example below, (i.e., not too often, little data, cached, and probably not going to grow too much with time) it&#8217;s not that bad.<br />
Otherwise this would indeed be a good target for a performance improvement activity. </p>
<p>I think the point is a metric alone, whatever it is, doesn&#8217;t give you much info without context. </p>
<p>I hope I&#8217;m making more sense now :)</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shlomi Noach</title>
		<link>http://www.xaprb.com/blog/2009/12/09/response-time-optimization-in-systems-that-are-queued/#comment-17544</link>
		<dc:creator>Shlomi Noach</dc:creator>
		<pubDate>Sun, 03 Jan 2010 18:25:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=1456#comment-17544</guid>
		<description>I&#039;m very tired with a newborn; Fernando, the above is directed at you, of course.</description>
		<content:encoded><![CDATA[<p>I&#8217;m very tired with a newborn; Fernando, the above is directed at you, of course.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shlomi Noach</title>
		<link>http://www.xaprb.com/blog/2009/12/09/response-time-optimization-in-systems-that-are-queued/#comment-17543</link>
		<dc:creator>Shlomi Noach</dc:creator>
		<pubDate>Sun, 03 Jan 2010 17:57:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=1456#comment-17543</guid>
		<description>Hi Baron,
I&#039;m rather enjoying reading through the first few chapters of the book, though I suspect I won&#039;t be reading it all due to its Oracle nature, which I&#039;m unfamiliar with.
Yes, your point makes sense, and I agree that user response times are the most important factor, etc.
But consider: you&#039;re auditing a MySQL server at the request of a customer. He isn&#039;t having trouble with the server, but he hired you to do a quick review.
You recognize 50% of the queries are full scan. There are no performance problems! Wouldn&#039;t you take a look at the EXPLAIN plan to see *why* so many queries are slow?
And assuming you did take a look, to find out some JOINs are incorrect (using join buffer, etc.); would you not recommend adding an index?
Would it be wrong to *assume* that as workload grows, these queries will become a real issue?
That was the thing I was trying to point out.

I don&#039;t see the above as &#039;hunches&#039;. I see them as proper programming methods. If queries are built correctly in the first place (again, just for the sake of the example), your app+db will scale better than they would if queries were badly planned. I think this is common sense.

I&#039;d like to hear your thoughts

Regards</description>
		<content:encoded><![CDATA[<p>Hi Baron,<br />
I&#8217;m rather enjoying reading through the first few chapters of the book, though I suspect I won&#8217;t be reading it all due to its Oracle nature, which I&#8217;m unfamiliar with.<br />
Yes, your point makes sense, and I agree that user response times are the most important factor, etc.<br />
But consider: you&#8217;re auditing a MySQL server at the request of a customer. He isn&#8217;t having trouble with the server, but he hired you to do a quick review.<br />
You recognize 50% of the queries are full scan. There are no performance problems! Wouldn&#8217;t you take a look at the EXPLAIN plan to see *why* so many queries are slow?<br />
And assuming you did take a look, to find out some JOINs are incorrect (using join buffer, etc.); would you not recommend adding an index?<br />
Would it be wrong to *assume* that as workload grows, these queries will become a real issue?<br />
That was the thing I was trying to point out.</p>
<p>I don&#8217;t see the above as &#8216;hunches&#8217;. I see them as proper programming methods. If queries are built correctly in the first place (again, just for the sake of the example), your app+db will scale better than they would if queries were badly planned. I think this is common sense.</p>
<p>I&#8217;d like to hear your thoughts</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fernando Ipar</title>
		<link>http://www.xaprb.com/blog/2009/12/09/response-time-optimization-in-systems-that-are-queued/#comment-17542</link>
		<dc:creator>Fernando Ipar</dc:creator>
		<pubDate>Sun, 03 Jan 2010 17:07:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=1456#comment-17542</guid>
		<description>Shlomi: 

I think that, besides focusing on response time, another issue raised by Method R is that one has: 

- proper collected diagnostic info
- scientific projections to support estimations

So in your example, that would translate into questions like: 

- What projections made you arrive at the conclusion that full scans being present in about 50% of all SELECTS is a bad metric that will cause performance problems in the future?
- How did you arrive at the number &#039;users double&#039; or &#039;traffic increases 10 times more&#039;

If these are hunches, I think we should be growing beyond those by now. 

For instance, percentages can be deceiving. Perhaps even 80% of SELECTS in a server are full scans, but what if they only account for 10% of all active queries, and more, they are just batch jobs? In that case it may be fine that they aren&#039;t optimized in the traditional sense. 

Does that make more sense to you?</description>
		<content:encoded><![CDATA[<p>Shlomi: </p>
<p>I think that, besides focusing on response time, another issue raised by Method R is that one has: </p>
<p>- proper collected diagnostic info<br />
- scientific projections to support estimations</p>
<p>So in your example, that would translate into questions like: </p>
<p>- What projections made you arrive at the conclusion that full scans being present in about 50% of all SELECTS is a bad metric that will cause performance problems in the future?<br />
- How did you arrive at the number &#8216;users double&#8217; or &#8216;traffic increases 10 times more&#8217;</p>
<p>If these are hunches, I think we should be growing beyond those by now. </p>
<p>For instance, percentages can be deceiving. Perhaps even 80% of SELECTS in a server are full scans, but what if they only account for 10% of all active queries, and more, they are just batch jobs? In that case it may be fine that they aren&#8217;t optimized in the traditional sense. </p>
<p>Does that make more sense to you?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
