A Comparison of Public Proxy Software using Wisconsin Proxy Benchmark
Jin Zhang and Pei Cao
University of Wisconsin-Madison
Following Duane's
list of available proxy software, we downloaded and tried to install
all of the publicly available proxy software. Here is a report of our
experience.
We also conducted a very preliminary test of the collection of
software using a small
configuration of the Wisconsin Proxy Benchmark. We report our results here.
You should read Duane's
brief description of the proxy software first, and then read this document.
This document includes our understanding of the architecture of the proxy
products and our experience with installing and testing them.
Note: the benchmark results reported here are very preliminary, and
should be in no way considered as any significant indication of the proxy's performance.
The configuration of the benchmark is described here.
For each proxy, we listed blow:
-
architecture of the system: process based, thread based or event driven;
-
installation experience: how to install the software, easy or hard (for us)
-
configuration experience: how to configure the system. Basically, there
are three typical ways to configure the proxy:
-
using a configuration file, that is, the administrator manually edits the configuration file
-
using a web based configuration interface
-
using the command line arguments when starting the proxy program
-
limitation: the limitation we observed about the proxy
-
result
CERN/W3C
architecture: process based, fork
one process on each request
installation: run make
configure:
configuration file
see
result here
Harvest
see Squid and Netcache
Netscape
commercial product
Netcache
commercial product
Squid
architecuture: single process, event-driven
model
installation:
simple, just "make install"
configure:
configuration file
see
result here
DeleGate
architecture: process based proxy,
fork one process on each request
installation: relatively
simple, may need to change a little bit of Makefile before running make
configure:
quite a lot of command line options
limitation:
can not specify the cache size
see
result here
Microsoft
commercial product; runs on WinNT only; rumors is that
it will come free with WinNT 5.0;
Wcol
architecture: process based,
pre-fork processes
installation: relatively
simple, run configure and make
configure:
configuration file
limitation:
can not run without caching
see
result here
Novell BorderManager
commercial product; runs on Novell's own operating system;
in other words, software/OS integrated;
Apache
architecture: process-based, pre-forked processes
configure:
configuration file
see
result here
Jigsaw
architecture: thread based, pre-fork threads
installation: simple, run
java install to install
configure:
uses web-based interface for configuration. But need to learn much about
the system architecture before knowing how to configure.
limitation:
proxy returns "HTTP/1.1 200" even if the original server returns
"HTTP/1.0 200"
see
result here
CacheFlow
commercial product; not available to us.
Open Sesame
commercial product;
Roxen
architecture: thread based
installation: relatively
simple, runs configure, make install, install
configure:
web-based configuration interface. Need some time to figure out, but not
very difficult.
limitation:
when the server replies with "Expires:" header, the proxy does not
cache the document.
see
result here
Spaghetti
commercial product; runs only on Windows NT.
MOWS
architecture: thread based, create
a new thread on each request.
installation: comes
with bytecode, no installation needed after unpack the package
configure:
configuration file, need to know a little bit about system architecuture
and
the modules of the system.
see
result here
Cisco CacheEngine
commercial product; integrates the proxy software and the OS;
Sun NetraServer
commercial product; not available to us;
Inktomi TrafficServer
commercial product; comes as both a software-only product
and a software/OS integrated product. We have not been able to obtain
an evaluation version.
IBM Web Traffic Express
commercial product. We got an evaluation version off the
Web, but can't install it on our Solaris 2.6 machine. The installation guide
on the Web apparently only covers installation on WinNT. We simply can't
figure out how to install it. IBM didn't offer much help.
Intel QuickWeb
commercial product. Performs image compression and caching.
Only available through ISPs using it. Intel claims that about three ISPs are
using this product.
DynaCache
commercial product. Evaluation versions not available to us.
WebSpeed
From Duane,
"Packetstorm Technologies sells a caching appliance called WebSpeed
which runs Squid and is configured for transparent caching. "