SKYCACHE RELEASE 1.0 CONFIGURATION SPECIFICATIONS

Configuring SkyCache with NLANR Squid

Compatible Versions:   1.x and 2.x

Recommended Version:   2.1.PATCH2 and up, with SkyCache patches

Squid runs on a multitude of platforms, however SkyCache has tested Squid on the platforms and configurations listed below.

Workstations:

Sparc (sparc 20 or higher)
Alpha
High-end pentium

Operating Systems:

NetBSD 1.3.x
FreeBSD 2.2.x and up
RedHat Linux 5.2
Solaris 2.5.1 and up

For any configuration, we recommend at least 256MB RAM, and a minimum of 16 GB disk space for cache objects.

Performance Notes

As the size of the cache grows, the amount of information Squid needs to keep in memory increases. If performance starts to degrade as the cache disks fill up, and you notice the squid process using high amounts of swap space, you will probably want to add more ram.

Squid can also be very I/O intensive on disk, therefore adding multiple disk controllers so that there is one disk controller per disk can enhance performance by magnitudes on systems which are disk I/O bound.

Squid Configuration and Patch Issues

In Squid 2.x, the timeout for ICP peers is computed dynamically by default. This seems to cause problems with the SkyCache CA being marked as down, and objects we send being fetched directly and wasting bandwidth. You will want to make the config option icp_query_timeout set to 2000 within squid.conf, which sets this timeout to 2 seconds. Setting this value lower seems to cause Unnecessary timeouts, while setting it higher may cause unnecessary cache slowdowns should the SkyCache CA become unavailable.

In order to get the most benefit from the SkyCache feed, you will want to add a few software patches to the standard Squid build. These patches are available via ftp at ftp.skycache.com in the /pub/patches/squid-1.0 and /pub/patches/squid-2.0 directory, for versions of Squid 1.x and 2.x.

The icp-refresh patch allows queries for refresh objects, cache objects which are in cache but have expired for one reason or another, to be sent to icp peers. This is important, as without this patch whenever the SkyCache CA attempts to inject an object which is already in cache and in need of being refreshed, the object will not be fetched from the SkyCache CA but instead will be fetched directly from the source. This results in wasted bandwidth on your network.

The icp-stats patch allows counters within squid which keep tally of hit rates and client usage to not be affected by the SkyCache feed. As the SkyCache CA acts as a normal cache client to inject objects into the cache, it will taint the hit rate of a cache to be much lower than it actually is.

For example:

On a cache with 50,000 total requests for a day, 25,000 of which are cache hits, the cache object hit rate is 50%.

On a cache with 50,000 total requests for a day, and 250,000 objects injected from the SkyCache cache feed, with 25,000 cache hits, the cache object hit rate is 8.3%.

With the icp-stats patch, numbers for cache utilization fetched via cachemgr.cgi will be accurate.

Peering with SkyCache CA

In Squid 2.x, adjust the cache_peer setting within the squid.conf configuration file, and make it reflect the SkyCache CA's hostname, icp, http, and option settings. SkyCache patches to squid are enabled in the option settings area.

To apply the SkyCache patches, use the patch command under Unix to make the needed changes to the Squid source files and then recompile Squid. Within the squid.conf configuration file, add the appropriate keywords to the cache_peer setting for the cache adapter. The query-refresh option enables the ice-refresh patch, and the feeder option enables the icp-stats patch:

  • Apply patches from ftp.skycache.com to the Squid source files, and compile a binary

unix: /local/squid/src% patch unix: /local/squid/src% patch unix: /local/squid/src% make

  • Add the cache_peer configuration line for the SkyCache CA

The SkyCache CA listens to port 3134 for http requests, and 3132 for icp requests.

cache_peer company.downlink.skycache.com neighbor 3134 3132 query-refresh feeder

Additional Resources
NLANR squid web site: http://squid.nlanr.net
Squid system compatibility list: http://squid.nlanr.net/Squid/platforms.html
SkyCache patches for Squid: ftp://ftp.skycache.com/pub/patches
Download other versions of this document: TEXT  PDF


[ HOME | ABOUT SKYCACHE | WHAT'S NEW | RELEASE 1.0 ]
[ SKYCACHE IN EUROPE | CAREERS | CONTACT US | SUPPORT ]

Contents of this site © 1999 by SkyCache, Inc.
Last Revised: 2/1/99