Re: Squid memory footprint (was: MemPools rewrite)

From: Adrian Chadd <adrian@dont-contact.us>
Date: Thu, 2 Nov 2000 16:09:21 +0800

On Thu, Nov 02, 2000, Andres Kroonmaa wrote:
>
> I wonder how can you eliminate StoreEntry? IMHO it contains crucial
> information that allows squid to skip disk accesses. Moving parts
> of this data into squidfs doesn't seem to change much in ram usage.
> Moving this crucial information onto disks implies enormous performance
> penalty, doesn't it?

You are assuming the FS can't handle object reference / lock counts and
freshness information itself. :-)

You can easily move the StoreEntry into the FS, making the FS operations
return a StoreEntry and not a StoreIOState. This would reduce a *lot*
of overhead from the storage manager, and psuh it into the FS code.
This works out to be very very good when something like reiserfs_raw is
used, since a lot of the directory code can disappear. It can also
lead to less copies and listwalks in the storage manager.

(Think of it this way: new_StoreEntry() is your create(),
storeAppend() is your write(), storeClientCopy() is your read,
storeRelease() is your unlink(), storeGet() is your open()..
then with a little semantic twisting in the FS layer, you could
do away completely with a lot of the code in store_client.c ,
store_swapin.c and store_swapout.c, since the FS can implement it
if it needs to (and a cache fs can do it in kernel space .. )

I'm currently working on another project to get a working IO model I can
stress test going. (I tried to get there with commloops, but I need
to rewrite the storage manager to get the performance boosts I think I
can get with comm_kqueue / comm_devpoll .. ) Once I've finished, I
will get back onto the storage manager code rework.

Not Enough Hours In The Day Syndrome(tm) :)

Adrian

-- 
Adrian Chadd			"God: Damn! I left pot everywhere!
<adrian@creative.net.au>	  Now I'll have to create Republicans!"
				    - Bill Hicks
Received on Thu Nov 02 2000 - 01:09:30 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:54 MST