On Fri, 15 Sep 2006, Brian Akins wrote:

The separate header and body files work wonderfully for performance (filling multiple gig interfaces and/or 30k requests/sec. or rather modest hardware). If you have them all in one, it can make the sendfile for the body cumbersome.

If you write to the file using mmap on linux, then sendfile() breaks yes. mmap didn't give any major performance benefit for the body copy though, so it doesn't matter and we don't use it. This is really a Linux bug, since non-overlapping write/sendfile should be OK.

If you somehow track what "entries" or in the cache, it is very easy to purge entries.

Extra tracking sounds unnecessary if you can do it in a way that doesn't need it.

At Apachecon, I'll talk some about our version of mod_cache. Unfortunately, I can't share code :( But I can tell you the separate files way is not a performance or housekeeping issue.

If you have the index i can agree.

However, I don't see how you can do a lockless design with multiple files and an index that can do:

* Clients read from the cache as files are being cached.
* Only one session caches the same file.
* Header/Body updates.
* No index/files out-of-sync issues. Ever.

With locks, yes it's possible but also a hassle to get right with performance intact.

The current mod_disk_cache seems to be designed for small files and enough memory to hide the problems by the design. If you have files that fit into the OS cache then it doesn't matter if hundreds of sessions are caching the same file, it'll work out eventually without reduced performance. This isn't the case when each file (DVD image) is bigger than your memory and doesn't fit in the OS file cache. In fact you can tell that the author never even consider this due to the way the body is copied (on 32bit you loose).

We, as a ftp mirror operated by a non-profit computer club, have a slightly different usecase with single files larger than machine RAM and a working set of approx 40 times larger than RAM. Some bad design decisions in mod_disk_cache becomes really visible in this environment.

/Nikke
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Niklas Edmundsson, Admin @ {acc,hpc2n}.umu.se      |     [EMAIL PROTECTED]
---------------------------------------------------------------------------
 I wish I had a snappy Trek Message to put here...
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Reply via email to