On Sat, Mar 24, 2012 at 09:53:47PM -0700, Roger Binns scratched on the wall:


> Yes, but the tools primarily come from the OS vendor.  After all they have
> to be able to compile and debug the code making up the operating system
> and base applications.

  Which makes it all the more disappointing that so many of the vendor
  tools of are such moderate quality-- even the pay-for versions.

> > True, but the OS doesn't typically cache filesystems on a ramdisk.
> 
> Huh?  There was no claim of ramdisks being used by the operating system as
> a filesystem cache. 

  No, there wasn't.  I'm saying the OS shouldn't cache blocks from 
  filesystems that reside on a ramdisk volume.  There is no need.
  Device I/O is just as fast as the cache.

> The claim was that memory used by a ramdisk is not available for use
> as a cache.

  Yes, but if you're database is on a ramdisk-- and that's your
  primary performance concern for this system-- there is a greatly
  reduced need for filesystem cache space.  The OS shouldn't need to
  cache blocks off the ramdisk, so the overall need for filesystem
  cache space is reduced.

  Things change if this is a general purpose system with many different
  process profiles, but if you have a single need strong enough to
  justify a ramdisk, you're already somewhat past that point.

> > Caching slows things down and wastes memory.
> 
> Really?  Caches as a rule do not slow anything down.

  Having the OS cache pages off a ramdisk based filesystem adds a layer
  of indirection and consumes more memory.  The point of almost all
  types of caches is to reduce the cost of an upstream process-- in
  this case physical I/O.  If the upstream process (ramdisk I/O) is
  just as fast as the cache (filesystem pages in RAM), then the
  cache servers no real purpose, yet still consumes resources.  The
  cache only slows things down and wastes memory.

  Filesystem caches are a huge win for traditional media, but not for
  ramdisks.  That said, if a database on traditional media is not
  completely read dominated, the bottleneck is still going to be
  flushing pages all the way to non-volatile storage.  If you want to
  be transaction safe, you can't get around that, and OS based
  filesystem caches can't speed up verified writes.  Device-based
  non-volatile caches, perhaps, but that's getting pretty exotic for
  most SQLite deployments.

   -j

-- 
Jay A. Kreibich < J A Y  @  K R E I B I.C H >

"Intelligence is like underwear: it is important that you have it,
 but showing it to the wrong people has the tendency to make them
 feel uncomfortable." -- Angela Johnson
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to