<?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: Content delivery system design mistakes</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/</link>
	<description>Everything about MySQL Performance</description>
	<lastBuildDate>Sat, 21 Nov 2009 05:23:57 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/comment-page-1/#comment-226900</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Thu, 03 Jan 2008 18:43:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/#comment-226900</guid>
		<description>Older browsers had number of bugs so should we get back to old HTML 1.0 and avoid Javascript all together ?

You should choose what you&#039;re going to be compatible with and if browsers you want to be compatible with have some issues you can work these around, for example disable JavaScript compression  keep alive or ranged requests based on user agent.</description>
		<content:encoded><![CDATA[<p>Older browsers had number of bugs so should we get back to old HTML 1.0 and avoid Javascript all together ?</p>
<p>You should choose what you&#8217;re going to be compatible with and if browsers you want to be compatible with have some issues you can work these around, for example disable JavaScript compression  keep alive or ranged requests based on user agent.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Linux Boy</title>
		<link>http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/comment-page-1/#comment-224814</link>
		<dc:creator>Linux Boy</dc:creator>
		<pubDate>Fri, 28 Dec 2007 17:52:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/#comment-224814</guid>
		<description>Some older browsers may have problems with compressed javascript files. Is it worth the hassle?</description>
		<content:encoded><![CDATA[<p>Some older browsers may have problems with compressed javascript files. Is it worth the hassle?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amri Wirabumi</title>
		<link>http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/comment-page-1/#comment-155848</link>
		<dc:creator>Amri Wirabumi</dc:creator>
		<pubDate>Tue, 14 Aug 2007 13:28:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/#comment-155848</guid>
		<description>Home web server not a best solution as well.. maybe you can try to put heavy programming language in root directory...</description>
		<content:encoded><![CDATA[<p>Home web server not a best solution as well.. maybe you can try to put heavy programming language in root directory&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mephius</title>
		<link>http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/comment-page-1/#comment-57208</link>
		<dc:creator>mephius</dc:creator>
		<pubDate>Wed, 21 Feb 2007 18:07:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/#comment-57208</guid>
		<description>you could use X-Accel-Redirect header with nginx, which implements similar idea with X-send-file in Lighttpd</description>
		<content:encoded><![CDATA[<p>you could use X-Accel-Redirect header with nginx, which implements similar idea with X-send-file in Lighttpd</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Huck</title>
		<link>http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/comment-page-1/#comment-50256</link>
		<dc:creator>Huck</dc:creator>
		<pubDate>Mon, 12 Feb 2007 20:01:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/#comment-50256</guid>
		<description>TTL: 
Be default windows xp uses the lesser of 1 day or the value specified in the result.  I am not sure what happens at 0.  A value of 1 is treated as disabled.  
Ref: http://support.microsoft.com/kb/318803
We handle a lot of server migrations for shared hosting companies and have found that many ISPs have their own threshold. I&#039;ve see some smaller ones with values as high as 2 days.  Other networking gear may also cache DNS with various thresholds.  Though certainly worth considering, I have not seen too many cases where latency caused by DNS lookup is significant compared to other sources.  

CDN Compression:  We&#039;ve used a couple of CDN&#039;s and some do their own compression. We had an issue with PDF&#039;s once due to compression at the CDN level though we had explicitly disabled compression on the source servers.  If compression is by file-type with no size limits, this can impact the user experience with some types of files.</description>
		<content:encoded><![CDATA[<p>TTL:<br />
Be default windows xp uses the lesser of 1 day or the value specified in the result.  I am not sure what happens at 0.  A value of 1 is treated as disabled.<br />
Ref: <a href="http://support.microsoft.com/kb/318803" rel="nofollow">http://support.microsoft.com/kb/318803</a><br />
We handle a lot of server migrations for shared hosting companies and have found that many ISPs have their own threshold. I&#8217;ve see some smaller ones with values as high as 2 days.  Other networking gear may also cache DNS with various thresholds.  Though certainly worth considering, I have not seen too many cases where latency caused by DNS lookup is significant compared to other sources.  </p>
<p>CDN Compression:  We&#8217;ve used a couple of CDN&#8217;s and some do their own compression. We had an issue with PDF&#8217;s once due to compression at the CDN level though we had explicitly disabled compression on the source servers.  If compression is by file-type with no size limits, this can impact the user experience with some types of files.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#60;/depesz&#62; &#187; Blog Archive &#187; zestawienie szybkiego serwisu</title>
		<link>http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/comment-page-1/#comment-49565</link>
		<dc:creator>&#60;/depesz&#62; &#187; Blog Archive &#187; zestawienie szybkiego serwisu</dc:creator>
		<pubDate>Sun, 11 Feb 2007 21:57:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/#comment-49565</guid>
		<description>[...] ale dzis przeczytałem bardzo fajny wpis na &#8220;mysql performance blog&#8221;. nie zawiera on niczego rewolucyjnego. ale idealnie wręcz sie nadaje jako &#8220;check-lista&#8221; do wypuszczania wysoko wydajnych aplikacji. ot tak, aby o żadnym szczególiku nie zapomnieć. [...]</description>
		<content:encoded><![CDATA[<p>[...] ale dzis przeczytałem bardzo fajny wpis na &#8220;mysql performance blog&#8221;. nie zawiera on niczego rewolucyjnego. ale idealnie wręcz sie nadaje jako &#8220;check-lista&#8221; do wypuszczania wysoko wydajnych aplikacji. ot tak, aby o żadnym szczególiku nie zapomnieć. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/comment-page-1/#comment-49552</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Sun, 11 Feb 2007 20:49:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/#comment-49552</guid>
		<description>Thank you Alexey,

I&#039;m not saying you can rely on TTL my point is setting it too low causes extra overhead which you would like to avoid.  

KA - I&#039;m speaking about simple configuration right now. Smart front end servers may change things but it does not always presents, especially for static content. 

Thank you about nodiratime which also is helpful if you have a lot of dirs.  I did not check it about O_NOATIME root requirements to be honest as I go simple way and simply use mount options. 

Good note about expires.  What do you mean about answering If-Modified-Since header ?   But I guess for static content web server expire handling module will handle it for you if something needs to be done</description>
		<content:encoded><![CDATA[<p>Thank you Alexey,</p>
<p>I&#8217;m not saying you can rely on TTL my point is setting it too low causes extra overhead which you would like to avoid.  </p>
<p>KA &#8211; I&#8217;m speaking about simple configuration right now. Smart front end servers may change things but it does not always presents, especially for static content. </p>
<p>Thank you about nodiratime which also is helpful if you have a lot of dirs.  I did not check it about O_NOATIME root requirements to be honest as I go simple way and simply use mount options. </p>
<p>Good note about expires.  What do you mean about answering If-Modified-Since header ?   But I guess for static content web server expire handling module will handle it for you if something needs to be done</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexey</title>
		<link>http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/comment-page-1/#comment-49551</link>
		<dc:creator>Alexey</dc:creator>
		<pubDate>Sun, 11 Feb 2007 20:34:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/#comment-49551</guid>
		<description>Just a few comments:

TTL - I think most caching DNS servers have a TTL threshold, so even if your zone has lower TTL, it won&#039;t be checked more often anyway. There are no exact numbers, but if you use TTL values lower than a day, you can&#039;t rely on it.

KA - it&#039;s best to offload idle keep-alive connections to front-end web server.

Noatime - don&#039;t forget to use &#039;nodiratime&#039; flag in addition to noatime. Regarding O_NOATIME flag, you have to have root privileges to be able to use it on Linux. IMO running daemon that serves static content as a root is a big no-no.

Expires - 1) setting it too high may cause browsers to ignore it by default. Make sure you try different values and see which one produces less requests. 2) don&#039;t forget to update expires date when answering requests containing If-Modified-Since header.</description>
		<content:encoded><![CDATA[<p>Just a few comments:</p>
<p>TTL &#8211; I think most caching DNS servers have a TTL threshold, so even if your zone has lower TTL, it won&#8217;t be checked more often anyway. There are no exact numbers, but if you use TTL values lower than a day, you can&#8217;t rely on it.</p>
<p>KA &#8211; it&#8217;s best to offload idle keep-alive connections to front-end web server.</p>
<p>Noatime &#8211; don&#8217;t forget to use &#8216;nodiratime&#8217; flag in addition to noatime. Regarding O_NOATIME flag, you have to have root privileges to be able to use it on Linux. IMO running daemon that serves static content as a root is a big no-no.</p>
<p>Expires &#8211; 1) setting it too high may cause browsers to ignore it by default. Make sure you try different values and see which one produces less requests. 2) don&#8217;t forget to update expires date when answering requests containing If-Modified-Since header.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: the mobile experience &#187; Blog Archive &#187; links for 2007-02-11</title>
		<link>http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/comment-page-1/#comment-49543</link>
		<dc:creator>the mobile experience &#187; Blog Archive &#187; links for 2007-02-11</dc:creator>
		<pubDate>Sun, 11 Feb 2007 20:23:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/02/11/content-delivery-system-design-mistakes/#comment-49543</guid>
		<description>[...] MySQL Performance Blog » Content delivery system design mistakes (tags: mysql performance) [...]</description>
		<content:encoded><![CDATA[<p>[...] MySQL Performance Blog » Content delivery system design mistakes (tags: mysql performance) [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
