<?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: Caching could be the last thing you want to do</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/</link>
	<description>Percona&#039;s MySQL &#38; InnoDB performance and scalability blog</description>
	<lastBuildDate>Sat, 11 Feb 2012 16:45:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Sean</title>
		<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/comment-page-1/#comment-773773</link>
		<dc:creator>Sean</dc:creator>
		<pubDate>Fri, 10 Sep 2010 07:14:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=3387#comment-773773</guid>
		<description>Magento is bloatware. That overly complex Zen framework, heavy OOP coding style, and of course too many queries...all means that it will never be fast.  Parse times of 1sec per page on average hardware is ridiculous. You need to have a large hardware budget and/or money to hire Percona to do some great consulting.</description>
		<content:encoded><![CDATA[<p>Magento is bloatware. That overly complex Zen framework, heavy OOP coding style, and of course too many queries&#8230;all means that it will never be fast.  Parse times of 1sec per page on average hardware is ridiculous. You need to have a large hardware budget and/or money to hire Percona to do some great consulting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: squid</title>
		<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/comment-page-1/#comment-772935</link>
		<dc:creator>squid</dc:creator>
		<pubDate>Wed, 01 Sep 2010 18:26:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=3387#comment-772935</guid>
		<description>LoL, Magento</description>
		<content:encoded><![CDATA[<p>LoL, Magento</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Pirkey</title>
		<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/comment-page-1/#comment-772070</link>
		<dc:creator>Jason Pirkey</dc:creator>
		<pubDate>Sat, 21 Aug 2010 01:57:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=3387#comment-772070</guid>
		<description>I agree with Morgan&#039;s point here (at least the underlying one).  Know what your application is doing and don&#039;t over complicate your system before you need to.  If you are doing 300 queries on page load, at least know that you are and why are.  We run with a toolbar in development that tells us how many queries and how long each took and the number of result rows.  This helps us key an eye on what is going on during the page load.</description>
		<content:encoded><![CDATA[<p>I agree with Morgan&#8217;s point here (at least the underlying one).  Know what your application is doing and don&#8217;t over complicate your system before you need to.  If you are doing 300 queries on page load, at least know that you are and why are.  We run with a toolbar in development that tells us how many queries and how long each took and the number of result rows.  This helps us key an eye on what is going on during the page load.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian</title>
		<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/comment-page-1/#comment-770192</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Wed, 28 Jul 2010 14:55:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=3387#comment-770192</guid>
		<description>Caching is about common sense not rules.  Too often I see people looking at a framework or product as a black box without looking at the architecture of how it works. If I don&#039;t understand how something making a decision about when and how to cache is difficult.</description>
		<content:encoded><![CDATA[<p>Caching is about common sense not rules.  Too often I see people looking at a framework or product as a black box without looking at the architecture of how it works. If I don&#8217;t understand how something making a decision about when and how to cache is difficult.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/comment-page-1/#comment-770085</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Mon, 26 Jul 2010 15:19:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=3387#comment-770085</guid>
		<description>Hi,

It is worth to say you need to pay attention to the COULD keyword, and yes it is the bait title - there are many better candidates on what you could do LAST with your application. The point is caching is way to often overrated.  I&#039;d also suggest to:
  
  - It is good to use cache to improve capacity of the system, but not relay on it for response time.  In too many cases uncached path is bad and visitors are suffering.  There are cases like with  Opcode Cache when you can get effectively 100% hit ratio so it is less of the problem.
 
  - Think about warmup. Whatever cache is it can be lost and you may need to start operating with empty cache. The behavior of application in such case often comes as surprise. Best test it.

  - Disable caching (memcache, mysql query cache etc) for development so you can see performance of uncached execution path. You need to test things with caching too to ensure it works well fo course.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>It is worth to say you need to pay attention to the COULD keyword, and yes it is the bait title &#8211; there are many better candidates on what you could do LAST with your application. The point is caching is way to often overrated.  I&#8217;d also suggest to:</p>
<p>  &#8211; It is good to use cache to improve capacity of the system, but not relay on it for response time.  In too many cases uncached path is bad and visitors are suffering.  There are cases like with  Opcode Cache when you can get effectively 100% hit ratio so it is less of the problem.</p>
<p>  &#8211; Think about warmup. Whatever cache is it can be lost and you may need to start operating with empty cache. The behavior of application in such case often comes as surprise. Best test it.</p>
<p>  &#8211; Disable caching (memcache, mysql query cache etc) for development so you can see performance of uncached execution path. You need to test things with caching too to ensure it works well fo course.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Morgan Tocker</title>
		<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/comment-page-1/#comment-770079</link>
		<dc:creator>Morgan Tocker</dc:creator>
		<pubDate>Mon, 26 Jul 2010 14:04:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=3387#comment-770079</guid>
		<description>Andrey - I&#039;m not telling :)</description>
		<content:encoded><![CDATA[<p>Andrey &#8211; I&#8217;m not telling <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Morgan Tocker</title>
		<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/comment-page-1/#comment-770078</link>
		<dc:creator>Morgan Tocker</dc:creator>
		<pubDate>Mon, 26 Jul 2010 14:03:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=3387#comment-770078</guid>
		<description>Ulf - I would consider the mysqlnd query cache a mitigation strategy.

It&#039;s good to see that it has stampeding protection, but it will still stuffer the reduced visibility / not working for all visitors problem :(  If I inherit an application and I&#039;m stuck in the same situation again, this will be one of the tools I try.

.. but if I am in charge of designing architecture for a new application, caches will be still be disabled :)</description>
		<content:encoded><![CDATA[<p>Ulf &#8211; I would consider the mysqlnd query cache a mitigation strategy.</p>
<p>It&#8217;s good to see that it has stampeding protection, but it will still stuffer the reduced visibility / not working for all visitors problem <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />   If I inherit an application and I&#8217;m stuck in the same situation again, this will be one of the tools I try.</p>
<p>.. but if I am in charge of designing architecture for a new application, caches will be still be disabled <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ulf Wendel</title>
		<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/comment-page-1/#comment-770069</link>
		<dc:creator>Ulf Wendel</dc:creator>
		<pubDate>Mon, 26 Jul 2010 11:41:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=3387#comment-770069</guid>
		<description>I agree that caches are not always the best solution. However, if you use MySQL and PHP 5.3 and a simple client side query cache may cure your problem, check out the mysqlnd query cache plugin: http://www.slideshare.net/nixnutz/buildin-query-caching-for-all-php-mysql-extensionsapis - http://pecl.php.net/package/mysqlnd_qc . Its very much transparent, it works with all PHP MySQL APIs, it has flexible storage, it has slam defense built-in and it can cure those ecommerce applications that make you sometimes wonder how the software could win a price - http://www.slideshare.net/nixnutz/mysqlnd-query-cache-plugin-benchmark-report-4734189 .</description>
		<content:encoded><![CDATA[<p>I agree that caches are not always the best solution. However, if you use MySQL and PHP 5.3 and a simple client side query cache may cure your problem, check out the mysqlnd query cache plugin: <a href="http://www.slideshare.net/nixnutz/buildin-query-caching-for-all-php-mysql-extensionsapis" rel="nofollow">http://www.slideshare.net/nixnutz/buildin-query-caching-for-all-php-mysql-extensionsapis</a> &#8211; <a href="http://pecl.php.net/package/mysqlnd_qc" rel="nofollow">http://pecl.php.net/package/mysqlnd_qc</a> . Its very much transparent, it works with all PHP MySQL APIs, it has flexible storage, it has slam defense built-in and it can cure those ecommerce applications that make you sometimes wonder how the software could win a price &#8211; <a href="http://www.slideshare.net/nixnutz/mysqlnd-query-cache-plugin-benchmark-report-4734189" rel="nofollow">http://www.slideshare.net/nixnutz/mysqlnd-query-cache-plugin-benchmark-report-4734189</a> .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrey K. Korolyov</title>
		<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/comment-page-1/#comment-770067</link>
		<dc:creator>Andrey K. Korolyov</dc:creator>
		<pubDate>Mon, 26 Jul 2010 10:17:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=3387#comment-770067</guid>
		<description>Morgan, is it about Magento?</description>
		<content:encoded><![CDATA[<p>Morgan, is it about Magento?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sheeri</title>
		<link>http://www.mysqlperformanceblog.com/2010/07/24/caching-could-be-the-last-thing-you-want-to-do/comment-page-1/#comment-770041</link>
		<dc:creator>Sheeri</dc:creator>
		<pubDate>Mon, 26 Jul 2010 00:58:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=3387#comment-770041</guid>
		<description>Morgan,

I agree 100%.  It&#039;s all too tempting to do the easier option -- using memcached is far less work than doing the methodical (and boring) work of optimizing each and every single query that is actually used.

mk-query-digest is an awesome tool -- I use it to do query reviews for clients, and it&#039;s tedious, but very beneficial.  But like anything, you have to do the work, and in the long run, shortcuts will just add to the problems.</description>
		<content:encoded><![CDATA[<p>Morgan,</p>
<p>I agree 100%.  It&#8217;s all too tempting to do the easier option &#8212; using memcached is far less work than doing the methodical (and boring) work of optimizing each and every single query that is actually used.</p>
<p>mk-query-digest is an awesome tool &#8212; I use it to do query reviews for clients, and it&#8217;s tedious, but very beneficial.  But like anything, you have to do the work, and in the long run, shortcuts will just add to the problems.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

