InstantMirror Redesign / current best /simplest way to achieve

Warren Togami wtogami at redhat.com
Tue Jul 8 18:34:03 UTC 2008


chasd wrote:
>> refresh_pattern repodata/.*$    0       0%      0
>> refresh_pattern .*rpm$    0     0%      0
>>
>> Also with any squid.conf you will need these lines in order to guarantee
>> that your repodata and RPMS stay consistent with your upstream source.
>> This is because proxies do not handle data changing without changing the
>> filename.
> 
> Um, from reading the comments in the squid config file relating to
> "refresh_pattern," don't those settings in effect negate caching,
> since that will always return STALE ?  From the squid config file :

This was already discussed earlier in this thread.  This doesn't expire 
the object from the cache entirely.  It does check the upstream source 
for changes but it doesn't need to download the entire file again if it 
did not change.

> If you have an update run that totals close to the default 100 MB,
> and you have multiple clients set to update via a cron script,
> the cache will thrash if you don't set that higher.

Right, you need to adjust the cache_dir size and maximum object size.  I 
personally use a maximum object size of like 4GB because my reverse 
proxy is used *only* for a Fedora mirror.

> That said, I use InstantMirror with a custom repo file for our Fedora 
> needs.

Note, InstantMirror behaves exactly as described above with the squid 
refresh_pattern rule.  InstantMirror checks the original source files 
for changes upon every client request.

Due to repodata/*, images/* and sometimes *.rpm files changing without 
their contents changing, running a caching proxy without such rules 
causes you to occasionally have metadata mismatch failures until the 
proxy server naturally refreshes itself sometime later.

Warren Togami
wtogami at redhat.com




More information about the fedora-devel-list mailing list