<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Newest Industry &#187; proxy server</title>
	<atom:link href="http://newestindustry.org/tag/proxy-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://newestindustry.org</link>
	<description>Web Performance, Branding, and Social Media</description>
	<lastBuildDate>Fri, 19 Mar 2010 18:32:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<atom:link rel='hub' href='http://newestindustry.org/?pushpress=hub'/>
<cloud domain='newestindustry.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Performance Improvement From Caching and Compression</title>
		<link>http://newestindustry.org/2006/10/03/performance-improvement-from-caching-and-compression-2/</link>
		<comments>http://newestindustry.org/2006/10/03/performance-improvement-from-caching-and-compression-2/#comments</comments>
		<pubDate>Tue, 03 Oct 2006 17:08:02 +0000</pubDate>
		<dc:creator>smp</dc:creator>
				<category><![CDATA[Web Performance]]></category>
		<category><![CDATA[WebPerformance.Org]]></category>
		<category><![CDATA[ads]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[ARIN]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[cache-control]]></category>
		<category><![CDATA[Cacheability]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[compress]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[corporate]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[EAD]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[improvement]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[it]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[local proxy server]]></category>
		<category><![CDATA[mod_gzip]]></category>
		<category><![CDATA[Om]]></category>
		<category><![CDATA[One]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[origin server]]></category>
		<category><![CDATA[Pages]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[performance improvement]]></category>
		<category><![CDATA[pr]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[proxy server]]></category>
		<category><![CDATA[run]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[the Origin]]></category>
		<category><![CDATA[The origin server]]></category>
		<category><![CDATA[traffic]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web page download times]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://crazycanuck.wordpress.com/2006/10/03/performance-improvement-from-caching-and-compression-2/</guid>
		<description><![CDATA[
			
				
			
		
This paper is an extension of the work done for another article that highlighted the performance benefits of retrieving uncompressed and compressed objects directly from the origin server. I wanted to add a proxy server into the stream and determine if proxy servers helped improve the performance of object downloads, and by how much.
Using the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F&amp;source=spierzchala&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a title="macro water drop" href="http://flickr.com/photos/7685921@N06/514534462"><img style="float:left;padding-right:6px;" src="http://farm1.static.flickr.com/224/514534462_88894375a9_m.jpg" alt="" /></a>This paper is an extension of the work done for <a href="http://crazycanuck.wordpress.com/2006/10/03/performance-improvement-from-compression-2/">another article</a> that highlighted the performance benefits of retrieving uncompressed and compressed objects directly from the origin server. I wanted to add a proxy server into the stream and determine if proxy servers helped improve the performance of object downloads, and by how much.</p>
<p>Using the same series of objects in the original compression article<a class="light" href="#1">[1]</a>, the CURL tests were re-run 3 times:</p>
<p class="marg30">
<ol>
<li>Directly from the origin server</li>
<li>Through the proxy server, to load the files into cache</li>
<li>Through the proxy server, to avoid retrieving files from the origin.<a class="light" href="#2">[2]</a></li>
</ol>
<p>This series of three tests was repeated twice: once for the uncompressed files, and then for the compressed objects.<a class="light" href="#3">[3]</a></p>
<p>As can be seen clearly in the plots below, compression caused web page download times to improve greatly, when the objects were retrieved from the source. However, the performance difference between compressed and uncompressed data all but disappears when retrieving objects from a proxy server on a corporate LAN.</p>
<p align="center"><a title="Photo Sharing" href="http://www.flickr.com/photos/spierzchala/259903802/"><img src="http://static.flickr.com/122/259903802_e094e367ff_m.jpg" alt="uncompressed_pages" width="240" height="164" /></a></p>
<p align="center"><a title="Photo Sharing" href="http://www.flickr.com/photos/spierzchala/259903810/"><img src="http://static.flickr.com/109/259903810_9d890caa90_m.jpg" alt="compressed_pages" width="240" height="164" /></a></p>
<p>Instead of the linear growth between object size and download time seen in both of the retrieval tests that used the origin server (Source and Proxy Load data), the Proxy Draw data clearly shows the benefits that accrue when a proxy server is added to a network to assist with serving HTTP traffic.</p>
<p class="marg30">
<table border="1" cellspacing="3" cellpadding="3">
<tbody>
<tr>
<td></td>
<td><strong>MEAN DOWNLOAD TIME</strong></td>
</tr>
<tr>
<td colspan="2"><strong>Uncompressed Pages</strong></td>
</tr>
<tr>
<td>Total Time Uncompressed &#8212; No Proxy</td>
<td align="right">0.256</td>
</tr>
<tr>
<td>Total Time Uncompressed &#8212; Proxy Load</td>
<td align="right">0.254</td>
</tr>
<tr>
<td>Total Time Uncompressed &#8212; Proxy Draw</td>
<td align="right">0.110</td>
</tr>
<tr>
<td colspan="2"><strong>Compressed Pages</strong></td>
</tr>
<tr>
<td>Total Time Compressed &#8212; No Proxy</td>
<td align="right">0.181</td>
</tr>
<tr>
<td>Total Time Compressed &#8212; Proxy Load</td>
<td align="right">0.140</td>
</tr>
<tr>
<td>Total Time Compressed &#8212; Proxy Draw</td>
<td align="right">0.104</td>
</tr>
</tbody>
</table>
<p>The data above shows just how much of an improvement is gained by adding a local proxy server, explicit caching descriptions and compression can add to a Web site. For sites that do force a great of requests to be returned directly to the origin server, compression will be of great help in reducing bandwidth costs and improving performance. However, by allowing pages to be cached in local proxy servers, the difference between compressed and uncompressed pages vanishes.</p>
<h2>Conclusion</h2>
<p>Compression is a very good start when attempting to optimize performance. The addition of explicit caching messages in server responses which allow proxy servers to serve cached data to clients on remote local LANs can improve performance to even a greater extent than compression can. These two should be used together to improve the overall performance of Web sites.</p>
<hr />
<p class="smaller"><a title="1" name="1"></a>[1]The test set was made up of the 1952 HTML files located in the top directory of the Linux Documentation Project HTML archive.</p>
<p class="smaller"><a title="2" name="2"></a>[2]All of the pages in these tests announced the following server response header indicating its cacheability:</p>
<p class="smaller" align="center"><em>Cache-Control: max-age=3600</em></p>
<p class="smaller"><a title="3" name="3"></a>[3]A note on the compressed files: all compression was performed dynamically by mod_gzip for Apache/1.3.27.</p>



Spread the Love:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F&amp;t=Performance%20Improvement%20From%20Caching%20and%20Compression" title="Facebook"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Performance%20Improvement%20From%20Caching%20and%20Compression%20-%20http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F" title="Twitter"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://ping.fm/ref/?link=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;body=This%20paper%20is%20an%20extension%20of%20the%20work%20done%20for%20another%20article%20that%20highlighted%20the%20performance%20benefits%20of%20retrieving%20uncompressed%20and%20compressed%20objects%20directly%20from%20the%20origin%20server.%20I%20wanted%20to%20add%20a%20proxy%20server%20into%20the%20stream%20and%20determine%20" title="Ping.fm"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;bodytext=This%20paper%20is%20an%20extension%20of%20the%20work%20done%20for%20another%20article%20that%20highlighted%20the%20performance%20benefits%20of%20retrieving%20uncompressed%20and%20compressed%20objects%20directly%20from%20the%20origin%20server.%20I%20wanted%20to%20add%20a%20proxy%20server%20into%20the%20stream%20and%20determine%20" title="Digg"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression" title="StumbleUpon"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;source=Newest+Industry+Web+Performance%2C+Branding%2C+and+Social+Media&amp;summary=This%20paper%20is%20an%20extension%20of%20the%20work%20done%20for%20another%20article%20that%20highlighted%20the%20performance%20benefits%20of%20retrieving%20uncompressed%20and%20compressed%20objects%20directly%20from%20the%20origin%20server.%20I%20wanted%20to%20add%20a%20proxy%20server%20into%20the%20stream%20and%20determine%20" title="LinkedIn"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression" title="Reddit"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F" title="Slashdot"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.netvouz.com/action/submitBookmark?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;popup=no" title="Netvouz"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/netvouz.png" title="Netvouz" alt="Netvouz" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F" title="Identi.ca"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F" title="Technorati"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;notes=This%20paper%20is%20an%20extension%20of%20the%20work%20done%20for%20another%20article%20that%20highlighted%20the%20performance%20benefits%20of%20retrieving%20uncompressed%20and%20compressed%20objects%20directly%20from%20the%20origin%20server.%20I%20wanted%20to%20add%20a%20proxy%20server%20into%20the%20stream%20and%20determine%20" title="del.icio.us"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;body=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fperformance-improvement-from-caching-and-compression-2%2F" title="email"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://newestindustry.org/2006/10/03/performance-improvement-from-caching-and-compression-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Baseline Testing With cURL</title>
		<link>http://newestindustry.org/2006/10/03/baseline-testing-with-curl-2/</link>
		<comments>http://newestindustry.org/2006/10/03/baseline-testing-with-curl-2/#comments</comments>
		<pubDate>Tue, 03 Oct 2006 16:42:17 +0000</pubDate>
		<dc:creator>smp</dc:creator>
				<category><![CDATA[Web Performance]]></category>
		<category><![CDATA[WebPerformance.Org]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[compression solutions]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[cURL Installation]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[HTTP clients]]></category>
		<category><![CDATA[Internet file]]></category>
		<category><![CDATA[Internet protocols]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[proxy server]]></category>
		<category><![CDATA[retrieval tools]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[Web content]]></category>
		<category><![CDATA[Web server]]></category>
		<category><![CDATA[Web servers]]></category>
		<category><![CDATA[WGET]]></category>

		<guid isPermaLink="false">http://crazycanuck.wordpress.com/2006/10/03/baseline-testing-with-curl-2/</guid>
		<description><![CDATA[
			
				
			
		

cURL is an application that can be used to retrieve any Internet file that uses the standard URL format â€” http://, ftp://, gopher://, etc. Its power and flexibility can be added to applications by using the libcurl library, whose API can be accessed easily using most of the commonly used scripting and programming languages.
So, how [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;source=spierzchala&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a title="Aviemore: Unprocessed (img_3904)" href="http://flickr.com/photos/79235216@N00/1232136224"><img style="float:left;padding:4px;" src="http://farm2.static.flickr.com/1371/1232136224_a9bd7c5157_t.jpg" alt="" /></a></p>
<p><a class="light" href="http://curl.haxx.se/">cURL</a> is an application that can be used to retrieve any Internet file that uses the standard URL format â€” http://, ftp://, gopher://, etc. Its power and flexibility can be added to applications by using the <strong>libcurl</strong> library, whose API can be accessed easily using most of the commonly used scripting and programming languages.</p>
<p>So, how does cURL differ from some of the other command-line URL retrieval tools such as <a class="light" href="http://www.gnu.org/software/wget/wget.html">WGET</a>? Both do very similar things, and can be coaxed to retrieve large lists of files or even mirror entire Web sites. In fact, for the automated retrieval of single files for the Internet for storage on local filesystems â€” such as downloading source files onto servers for building applications â€” WGET&#8217;s syntax is the simplest to use.</p>
<p>However, for simple baseline testing, WGET lacks cURL&#8217;s ability to produce timing results that can be written to an output file in a user-configurable format. cURL gathers a large amount of data about a transfer that can then be used for analysis or logging purposes. This makes it a step ahead of WGET for baseline testing.</p>
<h2>cURL Installation</h2>
<p>For the purposes of our testing, we have used <a class="light" href="http://curl.haxx.se/beta/">cURL 7.10.5-pre2</a> as it adds support for downloading and interpreting GZIP-encoded content from Web servers. Because it is a pre-release version, it is currently only available as source for compiling. The compilation was smooth, and straight-forward.</p>
<p class="marg30">
<pre>$ ./configure --with-ssl --with-zlib
$ make
$ make test

[...runs about 120 checks to ensure the application and library will work as expected..]

# make install</pre>
<p>The application installed in /usr/local/bin on my RedHat 9.0 laptop.</p>
<p>Testing cURL is straight-forward as well.</p>
<p class="marg30">
<pre>$ curl http://slashdot.org/

[...many lines of streaming HTML omitted...]</pre>
<p>Variations on this standard theme include:</p>
<p class="marg30">
<li>Send output to a file instead of STDOUT</li>
<pre>	$ curl -o ~/slashdot.txt http://slashdot.org/</pre>
<li>Request compressed content if the Web server supports it</li>
<pre>	$ curl --compressed http://slashdot.org/</pre>
<li>Provide total byte count for downloaded HTML</li>
<pre>	$ curl -w %{size_download} http://slashdot.org/</pre>
<h2>Baseline Testing with cURL</h2>
<p>With the application installed, you can now begin to design a baseline test. This methodology is <strong>NOT</strong> a replacement for true load testing, but rather a method for giving small and medium-sized businesses a sense of how well their server will perform before it is deployed into production, as well as providing a baseline for future tests. This baseline can then be used as a basis for comparing performance after configuration changes in the server environment, such as caching rule changes or adding solutions that are designed to accelerate Web performance.</p>
<p>To begin, a list of URLs needs to be drawn up and agreed to as a baseline for the testing. For my purposes, I use the files from the Linux Documentation project, intermingled with a number of images. This provides the test with a variety of file sizes and file types. You could construct your own file-set out of any combination of documents/files/images you wish. However, the file-set should be large â€” mine runs to 2134 files.</p>
<p>Once the file-set has been determined, it should be archived so that this same group can be used for future performance tests; burning it to a CD is always a safe bet.</p>
<p>Next, extract the filenames to a text file so that the configuration file for the tests can be constructed. I have done this for my tests, and have it set up in a generic format so that when I construct the configuration for the next test, I simply have to change/update the URL to reflect the new target.</p>
<p>The configuration of the rest of the parameters should be added to the configuration file at this point. These are all the same as the command line versions, except for the URL listing format.</p>
<p class="marg30">
<li>Listing of <em>test_config.txt</em></li>
<pre>-A "Mozilla/4.0 (compatible; cURL 7.10.5-pre2; Linux 2.4.20)"
-L
-w @logformat.txt
-D headers.txt
-H "Pragma: no-cache"
-H "Cache-control: no-cache"
-H "Connection: close"

url="http://www.foobar.com/1.html"
url="http://www.foobar.com/2.png"
[...file listing...]</pre>
<p>In the above example, I have set cURL to:</p>
<ul>
<li>Use a custom User-Agent string</li>
<li>Follow any re-direction responses that contain a &#8220;Location:&#8221; response header</li>
<li>Dump the server response headers to <em>headers.txt</em></li>
<li>Circumvent cached responses by sending the two main &#8220;no-cache&#8221; request headers</li>
<li>Close the TCP connection after each object is downloaded, overriding cURL&#8217;s default use of persistent connections</li>
<li>Format the timing and log output using the format that is described in <em>logformat.txt</em></li>
</ul>
<p>Another command-line option that I use a lot is <em>&#8211;compressed</em>, which, as of cURL 7.10.5, handles both the deflate and gzip encoding of Web content, including decompression on the fly. This is great for comparing the performance improvements and bandwidth savings from compression solutions against a baseline test without compression. Network administrators may also be interested in testing the improvement that they get using proxy servers and client-side caches by inserting <em>&#8211;proxy &lt;proxy[:port]&gt;</em> into the configuration, removing the &#8220;no-cache&#8221; headers, and testing a list of popular URLs through their proxy servers.</p>
<p>The <em>logformat.txt</em> file describes the variables that I find of interest and that I want to use for my analysis.</p>
<p class="marg30">
<li>Listing of <em>logformat.txt</em></li>
<pre>\n
%{url_effective}\t%{http_code}\t%{content_type}\t%{time_total}\t%{time_lookup}\t /
	%{time_connect}\t%{time_starttransfer}\t{size_download}\n
\n</pre>
<p>These variables are defined as:</p>
<li><em>url_effective</em>: URL used to make the final request, especially when following re-directions</li>
<li><em>http_code</em>: HTTP code returned by the server when delivering the final HTML page requested</li>
<li><em>content_type</em>: MIME type returned in the final HTML request</li>
<li><em>time_total</em>: Total time for the transfer to complete</li>
<li><em>time_lookup</em>: Time from start of transfer until DNS Lookup complete</li>
<li><em>time_connect</em>: Time from start of transfer until TCP connection complete</li>
<li><em>time_starttransfer</em>: Time from start of transfer until data begins to be returned from the server</li>
<li><em>size_download</em>: Total number of bytes transferred, excluding headers</li>
<p>As <em>time_connect</em> and <em>time_starttransfer</em> are cumulative from the beginning of the transfer, you have to do some math to come up with the actual values.</p>
<p class="marg30"><strong>TCP Connection Time</strong> = <em>time_connect</em> &#8211; <em>time_lookup</em><br />
<strong>Time First Byte</strong> = <em>time_starttransfer</em> &#8211; <em>time_connect</em><br />
<strong>Redirection Time</strong> = <em>time_total</em> &#8211; <em>time_starttransfer</em></p>
<p>If you are familiar with cURL, you may wonder why I have chosen not to write the output to a file using the <em>-o &lt;file&gt;</em> option. It appears that this option only records the output for the first file requested, even in a large list of files. I prefer to use the following command to start the test and then post-process the results using <em>grep</em>.</p>
<p class="marg30">
<pre>$ curl -K test_config.txt &gt;&gt; output_raw_1.txt

[...lines and lines of output...]

$ grep -i -r "^http://www.foobar.com/.*$" output_raw_1.txt &gt;&gt; output_processed_1.txt</pre>
<p>And voila! You now have a tab delimited file you can drop into your favorite spreadsheet program to generate the necessary statistics.</p>



Spread the Love:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;t=Baseline%20Testing%20With%20cURL" title="Facebook"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Baseline%20Testing%20With%20cURL%20-%20http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F" title="Twitter"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://ping.fm/ref/?link=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL&amp;body=%0D%0A%0D%0AcURL%20is%20an%20application%20that%20can%20be%20used%20to%20retrieve%20any%20Internet%20file%20that%20uses%20the%20standard%20URL%20format%20%C3%A2%E2%82%AC%E2%80%9D%20http%3A%2F%2F%2C%20ftp%3A%2F%2F%2C%20gopher%3A%2F%2F%2C%20etc.%20Its%20power%20and%20flexibility%20can%20be%20added%20to%20applications%20by%20using%20the%20libcurl%20library%2C%20whose%20API%20can%20b" title="Ping.fm"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL&amp;bodytext=%0D%0A%0D%0AcURL%20is%20an%20application%20that%20can%20be%20used%20to%20retrieve%20any%20Internet%20file%20that%20uses%20the%20standard%20URL%20format%20%C3%A2%E2%82%AC%E2%80%9D%20http%3A%2F%2F%2C%20ftp%3A%2F%2F%2C%20gopher%3A%2F%2F%2C%20etc.%20Its%20power%20and%20flexibility%20can%20be%20added%20to%20applications%20by%20using%20the%20libcurl%20library%2C%20whose%20API%20can%20b" title="Digg"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL" title="StumbleUpon"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL&amp;source=Newest+Industry+Web+Performance%2C+Branding%2C+and+Social+Media&amp;summary=%0D%0A%0D%0AcURL%20is%20an%20application%20that%20can%20be%20used%20to%20retrieve%20any%20Internet%20file%20that%20uses%20the%20standard%20URL%20format%20%C3%A2%E2%82%AC%E2%80%9D%20http%3A%2F%2F%2C%20ftp%3A%2F%2F%2C%20gopher%3A%2F%2F%2C%20etc.%20Its%20power%20and%20flexibility%20can%20be%20added%20to%20applications%20by%20using%20the%20libcurl%20library%2C%20whose%20API%20can%20b" title="LinkedIn"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL" title="Reddit"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Baseline%20Testing%20With%20cURL&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F" title="Slashdot"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.netvouz.com/action/submitBookmark?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL&amp;popup=no" title="Netvouz"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/netvouz.png" title="Netvouz" alt="Netvouz" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F" title="Identi.ca"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F" title="Technorati"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL&amp;notes=%0D%0A%0D%0AcURL%20is%20an%20application%20that%20can%20be%20used%20to%20retrieve%20any%20Internet%20file%20that%20uses%20the%20standard%20URL%20format%20%C3%A2%E2%82%AC%E2%80%9D%20http%3A%2F%2F%2C%20ftp%3A%2F%2F%2C%20gopher%3A%2F%2F%2C%20etc.%20Its%20power%20and%20flexibility%20can%20be%20added%20to%20applications%20by%20using%20the%20libcurl%20library%2C%20whose%20API%20can%20b" title="del.icio.us"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Baseline%20Testing%20With%20cURL&amp;body=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F" title="email"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://newestindustry.org/2006/10/03/baseline-testing-with-curl-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Using Client-Side Cache Solutions And Server-Side Caching Configurations To Improve Internet Performance</title>
		<link>http://newestindustry.org/2006/10/03/using-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance/</link>
		<comments>http://newestindustry.org/2006/10/03/using-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance/#comments</comments>
		<pubDate>Tue, 03 Oct 2006 16:17:19 +0000</pubDate>
		<dc:creator>smp</dc:creator>
				<category><![CDATA[Web Performance]]></category>
		<category><![CDATA[WebPerformance.Org]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[cache devices]]></category>
		<category><![CDATA[cache server]]></category>
		<category><![CDATA[cache-control]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[client-side]]></category>
		<category><![CDATA[content proxy]]></category>
		<category><![CDATA[defined group]]></category>
		<category><![CDATA[e-commerce marketplace]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Hypertext Transfer Protocol]]></category>
		<category><![CDATA[internet performance]]></category>
		<category><![CDATA[ISP]]></category>
		<category><![CDATA[large corporate network]]></category>
		<category><![CDATA[local web file]]></category>
		<category><![CDATA[nearby cache server]]></category>
		<category><![CDATA[origin server]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[proxy server]]></category>
		<category><![CDATA[server applications]]></category>
		<category><![CDATA[server network]]></category>
		<category><![CDATA[server software]]></category>
		<category><![CDATA[slower internet]]></category>
		<category><![CDATA[term proxy server]]></category>
		<category><![CDATA[The origin server]]></category>
		<category><![CDATA[United States]]></category>
		<category><![CDATA[Virginia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Web administrators]]></category>
		<category><![CDATA[web browser stores]]></category>
		<category><![CDATA[web browsers]]></category>
		<category><![CDATA[Web client]]></category>
		<category><![CDATA[web object retrieval]]></category>
		<category><![CDATA[Web objects]]></category>
		<category><![CDATA[web request]]></category>
		<category><![CDATA[Web server]]></category>
		<category><![CDATA[web server responses containing information]]></category>
		<category><![CDATA[Web servers]]></category>
		<category><![CDATA[web-server applications]]></category>
		<category><![CDATA[web-sever]]></category>
		<category><![CDATA[web-site]]></category>
		<category><![CDATA[web-site system]]></category>
		<category><![CDATA[web-sites]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows NT]]></category>
		<category><![CDATA[x server]]></category>

		<guid isPermaLink="false">http://crazycanuck.wordpress.com/2006/10/03/using-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance/</guid>
		<description><![CDATA[
			
				
			
		
In todays highly competitive e-commerce marketplace, the performance of a web-site plays a key role in attracting new and retaining current clients. New technologies are being developed to help speed up the delivery of content to customers while still allowing companies to get their message across using rich, graphical content. However, in the rush to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F&amp;source=spierzchala&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a title="the green ascent" href="http://flickr.com/photos/55502991@N00/29582361"><img style="float:left;padding:4px;" src="http://farm1.static.flickr.com/23/29582361_c9e924ff65_m.jpg" alt="" /></a>In todays highly competitive e-commerce marketplace, the performance of a web-site plays a key role in attracting new and retaining current clients. New technologies are being developed to help speed up the delivery of content to customers while still allowing companies to get their message across using rich, graphical content. However, in the rush to find new technologies to improve internet performance, one low-cost alternative to these new technologies is often overlooked: client-side content caching.</p>
<p>This process is often overlooked or dismissed by web administrators and content providers seeking to improve performance. The major concern that is expressed by these groups is that they need to ensure that clients always get the freshest content possible. In their eyes, allowing their content to be cached is perceived as losing control of their message.</p>
<p>This bias against caching is, in most cases, unjustified. By understanding how server software can be used to distinguish unique caching policies for each type of content being delivered, client-side performance gains can be achieved with no new hardware or software being added to an existing web-site system.</p>
<h2>Caching</h2>
<p>When a client requests web content, this information is either retrieved directly from the origin server, from a browser cache on a local hard drive or from a nearby cache server<sup><a href="#1">[1]</a></sup>. Where and for how long the data is stored depends on how the data is tagged when it leaves the web server.  However, when discussing cache content, there are three states that content can be in: non-cacheable, fresh or stale.</p>
<p>The non-cacheable state indicates a file that should never be cached by any device that receives it and that every request for that file must be retrieved from the origin server. This places an additional load on both client and server bandwidth, as well as on the server which responds to these additional requests. In many cases, such as database queries, news content, and personalized content marked by unique cookies, the content provider may explicitly not want data to be cached to prevent stale data from being received by the client.</p>
<p>A fresh file is one that has a clearly defined future expiration date and/or does not indicate that it is non-cacheable. A file with a defined lifespan is only valid for a set number of seconds after it is downloaded, or until the explicitly stated expiry date and time is reached. At that point, the file is considered stale and must be re-verified (preferred as it requires less bandwidth) or re-loaded from the origin server.<sup><a href="#2">[2]</a></sup></p>
<p>If a file does not explicitly indicate it is non-cacheable, but does not indicate an explicit expiry period or time, the cache server assigns the file an expiry time defined in the cache servers configuration. When that deadline is reached and the cache server receives a request for that file, the server checks with the origin server to see whether the content has changed. If the file is unchanged, the counter is reset and the existing content is served to the client; if the file is changed, the new content is downloaded, cached according to its settings and then served to the client.</p>
<p>A stale file is a file in cache that is no longer valid. A client has requested information that had previously been stored in the cache and the control data for the object indicates that it has expired or is too stale to be considered for serving. The browser or cache server must now either re-validate the file with or retrieve the file from the origin server before the data can served to the client.</p>
<p>The state of an item being considered for caching is determined using one or more of 5 HTTP header messages<sup><a href="#3">[3]</a></sup> two server messages, one client message, and two that can be sent by either the client or the server.<sup><a href="#4">[4]</a></sup> These headers include: Pragma: no-cache; Cache-Control; Expires; Last-Modified; and If-Modified-Since. Each of these identifies a particular condition that the proxy server must adhere to when deciding whether the content is fresh enough to be served to the requesting client.</p>
<p>Pragma: no-cache is an HTTP/1.0 client and server header that informs caching servers not to serve the requested content to the client from their cache (client-side) and not cache the marked information if they receive it (server-side). This response has been deprecated in favor of the new HTTP/1.1 Cache-Control header, but is still used in many browsers and servers. The continued use of this header is necessary to ensure backwards-compatibility, as it cannot be guaranteed that all devices and servers will understand the HTTP/1.1 server headers.</p>
<p>Cache-Control is a family of HTTP/1.1 client and server messages that can be used to clearly define not only if an item can be cached, but also for how long and how it should be validated upon expiry. This more precise family of messages replaces the older Pragma: no-cache message. There are a large number of options for this header field, but four that are especially relevant to this discussion.<sup><a href="#5">[5]</a></sup></p>
<h3>Cache-Control: private/public</h3>
<p>This setting indicates what type of devices can cache the data. The private setting allows the marked items to be cached by the requesting client, but not by any cache servers encountered en-route. The public setting indicates that any device can cache this content. By default, public is assumed unless private is explicitly stated.</p>
<h3>Cache-Control: no-cache</h3>
<p>This is the HTTP/1.1 equivalent of Pragma: no-cache and can be used by clients to force an end-to-end retrieval of the requested files and by servers to prevent items from being cached.</p>
<h3>Cache-Control: max-age=x</h3>
<p>This setting allows the indicated files to be cached either by the client or the cache server for x seconds.</p>
<h3>Cache-Control: must-revalidate</h3>
<p>This setting informs the cache server that if the item in cache is stale, it must be re-validated before it can be served to the client.</p>
<p>A number of these settings can be combined to form a larger Cache-Control header message. For example, an administrator may want to define how long the content is valid for, and then indicate that, at the end of that period, all new requests must be revalidated with the origin server. This can be accomplished by creating a multi-field Cache-Control header message like the one below.</p>
<pre>Cache-Control: max-age=3600, must-revalidate</pre>
<p>Expires sets an explicit expiry date and time for the requested file. This is usually in the future, but a server administrator can ensure that an object is always re-validated by setting an expiry date that is in the past  an example of this will be shown below.</p>
<p>Last-Modified can indicate one of several conditions, but the most common is the last time the state of the requested object was updated. The cache server can use this to confirm an object has not changed since it was inserted into the cache, allowing for re-validation, versus completely re-loading, of objects in cache.</p>
<p>If-Modified-Since is a client-side header message that is sent either by a browser or a cache server and is set by the Last-Modified value of the object in cache. When the origin server has not set an explicit cache expiry value and the cache server has had to set an expiry time on the object using its own internal configuration, the Last-Modified value is used to confirm whether content has changed on the origin server. If the Last-Modified value on an object held by the origin server is newer than that held by the client, the entire file is re-loaded. If these values are the same, the origin server returns a 304 Not Modified HTTP message and the cache object is then served to the client and has its cache-defined counter reset.</p>
<p>Using an application trace program, clients are able to capture the data that flows out of and in to the browser application. The following two examples show how a server can use header messages to mark content as non-cacheable, or set very specific caching values.</p>
<h2>Server Messages for a Non-Cacheable Object</h2>
<pre>HTTP/1.0 200 OK
Content-Type: text/html
Content-Length: 19662
Pragma: no-cache
Cache-Control: no-cache
Server: Roxen/2.1.185
Accept-Ranges: bytes
Expires: Wed, 03 Jan 2001 00:18:55 GMT</pre>
<p>In this example, the server returns three indications that the content is non-cacheable. The first two are the Pragma: no-cache and Cache-Control: no-cache statements. With most client and cache server configurations, one of these headers on its own should be enough to prevent the requested object from being stored in cache. The web administrator in this example has chosen to ensure that any device, regardless of the version of HTTP used, will clearly understand that this object is non-cacheable.</p>
<p>However, in order to guarantee that this item is never stored in or served from cache, the Expires statement is set to a date and time that is in the past.<sup><a href="#6">[6]</a></sup> These three statements should be enough to guarantee that no cache serves this file without performing an end-to-end transfer of this object from the origin server with each request.</p>
<h2>Specific Caching Information in Server Messages</h2>
<pre>HTTP/1.1 200 OK
Date: Tue, 13 Feb 2001 14:50:31 GMT
Server: Apache/1.3.12
Cache-Control: max-age=43200
Expires: Wed, 14 Feb 2001 02:50:31 GMT
Last-Modified: Sun, 03 Dec 2000 23:52:56 GMT
ETag: "1cbf3-dfd-3a2adcd8"
Accept-Ranges: bytes
Content-Length: 3581
Connection: close
Content-Type: text/html</pre>
<p>In the example above, the server returns a header message Cache-Control: max-age=43200. This immediately informs the cache that the object can be stored in cache for up to 12 hours. This 12-hour time limit is further guaranteed by the Expires header, which is set to a date value that is exactly 12 hours ahead of the value set in the Date header message.<sup><a href="#7">[7]</a></sup></p>
<p>These two examples present two variations of web server responses containing information that makes the requested content either completely non-cacheable or cacheable only for a very specific period of time.</p>
<h2>How does caching work?</h2>
<p>Content is cached by devices on the internet, and these devices then serve this stored content when the same file is requested by the original client or another client that uses that same cache. This rather simplistic description covers a number of different cache scenarios, but two will be the focus of this paper  browser caching and caching servers.<sup><a href="#8">[8]</a></sup></p>
<p>For the remainder of this paper, the caching environment that will be discussed is one involving a network with a number of clients using a single cache server, the general internet, and a server network with a series of web servers on it.</p>
<h2>Browser Caching</h2>
<p>Browser caching is what most people are familiar with, as all web browsers perform this behavior by default. With this type of caching, the web browser stores a copy of the requested files in a cache directory on the client machine in order to help speed up page downloads. This performance increase is achieved by serving stored files from this directory on the local hard drive instead of retrieving these same files from the web server, which resides across a much slower connection than the one between the hard-drive and the local application, when an item that is stored in cache is requested.</p>
<p>To ensure that old content is not being served to the client, the browser checks its cache first to see if an item is in cache. If the item is in cache, the browser then confirms the state of the object in cache with the origin server to see if the item has been modified at the source since the browser last downloaded it. If the object has not been modified, the origin server sends a 304 Not Modified message, and the item is served from the local hard drive and not across the much slower internet.</p>
<h3>First Request for a file</h3>
<pre>GET /file.html HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-comet, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Host: 24.5.203.101
Connection: Keep-Alive

HTTP/1.1 200 OK
Date: Tue, 13 Feb 2001 20:00:22 GMT
Server: Apache
Cache-Control: max-age=604800
Last-Modified: Wed, 29 Nov 2000 15:28:38 GMT
ETag: "1df-28f1-3a2520a6"
Accept-Ranges: bytes
Content-Length: 10481
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html</pre>
<p>In the above example<sup><a href="#8">[9]</a></sup>, the file is retrieved from the server for the first time, and the server sends a 200 OK response and then returns the requested file. The items marked in blue indicate cache control data sent to the client by the server.</p>
<h3>Second Request for a file</h3>
<pre>GET /file.html HTTP/1.1
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
If-Modified-Since: Wed, 29 Nov 2000 15:28:38 GMT
If-None-Match: "1df-28f1-3a2520a6"
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Host: 24.5.203.101
Connection: Keep-Alive

HTTP/1.1 304 Not Modified
Date: Tue, 13 Feb 2001 20:01:07 GMT
Server: Apache
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
ETag: "1df-28f1-3a2520a6"
Cache-Control: max-age=604800</pre>
<p>The second request for a file sees the client send a request for the same object 40 seconds later, but with two additions. The server asks if the file has been modified since the last time it was requested by the client (If-Modified-Since). If the date in that field cannot be used by the origin server to confirm the state of the requested object, the client asks if the objects Etag tracking code has changed using the If-None-Match header message.<sup><a href="#10">[10]</a></sup> The origin server responds by verifying that object has not been modified and confirms this by returning the same Etag value that was sent by the client. This rapid client-server exchange allows the browser to quickly determine that it can serve the file directly from its local cache directory.</p>
<h2>Caching Server</h2>
<p>A caching server performs functions similar to those of a browser cache, only on a much larger scale. Where a browser cache is responsible for storing web objects for a single browser application on a single machine, a cache server stores web objects for a larger number of clients or perhaps even an entire network. With a cache server, all web requests from a network are passed through caching server, which then will serve the requested files to the client. The cache server can deliver content either directly from its own cache of objects, or by retrieving objects from the internet and then serving them to clients. <sup><a href="#11">[11]</a></sup></p>
<p>Cache servers are a more efficient than browser caches as this network-level caching process makes the object available to all users of the network once it has been retrieved. With a browser cache, each user  and, in fact, each browser application on a specific client  must maintain a unique cache of files that is not shared with other clients or applications.</p>
<p>Also, cache servers use additional information provided by the web server in the headers sent along with each web request. Browser caches simply re-validate content with each request, confirming that the content has not been modified since it was last requested. Cache servers use the values sent in the Expires and Cache-Control header messages to set explicit expiry times for objects they store.</p>
<h3>First Request for a file through a cache server</h3>
<pre>GET http://24.5.203.101/file.html HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-comet, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Host: 24.5.203.101
Proxy-Connection: Keep-Alive

HTTP/1.0 200 OK
Date: Tue, 16 Jan 2001 15:46:42 GMT
Server: Apache
Cache-Control: max-age=604800
Last-Modified: Wed, 29 Nov 2000 15:28:38 GMT
ETag: "1df-28f1-3a2520a6"
Content-Length: 10481
Content-Type: text/html
Connection: Close</pre>
<p>The first request from the client through a cache server shows two very interesting things.<sup><a href="#12">[12]</a></sup> The first is that although the client request was sent out as HTTP/1.1, the server responded using HTTP/1.0. The browser caching example above demonstrated that the responding server uses HTTP/1.1. The change in protocol is the first clue that this data was served by a cache server.</p>
<p>The second item of interest is that the file that is initially served by the proxy server has a Date field set to January 16, 2001. This server is not serving stale data; this is the default time set by the cache server to indicate a new object that has been inserted in the cache.<sup><a href="#13">[13]</a></sup></p>
<h3>Second Request for a file through a cache server  Second Browser</h3>
<pre>GET http://24.5.203.101/file.html HTTP/1.1
Host: 24.5.203.101
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; 0.7) Gecko/20010109
Accept: */*
Accept-Language: en
Accept-Encoding: gzip,deflate,compress,identity
Keep-Alive: 300
Connection: keep-alive

HTTP/1.0 200 OK
Date: Tue, 16 Jan 2001 15:46:42 GMT
Server: Apache
Cache-Control: max-age=604800
Last-Modified: Wed, 29 Nov 2000 15:28:38 GMT
ETag: "1df-28f1-3a2520a6"
Content-Length: 10481
Content-Type: text/html
Connection: Close</pre>
<h3>Third Request for a file through a cache server  Second Client Machine</h3>
<pre>GET http://24.5.203.101/file.html HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint,
application/vnd.ms-excel, application/msword, */*
Accept-Language: en-us
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Host: 24.5.203.101
Proxy-Connection: Keep-Alive

HTTP/1.0 200 OK
Date: Tue, 16 Jan 2001 15:46:42 GMT
Server: Apache
Cache-Control: max-age=604800
Last-Modified: Wed, 29 Nov 2000 15:28:38 GMT
ETag: "1df-28f1-3a2520a6"
Content-Length: 10481
Content-Type: text/html
Connection: Close</pre>
<p>A second request through the cache server, using another browser on the same client configured to use the cache server, indicates that this client retrieved the file from the cache server, not from the origin server. The Date field is the same as the initial request and the protocol has once again been swapped from HTTP/1.1 to HTTP/1.0.</p>
<p>The third example shows that the object is now not only available to different browsers on the same machine, but now that it is available to different machines on the same network, using the same cache server. By requesting the same content from another client machine on the same network, it is clear that the object is served to the client by the cache server, as the Date field set to the same value observed in the previous two examples.</p>
<h2>Why should data be cached?</h2>
<p>Many web pages that are downloaded by web browsers today are marked as being non-cacheable. The theory behind this is that there is so much dynamic and personalized content on the internet today that if any of it is cached, people using the web may not have the freshest possible content or they may end up receiving content that was personalized for another client making use of the same cache server.</p>
<p>The dynamic and personalized nature of the web today does make this a challenge, but if the design of a web-site is examined closely, it can be seen that these new features of the web can work hand-in-hand with content caching.</p>
<p>How does caching the perceived user experience? In both the browser caching and caching server discussions above, it has been demonstrated that caching helps attack the problem of internet performance on three fronts. First, caching moves content closer to the client, by placing it on local hard-drives or in local network caches. With data stored on or near the client, the network delay encountered when trying to retrieve the data is reduced or eliminated.</p>
<p>Secondly, caching reduces network traffic by serving content that is fresh as described above. Cache servers will attempt to confirm with the origin server that the objects stored in cache  if not explicitly marked for expiry  are still valid and do not need to be fully re-loaded across the internet. In order to gain the maximum performance benefit from object caching, it is vital to specify explicit cache expiry dates or periods.</p>
<p>The final performance benefit to properly defining caching configurations of content on an origin server is that server load is reduced. If the server uses carefully planned explicit caching policies, server load can be greatly reduced, improving the user experience.</p>
<p>When examining how the configuration of a web server can be modified to improve content cacheability, it is important keep in mind two very important considerations. First, the content and site administrators must have a very granular level of control over how the content being served will or wont be cached once it leaves their server. Secondly, within this need to control how content is cached, ways should be found to minimize the impact that client requests have on bandwidth and server load by allowing some content to be cached.</p>
<p>Take the example of a large, popular site that is noted for its dynamic content and rich graphics. Despite having a great deal of dynamic content, caching can serve a beneficial purpose without compromising the nature of the content being served. The primary focus of the caching evaluation should be on the rich graphical content of the site.</p>
<p>If the images of this site all have unique names that are not shared by any other object on the site, or the images all reside in the same directory tree, then this content can be marked differently within the server configuration, allowing it to be cached.<sup><a href="#13">[14]</a></sup> A policy that allows these objects to be cached for 60, 120 or 180 seconds could have a large affect on reducing the bandwidth and server strain at the modified site. During this seemingly short period of time, several dozen of even several hundred different requests for the same object could originate from a large corporate network or ISP. If local cache servers can handle these requests, both the server and client sides of the transaction could see immediate performance improvements.</p>
<p>Taking a server header from an example used earlier in the paper, it can be demonstrated how even a slight change to the server header itself can help control the caching properties of dynamic content.</p>
<h3>Dynamic Content</h3>
<pre>HTTP/1.1 200 OK
Date: Tue, 13 Feb 2001 14:50:31 GMT
Server: Apache/1.3.12
Cache-Control: no-cache, must-revalidate
Expires: Sat, 13 Jan 2001 14:50:31 GMT
Last-Modified: Sun, 03 Dec 2000 23:52:56 GMT
ETag: "1cbf3-dfd-3a2adcd8"
Accept-Ranges: bytes
Content-Length: 3581
Connection: close
Content-Type: text/html</pre>
<h3>Static Content</h3>
<pre>HTTP/1.1 200 OK
Date: Tue, 13 Feb 2001 14:50:31 GMT
Server: Apache/1.3.12
Cache-Control: max-age=43200, must-revalidate
Expires: Wed, 14 Feb 2001 02:50:31 GMT
Last-Modified: Sun, 03 Dec 2000 23:52:56 GMT
ETag: "1cbf3-dfd-3a2adcd8"
Accept-Ranges: bytes
Content-Length: 3581
Connection: close
Content-Type: text/html</pre>
<p>As can been seen above, the only difference in the headers sent with the Dynamic Content and the Static Content are the Cache-Control and Expires values. The Dynamic Content example sets Cache-Control to no-cache, must-revalidate and Expires to one month in the past. This should prevent any cache from storing this data or serving it when a request is received to retrieve the same content.</p>
<p>The Static Content modifies these two settings, making the requested object cacheable for up to 12 hours  Cache-Control value set to 43,200 seconds and an Expires value that is exactly 12 hours in the future. After the period specified, the browser cache or caching server must re-validate the content before it can be served in response to local requests.</p>
<p>The must-revalidate item is not necessary, but it does add additional control over content. Some cache servers will attempt to serve content that is stale under certain circumstances, such as if the origin server for the content cannot be reached. The must-revalidate setting forces the cache server to re-validate the stale content, and return an error if it cannot be retrieved.</p>
<p>Differentiating caching policies based on the type of content served allows a very granular level of control over what is not cached, what is cached, and for how long the content can be cached for and still be considered fresh. In this way, server and web administrators can improve site performance a little or no additional development or capital cost.</p>
<p>It is very important to note that defining specific server-side caching policies will only have a beneficial affect on server performance if explicit object caching configurations are used. The two main types of explicit caching configurations are those set by the Expires header and the Cache-Control family of headers  as seen in the example above. If no explicit value is set for object expiry, performance gains that might have been achieved are eliminated by a flood of unnecessary client and cache server requests to re-validate unchanged objects with the origin server.</p>
<h2>Conclusion</h2>
<p>Despite the growth of dynamic and personalized content on the web, there is still a great deal of highly cacheable material that is served to clients. However, many sites do not take advantage of the performance gains that can be achieved by isolating the dynamic and personalized content of their site from the relatively static content that is served alongside it.</p>
<p>Using the inherent ability to set explicit caching policies within most modern web-server applications, objects handled by a web-sever can be separated into unique content groups. With distinct caching policies for each defined group of web objects, the web-site administrator, not the cache administrator, has control over how long content is served without re-validation or re-loading. This granular control of explicit content caching policies can allow web-sites to achieve noticeable performance gains with no additional outlay for hardware and software.</p>
<hr />
<h2>Endnotes</h2>
<p><a title="1" name="1"></a>[1] The proximity that is referred to here is network proximity, not physical proximity. For example, AOLs network has some of the worlds largest cache servers and they are concentrated in Virginia; however, because of the structure of AOLs network, these cache servers are not far from the client.</p>
<p><a title="2" name="2"></a>[2] A re-verify is preferred as it consumes less bandwidth than a full re-load of the object from the origin server. With a re-verification, the origin server just confirms that the file is still valid and the cache server can simply reset the timer on the object.</p>
<p><a title="3" name="3"></a>[3] An HTTP header message is a data-control message sent by a web client or a web server to indicate a variety of data transmission parameters concerning the requests being made. Caching information is included in the information sent to and from the server.</p>
<p><a title="4" name="4"></a>[4] There are actually a substantially larger number of header messages that can be applied to a client or a server data transmission to communicate caching information. The most up-to-date list of the messages can be found in section 13 of RFC 2616, Hypertext Transfer Protocol &#8212; HTTP/1.1.</p>
<p><a title="5" name="5"></a>[5] A complete listing of the Cache-Control settings can be found in RFC 2616, Hypertext Transfer Protocol &#8212; HTTP/1.1, section 14.9.</p>
<p><a title="6" name="6"></a>[6] The initial file request that generated this header was sent on February 12, 2001.</p>
<p><a title="7" name="7"></a>[7] The Date header message indicates the date and time on the origin server when it responded to the request.</p>
<p><a title="8" name="8"></a>[8] A third type of caching, Reverse Caching or HTTPD Accelerators, are used at the server side to place highly cacheable content into high-speed machines that use solid-state storage to make retrieval of these objects very fast. This reduces the load on the web servers and allows them to concentrate on the generation of dynamic and personalized content.</p>
<p><a title="9" name="9"></a>[9] The data shown here is just application trace data.</p>
<p><a title="10" name="10"></a>[10] The Etag or entity tag is used to identify specific objects on a web server. Each item has unique Etag value, and this value is changed each time the file is modified. As an example, the Etag for a local web file was captured. This data was re-captured after the file was modified  two carriage returns were inserted.</p>
<h3>Test 1  Original File</h3>
<pre>ETag: "21ccd-10cb-399a1b33"</pre>
<h3>Test 2  Modified File</h3>
<pre>ETag: "21ccd-10cd-3a8c0597"</pre>
<p><a title="11" name="11"></a>[11] This is where the other name for a cache server comes from, as the cache server acts as a proxy for the client making the request. The term proxy server is outdated as the term proxy assumes that the device will do exactly as the client requests; this is not always the case due to the security and content control mechanisms which are a part of all cache servers today. The client isnt always guaranteed to receive the complete content they requested. Infact, many networks do not allow any content into the network that does not first go through the cache devices on that network.</p>
<p><a title="12" name="12"></a>[12] The data shown here is just application trace data. For a more complete example of what the application and network properties of a web object retrieval are, please see Appendix A and B.</p>
<p><a title="13" name="13"></a>[13] All the data captures used in this example were taken on February 11-14, 2001.</p>
<p><a title="14" name="14"></a>[14] The description used here is based on the configuration options available with the Apache/1.3.x server family, which allows caching options to be set down to the file level. Other server applications may vary in their methods of applying individual caching policies to different sets of content on the same server.</p>



Spread the Love:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F&amp;t=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance" title="Facebook"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance%20-%20http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F" title="Twitter"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://ping.fm/ref/?link=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F&amp;title=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance&amp;body=In%20todays%20highly%20competitive%20e-commerce%20marketplace%2C%20the%20performance%20of%20a%20web-site%20plays%20a%20key%20role%20in%20attracting%20new%20and%20retaining%20current%20clients.%20New%20technologies%20are%20being%20developed%20to%20help%20speed%20up%20the%20delivery%20of%20content%20to%20customers%20while%20stil" title="Ping.fm"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F&amp;title=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance&amp;bodytext=In%20todays%20highly%20competitive%20e-commerce%20marketplace%2C%20the%20performance%20of%20a%20web-site%20plays%20a%20key%20role%20in%20attracting%20new%20and%20retaining%20current%20clients.%20New%20technologies%20are%20being%20developed%20to%20help%20speed%20up%20the%20delivery%20of%20content%20to%20customers%20while%20stil" title="Digg"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F&amp;title=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance" title="StumbleUpon"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F&amp;title=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance&amp;source=Newest+Industry+Web+Performance%2C+Branding%2C+and+Social+Media&amp;summary=In%20todays%20highly%20competitive%20e-commerce%20marketplace%2C%20the%20performance%20of%20a%20web-site%20plays%20a%20key%20role%20in%20attracting%20new%20and%20retaining%20current%20clients.%20New%20technologies%20are%20being%20developed%20to%20help%20speed%20up%20the%20delivery%20of%20content%20to%20customers%20while%20stil" title="LinkedIn"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F&amp;title=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance" title="Reddit"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F" title="Slashdot"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.netvouz.com/action/submitBookmark?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F&amp;title=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance&amp;popup=no" title="Netvouz"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/netvouz.png" title="Netvouz" alt="Netvouz" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F" title="Identi.ca"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F" title="Technorati"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F&amp;title=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance&amp;notes=In%20todays%20highly%20competitive%20e-commerce%20marketplace%2C%20the%20performance%20of%20a%20web-site%20plays%20a%20key%20role%20in%20attracting%20new%20and%20retaining%20current%20clients.%20New%20technologies%20are%20being%20developed%20to%20help%20speed%20up%20the%20delivery%20of%20content%20to%20customers%20while%20stil" title="del.icio.us"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Using%20Client-Side%20Cache%20Solutions%20And%20Server-Side%20Caching%20Configurations%20To%20Improve%20Internet%20Performance&amp;body=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fusing-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance%2F" title="email"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://newestindustry.org/2006/10/03/using-client-side-cache-solutions-and-server-side-caching-configurations-to-improve-internet-performance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Interesting StatCounter &#8220;Feature&#8221;</title>
		<link>http://newestindustry.org/2005/05/04/interesting-statcounter-feature/</link>
		<comments>http://newestindustry.org/2005/05/04/interesting-statcounter-feature/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>smp</dc:creator>
				<category><![CDATA[smp]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[cool]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[ip address]]></category>
		<category><![CDATA[it]]></category>
		<category><![CDATA[Om]]></category>
		<category><![CDATA[One]]></category>
		<category><![CDATA[pr]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[proxy server]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[visitors]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://crazycanuck.wordpress.com/2005/05/04/interesting-statcounter-feature/</guid>
		<description><![CDATA[
			
				
			
		
I use StatCounter to track the visits to a few of my Web sites. Lately I have discovered a number of visitors that are logged as coming from Private IP Space addresses (10.0.0.0/8, etc.).
I know what&#8217;s happening here. These folks are behind proxy servers. When they request the StatCounter object, it is actually requested from [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F&amp;source=spierzchala&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I use StatCounter to track the visits to a few of my Web sites. Lately I have discovered a number of visitors that are logged as coming from <a href="http://www.duxcw.com/faq/network/privip.htm">Private IP Space</a> addresses (10.0.0.0/8, etc.).</p>
<p>I know what&#8217;s happening here. These folks are behind proxy servers. When they request the StatCounter object, it is actually requested from the proxy server, which then logs their Private IP address, not the one on the external interface of their proxy server.</p>
<p>I also examine my Apache logs and can easily correlate these visitors to their external IP addresses.</p>
<p>A weird &#8220;feature&#8221;, but kind of cool, except if you are the security admin for these networks.</p>



Spread the Love:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F&amp;t=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B" title="Facebook"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B%20-%20http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F" title="Twitter"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://ping.fm/ref/?link=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F&amp;title=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B&amp;body=I%20use%20StatCounter%20to%20track%20the%20visits%20to%20a%20few%20of%20my%20Web%20sites.%20Lately%20I%20have%20discovered%20a%20number%20of%20visitors%20that%20are%20logged%20as%20coming%20from%20Private%20IP%20Space%20addresses%20%2810.0.0.0%2F8%2C%20etc.%29.%0A%0AI%20know%20what%27s%20happening%20here.%20These%20folks%20are%20behind%20proxy%20se" title="Ping.fm"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F&amp;title=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B&amp;bodytext=I%20use%20StatCounter%20to%20track%20the%20visits%20to%20a%20few%20of%20my%20Web%20sites.%20Lately%20I%20have%20discovered%20a%20number%20of%20visitors%20that%20are%20logged%20as%20coming%20from%20Private%20IP%20Space%20addresses%20%2810.0.0.0%2F8%2C%20etc.%29.%0A%0AI%20know%20what%27s%20happening%20here.%20These%20folks%20are%20behind%20proxy%20se" title="Digg"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F&amp;title=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B" title="StumbleUpon"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F&amp;title=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B&amp;source=Newest+Industry+Web+Performance%2C+Branding%2C+and+Social+Media&amp;summary=I%20use%20StatCounter%20to%20track%20the%20visits%20to%20a%20few%20of%20my%20Web%20sites.%20Lately%20I%20have%20discovered%20a%20number%20of%20visitors%20that%20are%20logged%20as%20coming%20from%20Private%20IP%20Space%20addresses%20%2810.0.0.0%2F8%2C%20etc.%29.%0A%0AI%20know%20what%27s%20happening%20here.%20These%20folks%20are%20behind%20proxy%20se" title="LinkedIn"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F&amp;title=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B" title="Reddit"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B&amp;url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F" title="Slashdot"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.netvouz.com/action/submitBookmark?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F&amp;title=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B&amp;popup=no" title="Netvouz"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/netvouz.png" title="Netvouz" alt="Netvouz" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F" title="Identi.ca"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F" title="Technorati"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F&amp;title=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B&amp;notes=I%20use%20StatCounter%20to%20track%20the%20visits%20to%20a%20few%20of%20my%20Web%20sites.%20Lately%20I%20have%20discovered%20a%20number%20of%20visitors%20that%20are%20logged%20as%20coming%20from%20Private%20IP%20Space%20addresses%20%2810.0.0.0%2F8%2C%20etc.%29.%0A%0AI%20know%20what%27s%20happening%20here.%20These%20folks%20are%20behind%20proxy%20se" title="del.icio.us"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Interesting%20StatCounter%20%26%238220%3BFeature%26%238221%3B&amp;body=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Finteresting-statcounter-feature%2F" title="email"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://newestindustry.org/2005/05/04/interesting-statcounter-feature/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Web Accelerator</title>
		<link>http://newestindustry.org/2005/05/04/google-web-accelerator/</link>
		<comments>http://newestindustry.org/2005/05/04/google-web-accelerator/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>smp</dc:creator>
				<category><![CDATA[RANTING]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[comcast]]></category>
		<category><![CDATA[cro]]></category>
		<category><![CDATA[Darren Rowse]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[EAD]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Web Accelerator]]></category>
		<category><![CDATA[hits]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[ISP]]></category>
		<category><![CDATA[it]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[Om]]></category>
		<category><![CDATA[One]]></category>
		<category><![CDATA[OReilly]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[pr]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[proxy server]]></category>
		<category><![CDATA[run]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tn]]></category>
		<category><![CDATA[tracking]]></category>
		<category><![CDATA[traffic]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://crazycanuck.wordpress.com/2005/05/04/google-web-accelerator/</guid>
		<description><![CDATA[
			
				
			
		
Gee, want to make those searches even more powerful? How about we track exactly where every person on the Web is going by tracking them using a piece of software that they install on their own computers?
Google Web Accelerator. The latest from Big Brother those folks at Google.
This also explains why Google wanted to buy [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F&amp;source=spierzchala&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Gee, want to make those searches even more powerful? How about we track exactly where every person on the Web is going by tracking them using a piece of software that they install on their own computers?</p>
<p>Google Web Accelerator. The latest from <del>Big Brother</del> those folks at Google.</p>
<p>This also explains why Google wanted to <a href="http://news.com.com/Google+wants+dark+fiber/2100-1034_3-5537392.html">buy up all of that dark fiber</a>. You have to plug your proxy servers into something</p>
<p>Doesn&#8217;t mean I am not going to try it&#8230;</p>
<p><em>Via <a href="http://www.micropersuasion.com/2005/05/google_web_acce.html">Micro Persuasion</a></em></p>
<p>O&#8217;Reilly Radar has the same <del>paranoid delusions</del> privacy concerns that I do over this product. [<a href="http://radar.oreilly.com/archives/2005/05/google_web_acce.html">here</a>]</p>
<p><a href="http://battellemedia.com/archives/001493.php">John Battelle</a> notes the salient feature of the Google Accelerator at the end of his article.</p>
<blockquote><p>However, you do start to run all your web surfing habits over Google&#8217;s servers, and that, of course, makes Google something of a proxy ISP, with access to all the aggregate data that an ISP like AOL or Comcast has on you. Is that a good thing? Well, yes and no. But net net, it has implications down the road. Very soon, Google will know an awful lot about the world&#8217;s surfing habits, well beyond search. Hmmm.</p></blockquote>
<p>Search Engine Watch has a straight-forward list of the features &#8212; limited commentary. [<a href="http://blog.searchenginewatch.com/blog/050504-145307">here</a>]</p>
<p>Great comments from Techdirt.[<a href="http://techdirt.com/articles/20050504/1918235_F.shtml">here</a>]</p>
<p><a href="http://techdirt.com/articles/20050506/0826220_F.shtml">More from TechDirt</a>, pointing to a great post by <a href="http://www.tnl.net/blog/entry/Google_Accelerates_Search">Tristan Louis</a>.</p>
<p>The usually paranoid TDavid seems to be addicted to the revving icon. [<a href="http://www.makeyougohmm.com/20050505/1810/">here</a>]</p>
<p>Lifehacker <a href="http://www.lifehacker.com/software/productivity/download-of-the-day-google-web-accelerator-102295.php">comments</a>.</p>
<p>Google Blog <a href="http://www.google.com/googleblog/2005/05/time-waits-for-no-one.html">Comments</a>.</p>
<p>Darren Rowse <a href="http://www.problogger.net/archives/2005/05/05/google-web-accelerator-and-page-rank/">hits for six</a> with this quote from <a href="http://www.jall.org/blog/2005/05/05/pagerank-20/">Mike Lambert</a>:</p>
<blockquote><p>Instead of using a random surfer model, Google can use a real surfer model, based on the aggregate web traffic of the people using their Web Accelerator. They can discover /exactly/ how the Google Juice should flow in the real world.</p></blockquote>
<p>C|Net&#8217;s party-line, facts-only commentary. [<a href="http://news.com.com/Google+tool+to+speed+Web+surfing/2100-1032_3-5696496.html">here</a>]</p>
<p>Silicon Valley Watcher is prescient enough to mention that &#8220;your browsing history might be just a subpoena away from the nearest FBI office&#8221;. [<a href="http://www.siliconvalleywatcher.com/mt/archives/2005/05/google_releases.php">here</a>]</p>
<p>More Google Web Accelerator anti-love from Carson McComas. [<a href="http://blog.frogbody.com/frogblog/2005/05/no_thanks_googl.html">here</a>]</p>



Spread the Love:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F&amp;t=Google%20Web%20Accelerator" title="Facebook"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Google%20Web%20Accelerator%20-%20http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F" title="Twitter"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://ping.fm/ref/?link=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F&amp;title=Google%20Web%20Accelerator&amp;body=Gee%2C%20want%20to%20make%20those%20searches%20even%20more%20powerful%3F%20How%20about%20we%20track%20exactly%20where%20every%20person%20on%20the%20Web%20is%20going%20by%20tracking%20them%20using%20a%20piece%20of%20software%20that%20they%20install%20on%20their%20own%20computers%3F%0A%0AGoogle%20Web%20Accelerator.%20The%20latest%20from%20Big%20B" title="Ping.fm"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F&amp;title=Google%20Web%20Accelerator&amp;bodytext=Gee%2C%20want%20to%20make%20those%20searches%20even%20more%20powerful%3F%20How%20about%20we%20track%20exactly%20where%20every%20person%20on%20the%20Web%20is%20going%20by%20tracking%20them%20using%20a%20piece%20of%20software%20that%20they%20install%20on%20their%20own%20computers%3F%0A%0AGoogle%20Web%20Accelerator.%20The%20latest%20from%20Big%20B" title="Digg"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F&amp;title=Google%20Web%20Accelerator" title="StumbleUpon"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F&amp;title=Google%20Web%20Accelerator&amp;source=Newest+Industry+Web+Performance%2C+Branding%2C+and+Social+Media&amp;summary=Gee%2C%20want%20to%20make%20those%20searches%20even%20more%20powerful%3F%20How%20about%20we%20track%20exactly%20where%20every%20person%20on%20the%20Web%20is%20going%20by%20tracking%20them%20using%20a%20piece%20of%20software%20that%20they%20install%20on%20their%20own%20computers%3F%0A%0AGoogle%20Web%20Accelerator.%20The%20latest%20from%20Big%20B" title="LinkedIn"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F&amp;title=Google%20Web%20Accelerator" title="Reddit"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Google%20Web%20Accelerator&amp;url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F" title="Slashdot"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.netvouz.com/action/submitBookmark?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F&amp;title=Google%20Web%20Accelerator&amp;popup=no" title="Netvouz"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/netvouz.png" title="Netvouz" alt="Netvouz" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F" title="Identi.ca"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F" title="Technorati"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F&amp;title=Google%20Web%20Accelerator&amp;notes=Gee%2C%20want%20to%20make%20those%20searches%20even%20more%20powerful%3F%20How%20about%20we%20track%20exactly%20where%20every%20person%20on%20the%20Web%20is%20going%20by%20tracking%20them%20using%20a%20piece%20of%20software%20that%20they%20install%20on%20their%20own%20computers%3F%0A%0AGoogle%20Web%20Accelerator.%20The%20latest%20from%20Big%20B" title="del.icio.us"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Google%20Web%20Accelerator&amp;body=http%3A%2F%2Fnewestindustry.org%2F2005%2F05%2F04%2Fgoogle-web-accelerator%2F" title="email"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://newestindustry.org/2005/05/04/google-web-accelerator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Performance Improvement From Caching and Compression</title>
		<link>http://newestindustry.org/2005/04/30/performance-improvement-from-caching-and-compression/</link>
		<comments>http://newestindustry.org/2005/04/30/performance-improvement-from-caching-and-compression/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>smp</dc:creator>
				<category><![CDATA[smp]]></category>
		<category><![CDATA[ads]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[cache-control]]></category>
		<category><![CDATA[Cacheability]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[compress]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[corporate]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[EAD]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[improvement]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[it]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[mod_gzip]]></category>
		<category><![CDATA[Om]]></category>
		<category><![CDATA[One]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[origin server]]></category>
		<category><![CDATA[Pages]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[performance improvement]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[pr]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[proxy server]]></category>
		<category><![CDATA[run]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[the Origin]]></category>
		<category><![CDATA[The origin server]]></category>
		<category><![CDATA[traffic]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://crazycanuck.wordpress.com/2005/04/30/performance-improvement-from-caching-and-compression/</guid>
		<description><![CDATA[
			
				
			
		
This paper is an extension of the work done for another article that highlighted the performance benefits of retrieving uncompressed and compressed objects directly from the origin server. I wanted to add a proxy server into the stream and determine if proxy servers helped improve the performance of object downloads, and by how much.
Using the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F&amp;source=spierzchala&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>This paper is an extension of the work done for <a href="http://www.newestindustry.org/index.php/2005/04/30/performance_improvement_from_compression">another article</a> that highlighted the performance benefits of retrieving uncompressed and compressed objects directly from the origin server. I wanted to add a proxy server into the stream and determine if proxy servers helped improve the performance of object downloads, and by how much.</p>
<p>Using the same series of objects in the original compression article<sup>[1]</sup>, the CURL tests were re-run 3 times:</p>
<ol>
<li>Directly from the origin server</li>
<li>Through the proxy server, to load the files into cache</li>
<li>Through the proxy server, to avoid retrieving files from the origin.<sup>[2]</sup></li>
</ol>
<p>	eries of three tests was repeated twice: once for the uncompressed files, and then for the compressed objects.<sup>[3]</sup></p>
<p>As can be seen clearly in the plots below, compression caused web page download times to improve greatly, when the objects were retrieved from the source. However, the performance difference between compressed and uncompressed data all but disappears when retrieving objects from a proxy server on a corporate LAN.</p>
<div align="center"><a href="http://www.newestindustry.org/media/uncompressed_pages.png"><img src="http://www.newestindustry.org/media/uncompressed_pages.png" border="0" alt="" height="98%" width="98%" /></a><br /><a href="http://www.newestindustry.org/media/compressed_pages.png"><img src="http://www.newestindustry.org/media/compressed_pages.png" border="0" alt="" height="98%" width="98%" /></a></div>
<p>Instead of the linear growth between object size and download time seen in both of the retrieval tests that used the origin server (Source and Proxy Load data), the Proxy Draw data clearly shows the benefits that accrue when a proxy server is added to a network to assist with serving HTTP traffic.</p>
<blockquote><p><strong>Uncompressed Pages</strong></p>
<table border="1" cellpadding="3" cellspacing="3">
<tr>
<td></td>
<td><b>MEAN DOWNLOAD TIME</b></td>
</tr>
<tr>
<td>Total Time Uncompressed &#8212; No Proxy</td>
<td>0.256</td>
</tr>
<tr>
<td>Total Time Uncompressed &#8212; Proxy Load</td>
<td>0.254</td>
</tr>
<tr>
<td>Total Time Uncompressed &#8212; Proxy Draw</td>
<td>0.110</td>
</tr>
</table>
</blockquote>
<blockquote><p><strong>Compressed Pages</strong></p>
<table border="1" cellpadding="3" cellspacing="3">
<tr>
<td>Total Time Compressed &#8212; No Proxy</td>
<td>0.181</td>
</tr>
<tr>
<td>Total Time Compressed &#8212; Proxy Load</td>
<td>0.140</td>
</tr>
<tr>
<td>Total Time Compressed &#8212; Proxy Draw</td>
<td>0.104</td>
</tr>
</table>
</blockquote>
<p>The data above shows just how much of an improvement is gained by adding a local proxy server, explicit caching descriptions and compression can add to a Web site. For sites that do force a great of requests to be returned directly to the origin server, compression will be of great help in reducing bandwidth costs and improving performance. However, by allowing pages to be cached in local proxy servers, the difference between compressed and uncompressed pages vanishes.</p>
<h2>Conclusion</h2>
<p>Compression is a very good start when attempting to optimize performance. The addition of explicit caching messages in server responses which allow proxy servers to serve cached data to clients on remote local LANs can improve performance to even a greater extent than compression can. These two should be used together to improve the overall performance of Web sites.</p>
<hr />
<p>[1] The test set was made up of the 1952 HTML files located in the top directory of the <a href="http://www.tldp.org/docs.html#howto">Linux Documentation Project</a> HTML archive.</p>
<p>[2] All of the pages in these tests announced the following server response header indicating its cacheability: <em>Cache-Control: max-age=3600</em></p>
<p>[3] A note on the compressed files: all compression was performed dynamically by mod_gzip for Apache/1.3.27.</p>



Spread the Love:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F&amp;t=Performance%20Improvement%20From%20Caching%20and%20Compression" title="Facebook"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Performance%20Improvement%20From%20Caching%20and%20Compression%20-%20http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F" title="Twitter"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://ping.fm/ref/?link=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;body=This%20paper%20is%20an%20extension%20of%20the%20work%20done%20for%20another%20article%20that%20highlighted%20the%20performance%20benefits%20of%20retrieving%20uncompressed%20and%20compressed%20objects%20directly%20from%20the%20origin%20server.%20I%20wanted%20to%20add%20a%20proxy%20server%20into%20the%20stream%20and%20determine%20" title="Ping.fm"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;bodytext=This%20paper%20is%20an%20extension%20of%20the%20work%20done%20for%20another%20article%20that%20highlighted%20the%20performance%20benefits%20of%20retrieving%20uncompressed%20and%20compressed%20objects%20directly%20from%20the%20origin%20server.%20I%20wanted%20to%20add%20a%20proxy%20server%20into%20the%20stream%20and%20determine%20" title="Digg"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression" title="StumbleUpon"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;source=Newest+Industry+Web+Performance%2C+Branding%2C+and+Social+Media&amp;summary=This%20paper%20is%20an%20extension%20of%20the%20work%20done%20for%20another%20article%20that%20highlighted%20the%20performance%20benefits%20of%20retrieving%20uncompressed%20and%20compressed%20objects%20directly%20from%20the%20origin%20server.%20I%20wanted%20to%20add%20a%20proxy%20server%20into%20the%20stream%20and%20determine%20" title="LinkedIn"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression" title="Reddit"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;url=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F" title="Slashdot"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.netvouz.com/action/submitBookmark?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;popup=no" title="Netvouz"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/netvouz.png" title="Netvouz" alt="Netvouz" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F" title="Identi.ca"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F" title="Technorati"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F&amp;title=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;notes=This%20paper%20is%20an%20extension%20of%20the%20work%20done%20for%20another%20article%20that%20highlighted%20the%20performance%20benefits%20of%20retrieving%20uncompressed%20and%20compressed%20objects%20directly%20from%20the%20origin%20server.%20I%20wanted%20to%20add%20a%20proxy%20server%20into%20the%20stream%20and%20determine%20" title="del.icio.us"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Performance%20Improvement%20From%20Caching%20and%20Compression&amp;body=http%3A%2F%2Fnewestindustry.org%2F2005%2F04%2F30%2Fperformance-improvement-from-caching-and-compression%2F" title="email"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://newestindustry.org/2005/04/30/performance-improvement-from-caching-and-compression/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sears Shuts Me Down</title>
		<link>http://newestindustry.org/2004/12/15/sears-shuts-me-down/</link>
		<comments>http://newestindustry.org/2004/12/15/sears-shuts-me-down/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>smp</dc:creator>
				<category><![CDATA[GrabPERF]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[information]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[ip address]]></category>
		<category><![CDATA[it]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[Om]]></category>
		<category><![CDATA[One]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[pr]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[proxy server]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[TCP]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[traffic]]></category>

		<guid isPermaLink="false">http://crazycanuck.wordpress.com/2004/12/15/sears-shuts-me-down/</guid>
		<description><![CDATA[
			
				
			
		
Starting at approximately 18:00 EST on December 14, 2004, Sears began blocking all incoming requests from my public IP address, most likely due to the GrabPERF testing I do from here.

How do I know it&#8217;s a filter and not a performance issue? Well, when I re-route traffic through one of the many thousands of open [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F&amp;source=spierzchala&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Starting at approximately 18:00 EST on December 14, 2004, Sears began blocking all incoming requests from my public IP address, most likely due to the GrabPERF testing I do from here.</p>
<p><img width="500" height="250" border="0" src="http://www.newestindustry.org/media/sears14dec2004blocked.png" alt="Sears14dec2004blocked" /></p>
<p>How do I know it&#8217;s a filter and not a performance issue? Well, when I re-route traffic through one of the many thousands of open proxy servers available, the page comes up instantly. Also, they are doing a smart thing, and not sending an explicit TCP Reset; they are simply routing the TCP SYN requests into the &quot;bit bucket&quot; &#8212; a DROP rule for firewall wonks out there.</p>
<p>I have terminated testing of this site. Guess this means my wife can&#8217;t access her order information for the oven part &#8212; my bad.</p>



Spread the Love:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F&amp;t=Sears%20Shuts%20Me%20Down" title="Facebook"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Sears%20Shuts%20Me%20Down%20-%20http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F" title="Twitter"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://ping.fm/ref/?link=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F&amp;title=Sears%20Shuts%20Me%20Down&amp;body=Starting%20at%20approximately%2018%3A00%20EST%20on%20December%2014%2C%202004%2C%20Sears%20began%20blocking%20all%20incoming%20requests%20from%20my%20public%20IP%20address%2C%20most%20likely%20due%20to%20the%20GrabPERF%20testing%20I%20do%20from%20here.%0A%0A%0A%0A%0A%0AHow%20do%20I%20know%20it%27s%20a%20filter%20and%20not%20a%20performance%20issue%3F%20Well" title="Ping.fm"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F&amp;title=Sears%20Shuts%20Me%20Down&amp;bodytext=Starting%20at%20approximately%2018%3A00%20EST%20on%20December%2014%2C%202004%2C%20Sears%20began%20blocking%20all%20incoming%20requests%20from%20my%20public%20IP%20address%2C%20most%20likely%20due%20to%20the%20GrabPERF%20testing%20I%20do%20from%20here.%0A%0A%0A%0A%0A%0AHow%20do%20I%20know%20it%27s%20a%20filter%20and%20not%20a%20performance%20issue%3F%20Well" title="Digg"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F&amp;title=Sears%20Shuts%20Me%20Down" title="StumbleUpon"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F&amp;title=Sears%20Shuts%20Me%20Down&amp;source=Newest+Industry+Web+Performance%2C+Branding%2C+and+Social+Media&amp;summary=Starting%20at%20approximately%2018%3A00%20EST%20on%20December%2014%2C%202004%2C%20Sears%20began%20blocking%20all%20incoming%20requests%20from%20my%20public%20IP%20address%2C%20most%20likely%20due%20to%20the%20GrabPERF%20testing%20I%20do%20from%20here.%0A%0A%0A%0A%0A%0AHow%20do%20I%20know%20it%27s%20a%20filter%20and%20not%20a%20performance%20issue%3F%20Well" title="LinkedIn"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F&amp;title=Sears%20Shuts%20Me%20Down" title="Reddit"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Sears%20Shuts%20Me%20Down&amp;url=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F" title="Slashdot"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.netvouz.com/action/submitBookmark?url=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F&amp;title=Sears%20Shuts%20Me%20Down&amp;popup=no" title="Netvouz"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/netvouz.png" title="Netvouz" alt="Netvouz" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F" title="Identi.ca"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F" title="Technorati"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F&amp;title=Sears%20Shuts%20Me%20Down&amp;notes=Starting%20at%20approximately%2018%3A00%20EST%20on%20December%2014%2C%202004%2C%20Sears%20began%20blocking%20all%20incoming%20requests%20from%20my%20public%20IP%20address%2C%20most%20likely%20due%20to%20the%20GrabPERF%20testing%20I%20do%20from%20here.%0A%0A%0A%0A%0A%0AHow%20do%20I%20know%20it%27s%20a%20filter%20and%20not%20a%20performance%20issue%3F%20Well" title="del.icio.us"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Sears%20Shuts%20Me%20Down&amp;body=http%3A%2F%2Fnewestindustry.org%2F2004%2F12%2F15%2Fsears-shuts-me-down%2F" title="email"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://newestindustry.org/2004/12/15/sears-shuts-me-down/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
