<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>lighty's life: more threaded io</title>
    <link>http://blog.lighttpd.net/articles/2007/02/01/more-threaded-io</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>more threaded io</title>
      <description>&lt;p&gt;After a long night we finally have everything in place for a threaded stat() calls. Not only that, we also have a new network backend for all those platforms which have problems with the posix-aio on. You need to have glib2-2.6.0 or higher installed.&lt;/p&gt;


The new options are:
&lt;pre&gt;
server.max-stat-threads = 4
server.max-write-threads = 8
server.network-backend = "gthread-aio" 
&lt;/pre&gt;

	&lt;p&gt;Depending on the backend, your OS and the number of disks you might want to raise the two values, but keep in mind that you will get problems if you raise them too much. Performance will decrease again at a given point.&lt;/p&gt;


	&lt;p&gt;The performance of the different backends is: linux-aio-sendfile, posix-aio, gthread-aio, ...&lt;/p&gt;


	&lt;p&gt;On the way linux-aio-sendfile and posix-aio should behave better under high concurrent load now. They even got some stats:&lt;/p&gt;


&lt;pre&gt;
server.io.linux-aio.async-read: 1261
server.io.linux-aio.sync-read: 551
&lt;/pre&gt;

	&lt;p&gt;Time for benchmarks, check my earlier article about &lt;a href="http://blog.lighttpd.net/articles/2006/11/12/lighty-1-5-0-and-linux-aio"&gt;lighty-1-5-0-and-linux-aio&lt;/a&gt; and try to generate the same set of testfiles and take &lt;a href="http://www.acme.com/software/http_load/"&gt;http_load&lt;/a&gt; to generate random load. It is important that you use more files then you can cache in memory.&lt;/p&gt;
</description>
      <pubDate>Thu, 01 Feb 2007 12:01:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:264775b1-de0c-44a8-97bb-f2e2207756d0</guid>
      <author>jan</author>
      <link>http://blog.lighttpd.net/articles/2007/02/01/more-threaded-io</link>
      <category>lighttpd</category>
      <category>aio</category>
      <trackback:ping>http://blog.lighttpd.net/articles/trackback/3259</trackback:ping>
    </item>
    <item>
      <title>"more threaded io" by Jan Kneschke</title>
      <description>I benchmarked it now with 10k files and got 1.8MByte/s with async-read() and 800kbyte/s with sync-read. I lowered the threshold to 4kbyte. That should match the size of the bytes that we got with the read-ahead from the stat() call. ... </description>
      <pubDate>Sun, 04 Feb 2007 19:05:08 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:c3fccc5c-6d26-4a16-9e48-d8cfd5026e66</guid>
      <link>http://blog.lighttpd.net/articles/2007/02/01/more-threaded-io#comment-3274</link>
    </item>
    <item>
      <title>"more threaded io" by Jürgen Herz</title>
      <description>Being just an interested amateur I don't have the hardware to do benchmarks myself. But I'm very curious in the improvements regarding aio and threaded stat().
Though not concerning the latter I'd like to know something about the impact on performance of the new 16k lower limit for aio. So I'm particularly interested in benchmarking static delivery throughoutput with files of 16383 bytes in one run and files of 16385 bytes in another run.</description>
      <pubDate>Sat, 03 Feb 2007 10:07:44 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:88321d55-84be-41b5-af8d-15b6f9d3a8fa</guid>
      <link>http://blog.lighttpd.net/articles/2007/02/01/more-threaded-io#comment-3264</link>
    </item>
    <item>
      <title>"more threaded io" by Jan Kneschke</title>
      <description>We are moving &lt;a href="http://www.lighttpd.net" rel="nofollow"&gt;www.lighttpd.net&lt;/a&gt; to this host and are waiting for the DNS to be updated. The old host got already disabled. Bad timing from my side.</description>
      <pubDate>Sat, 03 Feb 2007 00:54:22 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:e8be6440-2d4f-436f-9bbb-fe9b94b25caf</guid>
      <link>http://blog.lighttpd.net/articles/2007/02/01/more-threaded-io#comment-3263</link>
    </item>
    <item>
      <title>"more threaded io" by Curt</title>
      <description>&lt;a href="http://lighttpd.net" rel="nofollow"&gt;http://lighttpd.net&lt;/a&gt; is down (1:48 PM EST, Friday, Feb 2). Does anyone know how to contact an adminstrator? Thank you.</description>
      <pubDate>Fri, 02 Feb 2007 18:49:57 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:35c2d3b6-aec2-4aa5-96d7-23f92a03babc</guid>
      <link>http://blog.lighttpd.net/articles/2007/02/01/more-threaded-io#comment-3262</link>
    </item>
    <item>
      <title>"more threaded io" by tbone</title>
      <description>Jan, I'll try to get some benchs this weekend for you using a large number of disks in a situation similar to how we'd be running it live (ie. millions of small (10k) files).</description>
      <pubDate>Thu, 01 Feb 2007 21:22:19 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:3ab4d0b8-6318-443a-a6f1-b6e968366ffd</guid>
      <link>http://blog.lighttpd.net/articles/2007/02/01/more-threaded-io#comment-3261</link>
    </item>
    <item>
      <title>"more threaded io" by Pedro Melo</title>
      <description>In a future kernel, you might find this interesting: &lt;a href="http://www.ussg.iu.edu/hypermail/linux/kernel/0701.3/2165.html" rel="nofollow"&gt;http://www.ussg.iu.edu/hypermail/linux/kernel/0701.3/2165.html&lt;/a&gt;
</description>
      <pubDate>Thu, 01 Feb 2007 17:07:43 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:db6f4984-5c0b-4ac4-a742-cd312ed28fd3</guid>
      <link>http://blog.lighttpd.net/articles/2007/02/01/more-threaded-io#comment-3260</link>
    </item>
  </channel>
</rss>
