httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Richards <>
Subject Re: proxying
Date Mon, 22 Jan 1996 19:20:16 GMT
In reply to David Robinson who said
> I make that a 94 Gb cache area.
> Does DBM work well on 94Gb (or even 16Gb) databases?

Uhh, no. Not unless you have more than one db file. There's no reason not
to spread it across more than one db file mind.

I've thought about this a little more. The above example is not really
a good example of caching, it's more like mirroring. The terms are
ill-defined but I consider caching to be a situation where you keep
frequently accessed resources in a rapidly accessible format and fall
back to a slower access method if you get a cache miss.

Obviously, in a proxy server, caching means having a local copy rather
than accessing the remote server but my ideas have been more along the
lines of getting rapid access to pages that are frequently accessed on
a server. I think a good solution would be to implement server caching
of frequently accessed pages whatever their original source (local or
remote) using db files and then if you get a cache miss you go get the
file from the filesystem. There'd be an extra level for a proxy server in
that if the page was from a remote server and it's not currently on the
local filesystem you'd have to fetch it.

> The biggest problem with DBM (as described by sameer) is one of locking.
> How does one lock only part of the database? flock(), as described by
> Paul Richards, locks the entire database. This simply does not scale with
> the size of the database; it is essential to be able to lock individual
> database entries (aka files).

You can lock parts of a file using fcntl though I don't really see why this
is essential.

  Paul Richards. Originative Solutions Ltd.
  Phone: 0370 462071 (Mobile), +44 1225 447500 (work)

View raw message