<?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: Lighttz - a simple and fast web server</title>
	<atom:link href="http://www.zenebo.com/word/asynchronous-programming/lighttz-a-simple-and-fast-web-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zenebo.com/word/asynchronous-programming/lighttz-a-simple-and-fast-web-server/</link>
	<description>Day in the life of a coder  &#124;   Aspicio.meum. by Arek Bochinski</description>
	<pubDate>Thu, 11 Mar 2010 17:18:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: inreb</title>
		<link>http://www.zenebo.com/word/asynchronous-programming/lighttz-a-simple-and-fast-web-server/comment-page-1/#comment-1398</link>
		<dc:creator>inreb</dc:creator>
		<pubDate>Thu, 21 May 2009 12:45:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenebo.com/word/?p=10#comment-1398</guid>
		<description>I didn't try nginx on linux jet, but but on freebsd it is really efficient. I couldn't ever get it to use more than 10% cpu (user) without keep-alive.

Some hints about your testing:

nginx has a feature to serve an empty 1x1 transparent gif from memory. the other servers might have memory caching or similar capabilities making the comparison more interesting.

apache is probably not interesting at all for a comparison, because it's architecture is focused on hosting "low-tech" scripting engines like php, which has quite different needs.

user cpu usage would be interesting to report, as we want to know how much time is spent in the application code.

thttpd would be an interesting candidate to compare against, as it also doesn't support keep-alive requests.</description>
		<content:encoded><![CDATA[<p>I didn&#8217;t try nginx on linux jet, but but on freebsd it is really efficient. I couldn&#8217;t ever get it to use more than 10% cpu (user) without keep-alive.</p>
<p>Some hints about your testing:</p>
<p>nginx has a feature to serve an empty 1&#215;1 transparent gif from memory. the other servers might have memory caching or similar capabilities making the comparison more interesting.</p>
<p>apache is probably not interesting at all for a comparison, because it&#8217;s architecture is focused on hosting &#8220;low-tech&#8221; scripting engines like php, which has quite different needs.</p>
<p>user cpu usage would be interesting to report, as we want to know how much time is spent in the application code.</p>
<p>thttpd would be an interesting candidate to compare against, as it also doesn&#8217;t support keep-alive requests.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: roger</title>
		<link>http://www.zenebo.com/word/asynchronous-programming/lighttz-a-simple-and-fast-web-server/comment-page-1/#comment-778</link>
		<dc:creator>roger</dc:creator>
		<pubDate>Thu, 23 Apr 2009 13:29:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenebo.com/word/?p=10#comment-778</guid>
		<description>Here's nginx's response to this:
http://www.ruby-forum.com/topic/142137#new

"Also note that lighttz does not read file at all each request." (and that nginx might be tunable to come to similar speeds).
Cheers!
-=r</description>
		<content:encoded><![CDATA[<p>Here&#8217;s nginx&#8217;s response to this:<br />
<a href="http://www.ruby-forum.com/topic/142137#new" rel="nofollow">http://www.ruby-forum.com/topic/142137#new</a></p>
<p>&#8220;Also note that lighttz does not read file at all each request.&#8221; (and that nginx might be tunable to come to similar speeds).<br />
Cheers!<br />
-=r</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcus</title>
		<link>http://www.zenebo.com/word/asynchronous-programming/lighttz-a-simple-and-fast-web-server/comment-page-1/#comment-316</link>
		<dc:creator>Marcus</dc:creator>
		<pubDate>Mon, 23 Feb 2009 20:30:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenebo.com/word/?p=10#comment-316</guid>
		<description>I get the feeling the issue is related to TCP Keepalive, which I think HTTPerf uses automatically.  I've been trying to add Keepalive support to lighttz, but can't seem to get it working. (setsockopt...)

Any ideas?</description>
		<content:encoded><![CDATA[<p>I get the feeling the issue is related to TCP Keepalive, which I think HTTPerf uses automatically.  I&#8217;ve been trying to add Keepalive support to lighttz, but can&#8217;t seem to get it working. (setsockopt&#8230;)</p>
<p>Any ideas?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcus</title>
		<link>http://www.zenebo.com/word/asynchronous-programming/lighttz-a-simple-and-fast-web-server/comment-page-1/#comment-315</link>
		<dc:creator>Marcus</dc:creator>
		<pubDate>Mon, 23 Feb 2009 15:21:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenebo.com/word/?p=10#comment-315</guid>
		<description>I just tried Lighttz, and it gave some pleasingly fast results using ab.  However, I tried using HTTPerf to test the output, and it would only return as many requests as the --num-conns=X option. e.g. if you set --num-conns=5, you get 5 2xx responses, then it quits.

Do you know why this happens?  Does it have something to do with not closing connections properly?

Thanks.</description>
		<content:encoded><![CDATA[<p>I just tried Lighttz, and it gave some pleasingly fast results using ab.  However, I tried using HTTPerf to test the output, and it would only return as many requests as the &#8211;num-conns=X option. e.g. if you set &#8211;num-conns=5, you get 5 2xx responses, then it quits.</p>
<p>Do you know why this happens?  Does it have something to do with not closing connections properly?</p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cocobear</title>
		<link>http://www.zenebo.com/word/asynchronous-programming/lighttz-a-simple-and-fast-web-server/comment-page-1/#comment-300</link>
		<dc:creator>cocobear</dc:creator>
		<pubDate>Sat, 07 Feb 2009 15:13:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenebo.com/word/?p=10#comment-300</guid>
		<description>gcc -LLIBDIR -o lighttz lighttz.c -lev

I should use "-LLIBDIR" flag, else:

[cocobear@cocobear Download]$ ./lighttz 
./lighttz: error while loading shared libraries: libev.so.3: cannot open shared object file: No such file or directory</description>
		<content:encoded><![CDATA[<p>gcc -LLIBDIR -o lighttz lighttz.c -lev</p>
<p>I should use &#8220;-LLIBDIR&#8221; flag, else:</p>
<p>[cocobear@cocobear Download]$ ./lighttz<br />
./lighttz: error while loading shared libraries: libev.so.3: cannot open shared object file: No such file or directory</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: admin</title>
		<link>http://www.zenebo.com/word/asynchronous-programming/lighttz-a-simple-and-fast-web-server/comment-page-1/#comment-167</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Tue, 14 Oct 2008 16:49:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenebo.com/word/?p=10#comment-167</guid>
		<description>Joshua, that is a linker error.
1. You have to install libev . Download the latest source code for LibEv , do a makefile compile and install .

The linker should then find the compiled libev in your lib folder. Depending on the system , it may be located in : /usr/local/lib 

The compiled .so shared object will be found when given the -lev flag at compile time .

If you encounter errors with dynamic linking, you can set a search path to the directory where your libev resides. Let's say that it is in /usr/local/lib . You could tell the linker to search that directory by typing this in command line:

LD_RUN_PATH=/usr/local/lib
export LD_RUN_PATH


Arek Bochinski</description>
		<content:encoded><![CDATA[<p>Joshua, that is a linker error.<br />
1. You have to install libev . Download the latest source code for LibEv , do a makefile compile and install .</p>
<p>The linker should then find the compiled libev in your lib folder. Depending on the system , it may be located in : /usr/local/lib </p>
<p>The compiled .so shared object will be found when given the -lev flag at compile time .</p>
<p>If you encounter errors with dynamic linking, you can set a search path to the directory where your libev resides. Let&#8217;s say that it is in /usr/local/lib . You could tell the linker to search that directory by typing this in command line:</p>
<p>LD_RUN_PATH=/usr/local/lib<br />
export LD_RUN_PATH</p>
<p>Arek Bochinski</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Walker</title>
		<link>http://www.zenebo.com/word/asynchronous-programming/lighttz-a-simple-and-fast-web-server/comment-page-1/#comment-166</link>
		<dc:creator>Joshua Walker</dc:creator>
		<pubDate>Tue, 14 Oct 2008 15:48:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.zenebo.com/word/?p=10#comment-166</guid>
		<description>Could you help me compiling lighttz.c?

gcc  -o"lighttz"  ./lighttz.o   -lev

returns an error

/usr/bin/ld: can't found -lev
collect2: ld returned 1 exit status</description>
		<content:encoded><![CDATA[<p>Could you help me compiling lighttz.c?</p>
<p>gcc  -o&#8221;lighttz&#8221;  ./lighttz.o   -lev</p>
<p>returns an error</p>
<p>/usr/bin/ld: can&#8217;t found -lev<br />
collect2: ld returned 1 exit status</p>
]]></content:encoded>
	</item>
</channel>
</rss>
