Search squid archive

Re: Re: Automatic StoreID ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/14/2014 06:34 AM, babajaga wrote:

> Instead of first mapping the URL to a memory-resident table, keeping
> pointers (file-id, bucket no.) to the real location of the object on disk, a
> hash-value, derived from the URL could directly be used to designate the
> storage location on disk, avoiding the translation table, squid uses.

This is how Rock store does it, essentially: Rock store index does not
store the real location of the object on disk but computes it based on
the hash value.


> Positive consequence: No rebuild of the in-memory-table necessary, as there
> is none. Avoids the time-comsuning rebuild of rock-storage-table from disk.

While Rock store can avoid building the memory-resident index, you
actually want that table in most cases: If you do not build the index,
you have to do a disk I/O to fetch the first slot of the candidate
object on _every_ request. Without that disk I/O, Squid would not know
whether it has a hit or a miss because _every_ URL corresponds to a
valid location on disk. You have an infinite number of URLs pointing to
the same location and, without a memory-resident table, you do not know
what is actually stored there (if anything at all) until you do that
disk I/O.

For reverse proxy caches with very high hit ratios, avoiding the rebuild
may indeed be a good optimization where warmup time is more important
than speed. Most such proxies have small caches that do not require a
long rebuild, making the need for that optimization moot though.

The building of the index needs to be optimized, but that is a different
story.

Note that Rock store can cache new objects while building the index
(because the index does not store the object location).


Cheers,

Alex.





[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux