<?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: Tag async</title>
    <link>http://blog.lighttpd.net/articles/tag/async</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>linux AIO and large files</title>
      <description>&lt;p&gt;The benchmarks only showed results for small files (100kbyte). Time to add larger files to the pool and talk about the chunk-size.&lt;/p&gt;
&lt;p&gt;I just push all the work to the kernel and hope that it does it right.
Currently I allow 64 jobs to be pushed to the kernel. Kernel threads are
more light-weight that &amp;#8220;real&amp;#8221; threads.&lt;/p&gt;


	&lt;p&gt;Currently I&amp;#8217;m working on a posix &lt;span class="caps"&gt;AIO&lt;/span&gt; version. On linux that is using
threads to handle the read(), let&amp;#8217;s see how that works out.&lt;/p&gt;


	&lt;p&gt;I did a third benchmark round against 1000 10Mbyte files. tibco @ &lt;span class="caps"&gt;IRC&lt;/span&gt; is
running a flv-site in china and said that their files are around 12-17Mb.&lt;/p&gt;


Client was a win2003-amd64, dual core box connected via Intel Pro/1000
to the server [raid1 &amp;#8230; as before].
&lt;pre&gt;
linux-aio-sendfile: 52Mbyte/s [reading 1Mbyte chunks]

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.80    0.00   46.20   13.40    0.00   38.60

linux-aio-sendfile: 55Mbyte/s [reading 768kbyte chunks]

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.99    0.00   56.37    4.58    0.00   36.06

linux-aio-sendfile: 58Mbyte/s [reading 512kbyte chunks]

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.40    0.00   62.67    5.39    0.00   30.54

linux-aio-sendfile: 54Mbyte/s [reading 384kbyte chunks]

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.18    0.00   55.38    1.99    0.00   37.45

linux-aio-sendfile: 21Mbyte/s [reading 256kbyte chunks]

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          21.00    0.00   28.60    0.80    0.00   49.60
&lt;/pre&gt;
Compared to:
&lt;pre&gt;
linux-sendfile: 30Mbyte/s

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.20    0.00   22.20   71.00    0.00    5.60 
&lt;/pre&gt;

&lt;h3&gt;Summary&lt;/h3&gt;

	&lt;p&gt;No matter what, large files or small files, when you disk start to suffer from seeking around &lt;span class="caps"&gt;AIO&lt;/span&gt; will give you, at least in my setup, 80% more throughput.&lt;/p&gt;</description>
      <pubDate>Tue, 14 Nov 2006 12:27:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:1532069a-fc87-4fa2-990b-0ccf2c2ea070</guid>
      <author>jan</author>
      <link>http://blog.lighttpd.net/articles/2006/11/14/linux-aio-and-large-files</link>
      <category>lighttpd</category>
      <category>aio</category>
      <category>async</category>
      <trackback:ping>http://blog.lighttpd.net/articles/trackback/2233</trackback:ping>
    </item>
  </channel>
</rss>
