Note: This page is somewhat out-of-date. The chunk size has been increased to 2048 bytes in recent versions, and some additional protocol overhead has been added. The basic idea remains the same, but the maximum possible compression ratio is now much higher. The original content is presented unmodified below.

When random data is downloaded for the first time, a performance hit of up to 10% may be seen. Subsequent downloads of that same random data may see a 20x performance boost or greater, with 10x being typical on average, and 6x in the worst case. So a 200MB file with random data which normally downloads at a rate of 1MB/second would download at just under 1MB/second the first time, and at as much as 20MB/second subsequent times, though the amount of bandwidth used on your WAN link would be substantially less.

With non-random data (for example a PDF document), similar performance is seen to that of random data, although the first download may actually see a performance boost, rather than a slight degradation.

With very uniform data (for example a file containing all zeroes), performance is essentially unbounded.

You can estimate data usage if you know a little bit about the protocol that WANProxy uses. It splits up a data stream into 128 byte chunks and looks for chunks it has seen before. If there are no chunks it has seen before, it tells the remote side to remember each chunk by a given name, and to insert it into the stream. This takes 130 bytes for each 128 byte chunk. Any chunk that is recognized takes only 10 bytes for each 128 byte chunk. Any chunk that is recognized multiple times in close succession in a stream takes only 3 bytes for each 128 byte chunk after the first one (which takes 10 bytes.)

That said, there may be I/O and CPU bottlenecks in both data processing and encoding paths.

Copyright © 2008-2015