<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: COMET: Socket Hungry AJAX</title>
	<atom:link href="http://pathfindersoftware.com/2006/05/comet_socket_hu/feed/" rel="self" type="application/rss+xml" />
	<link>http://pathfindersoftware.com/2006/05/comet_socket_hu/</link>
	<description>The Fastest Way to Launch Successful Software</description>
	<lastBuildDate>Thu, 19 Jan 2012 16:36:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Robert Kieffer</title>
		<link>http://pathfindersoftware.com/2006/05/comet_socket_hu/#comment-5137</link>
		<dc:creator>Robert Kieffer</dc:creator>
		<pubDate>Thu, 25 Jan 2007 16:18:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=575#comment-5137</guid>
		<description>&lt;p&gt;While it&#039;s true there are some hurdles to overcome with stateful firewalls, proxies, etc.  most of these can be managed by judicious use of caching headers.  The &quot;wasted sockets and threads&quot; are addressed in modern web servers that limit the size of the TCP/IP stacks, and that do away with the &quot;1 thread per request&quot; model and instead allow a thread to suspend a response.&lt;/p&gt;

&lt;p&gt;As for your argument about wasted resources, your example of 10K clients polling every 1/2 second is a a red herring.  There is simply no way that a traditional polling architecture can handle the required 20,000 requests/second this requires.  Most web servers max out at 1,000-2,000 requests/second for _static_ files, let alone dynamically generated content (as this requires) which is typically only served at 100-200 request/second.  The only way you would &quot;only have a few hundred sockets open at any one time&quot; is if your CPU can process those requests fast enough.  But it can&#039;t - it wouldn&#039;t just overheat, it would explode in giant fireball as soon as as it started receiving requests! :)&lt;/p&gt;

&lt;p&gt;(and that&#039;s not even mentioning the 20MB/sec data transfer rates required by 1KB in header data x 20K request/second.)&lt;/p&gt;

&lt;p&gt;Contrast that to the in-the-field, yes-it-really-works, example of the COMET-based AIM Express (aimexpress.aol.com), whose servers handle 10,000+ simultaneous COMET connections on hardware that was available bought in 2003, and I think the scalability (and advantages) of the COMET architecture are pretty compelling.&lt;br /&gt;
&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>While it&#8217;s true there are some hurdles to overcome with stateful firewalls, proxies, etc.  most of these can be managed by judicious use of caching headers.  The &#8220;wasted sockets and threads&#8221; are addressed in modern web servers that limit the size of the TCP/IP stacks, and that do away with the &#8220;1 thread per request&#8221; model and instead allow a thread to suspend a response.</p>
<p>As for your argument about wasted resources, your example of 10K clients polling every 1/2 second is a a red herring.  There is simply no way that a traditional polling architecture can handle the required 20,000 requests/second this requires.  Most web servers max out at 1,000-2,000 requests/second for _static_ files, let alone dynamically generated content (as this requires) which is typically only served at 100-200 request/second.  The only way you would &#8220;only have a few hundred sockets open at any one time&#8221; is if your CPU can process those requests fast enough.  But it can&#8217;t &#8211; it wouldn&#8217;t just overheat, it would explode in giant fireball as soon as as it started receiving requests! <img src='http://pathfindersoftware.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>(and that&#8217;s not even mentioning the 20MB/sec data transfer rates required by 1KB in header data x 20K request/second.)</p>
<p>Contrast that to the in-the-field, yes-it-really-works, example of the COMET-based AIM Express (aimexpress.aol.com), whose servers handle 10,000+ simultaneous COMET connections on hardware that was available bought in 2003, and I think the scalability (and advantages) of the COMET architecture are pretty compelling.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Hansen</title>
		<link>http://pathfindersoftware.com/2006/05/comet_socket_hu/#comment-5136</link>
		<dc:creator>Thomas Hansen</dc:creator>
		<pubDate>Sat, 16 Dec 2006 15:47:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=575#comment-5136</guid>
		<description>&lt;p&gt;I&#039;ve implemented the server-push http pattern a couple of times, I&#039;ve also blogged quite extensively about it, though I call it LazyHttp...&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>I&#8217;ve implemented the server-push http pattern a couple of times, I&#8217;ve also blogged quite extensively about it, though I call it LazyHttp&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (User agent is rejected)
Page Caching using memcached (User agent is rejected)

Served from: pathfindersoftware.com @ 2012-02-09 18:18:13 -->
