<?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: Pitfall of proxying HTTP requests through Lighttpd</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/</link>
	<description>Percona&#039;s MySQL &#38; InnoDB performance and scalability blog</description>
	<lastBuildDate>Sat, 11 Feb 2012 16:45:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Dieter@be</title>
		<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/comment-page-1/#comment-692396</link>
		<dc:creator>Dieter@be</dc:creator>
		<pubDate>Tue, 08 Dec 2009 10:57:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/#comment-692396</guid>
		<description>&gt; The store-and-forward nature of lighttpd is good for getting data away from the backends as quickly as possible regardless of client &gt; speed, thus releasing them to handle other requests.

Are you sure of this?  A while back I also assumed such logic and implemented nginx proxying in front of an apache webfarm (+-25 webservers).  Too my surprise however, it didn&#039;t help at all: the apache servers were as loaded as before.  Later, a more experienced colleague explained me that the Linux kernel will automatically change the size of the outgoing tcp buffers so that they are big enough to hold most of the outgoing reponses entirely, yet small enough to not waste too much ram.
So the result would be that when apache has processed an http request and generated the response, it can put it in the tcp buffer and start handling a new request.  I.e. if the outgoing response all fits in the buffer, the kernel buffers the data as long as the client is in the middle of getting his data.

Dieter</description>
		<content:encoded><![CDATA[<p>&gt; The store-and-forward nature of lighttpd is good for getting data away from the backends as quickly as possible regardless of client &gt; speed, thus releasing them to handle other requests.</p>
<p>Are you sure of this?  A while back I also assumed such logic and implemented nginx proxying in front of an apache webfarm (+-25 webservers).  Too my surprise however, it didn&#8217;t help at all: the apache servers were as loaded as before.  Later, a more experienced colleague explained me that the Linux kernel will automatically change the size of the outgoing tcp buffers so that they are big enough to hold most of the outgoing reponses entirely, yet small enough to not waste too much ram.<br />
So the result would be that when apache has processed an http request and generated the response, it can put it in the tcp buffer and start handling a new request.  I.e. if the outgoing response all fits in the buffer, the kernel buffers the data as long as the client is in the middle of getting his data.</p>
<p>Dieter</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dieselstation</title>
		<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/comment-page-1/#comment-204991</link>
		<dc:creator>Dieselstation</dc:creator>
		<pubDate>Mon, 26 Nov 2007 14:04:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/#comment-204991</guid>
		<description>Julian &amp; Maciej,

Considering your input, I will change my server setup and see how it behaves over a period of week. Dieselstation serves high res wallpapers, so probably it makes sense to serve images directly through lighttpd instead of proxying the request from apache to lighttpd.</description>
		<content:encoded><![CDATA[<p>Julian &amp; Maciej,</p>
<p>Considering your input, I will change my server setup and see how it behaves over a period of week. Dieselstation serves high res wallpapers, so probably it makes sense to serve images directly through lighttpd instead of proxying the request from apache to lighttpd.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/comment-page-1/#comment-204361</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Sun, 25 Nov 2007 18:46:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/#comment-204361</guid>
		<description>I spoke to Jan about this case a while back and he was going to add on disk buffering for large sizes though I&#039;m not sure if this was done in lighty 1.5 or waits for next version.</description>
		<content:encoded><![CDATA[<p>I spoke to Jan about this case a while back and he was going to add on disk buffering for large sizes though I&#8217;m not sure if this was done in lighty 1.5 or waits for next version.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Monashev</title>
		<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/comment-page-1/#comment-204246</link>
		<dc:creator>Michael Monashev</dc:creator>
		<pubDate>Sun, 25 Nov 2007 14:58:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/#comment-204246</guid>
		<description>nginx forever! :-)</description>
		<content:encoded><![CDATA[<p>nginx forever! <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Maciej Dobrzanski</title>
		<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/comment-page-1/#comment-203656</link>
		<dc:creator>Maciej Dobrzanski</dc:creator>
		<pubDate>Sat, 24 Nov 2007 21:37:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/#comment-203656</guid>
		<description>Dieselstation,

As Julian pointed out configuring it other way around makes no sense as Apache is the heavy one. The correct setup is to avoid any larger objects sent through Lighttpd proxy, but to serve them with Lighty directly. But this, obviously, may not be possible to do however in case of bugs as mentioned in my post :)</description>
		<content:encoded><![CDATA[<p>Dieselstation,</p>
<p>As Julian pointed out configuring it other way around makes no sense as Apache is the heavy one. The correct setup is to avoid any larger objects sent through Lighttpd proxy, but to serve them with Lighty directly. But this, obviously, may not be possible to do however in case of bugs as mentioned in my post <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julian</title>
		<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/comment-page-1/#comment-203475</link>
		<dc:creator>Julian</dc:creator>
		<pubDate>Sat, 24 Nov 2007 15:23:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/#comment-203475</guid>
		<description>@Dieseelstation:
Such a setup would be nonsense, because you would have to start a &#039;big&#039; apache process just to proxy your static content which is served by lighttpd. Just run both on different ports and do no proxying.</description>
		<content:encoded><![CDATA[<p>@Dieseelstation:<br />
Such a setup would be nonsense, because you would have to start a &#8216;big&#8217; apache process just to proxy your static content which is served by lighttpd. Just run both on different ports and do no proxying.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dieselstation</title>
		<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/comment-page-1/#comment-203005</link>
		<dc:creator>Dieselstation</dc:creator>
		<pubDate>Sat, 24 Nov 2007 02:27:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/#comment-203005</guid>
		<description>Do you think this problem would exists if the setup was reversed? Meaning, let Apache be your prime server and do the proxy forward for the static content to the lighttpd! In that case, lighttpd will not consume as much memory and will do its job efficiently.</description>
		<content:encoded><![CDATA[<p>Do you think this problem would exists if the setup was reversed? Meaning, let Apache be your prime server and do the proxy forward for the static content to the lighttpd! In that case, lighttpd will not consume as much memory and will do its job efficiently.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: davies</title>
		<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/comment-page-1/#comment-202577</link>
		<dc:creator>davies</dc:creator>
		<pubDate>Fri, 23 Nov 2007 13:55:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/#comment-202577</guid>
		<description>o, I will check it again, thank you!</description>
		<content:encoded><![CDATA[<p>o, I will check it again, thank you!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: citrin</title>
		<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/comment-page-1/#comment-202366</link>
		<dc:creator>citrin</dc:creator>
		<pubDate>Fri, 23 Nov 2007 08:51:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/#comment-202366</guid>
		<description>nginx with default config in such situation buffer upstream response on disk.</description>
		<content:encoded><![CDATA[<p>nginx with default config in such situation buffer upstream response on disk.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: davies</title>
		<link>http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/comment-page-1/#comment-202289</link>
		<dc:creator>davies</dc:creator>
		<pubDate>Fri, 23 Nov 2007 07:05:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/11/22/pitfall-of-proxying-requests-with-lighttpd/#comment-202289</guid>
		<description>I had the problem with Nginx too, when i downloaded a big file (750M), and using Nginx as a reversed proxy before lighttpd.</description>
		<content:encoded><![CDATA[<p>I had the problem with Nginx too, when i downloaded a big file (750M), and using Nginx as a reversed proxy before lighttpd.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

