linux AIO and large files 8

Posted by jan Tue, 14 Nov 2006 11:27:00 GMT

The benchmarks only showed results for small files (100kbyte). Time to add larger files to the pool and talk about the chunk-size.

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 “real” threads.

Currently I’m working on a posix AIO version. On linux that is using threads to handle the read(), let’s see how that works out.

I did a third benchmark round against 1000 10Mbyte files. tibco @ IRC is running a flv-site in china and said that their files are around 12-17Mb.

Client was a win2003-amd64, dual core box connected via Intel Pro/1000 to the server [raid1 … as before].
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
Compared to:
linux-sendfile: 30Mbyte/s

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.20    0.00   22.20   71.00    0.00    5.60 

Summary

No matter what, large files or small files, when you disk start to suffer from seeking around AIO will give you, at least in my setup, 80% more throughput.

Trackbacks

Use the following link to trackback from your own site:
http://blog.lighttpd.net/articles/trackback/2233

Comments

Leave a response

  1. namosys Wed, 15 Nov 2006 08:43:01 GMT
    In svn lighty still uses sendfile which may block. Full POSIX-aio will be the ultimate solution.
  2. namosys Wed, 15 Nov 2006 08:43:51 GMT
    In svn lighty still uses sendfile which may block. Full POSIX-aio will be the ultimate solution.
  3. Low Kian Seong Mon, 20 Nov 2006 05:36:51 GMT
    Just thought you might want to know that FreeNAS the NAS project based on freeBSD has switched from mini_httpd to lighty. Keep up the good work !
  4. Low Kian Seong Mon, 20 Nov 2006 05:38:02 GMT
    Just thought you might want to know that FreeNAS the NAS project based on freeBSD has switched from mini_httpd to lighty. Keep up the good work !
  5. Low Kian Seong Mon, 20 Nov 2006 05:38:07 GMT
    Just thought you might want to know that FreeNAS the NAS project based on freeBSD has switched from mini_httpd to lighty. Keep up the good work !
  6. Low Kian Seong Mon, 20 Nov 2006 05:39:22 GMT
    Just thought you might want to know that FreeNAS the NAS project based on freeBSD has switched from mini_httpd to lighty. Keep up the good work !
  7. Kevin Sun, 03 Dec 2006 23:22:43 GMT
    linux-aio-sendfile doesn't seem to work so well with files over 300MB. Is there anyway to improve this? The performance is actually worst then the normal linux-sendfile.
  8. Kevin Mon, 04 Dec 2006 03:11:40 GMT
    Could you please do some test of large files? Thank you.
Comments