[Http-crcsync] crccache ready for some testing I think
Alex Wulms
alex.wulms at scarlet.be
Sun Mar 29 17:01:38 EDT 2009
Hi,
Currently I'm experimenting with the various parameters of the cache module to
fine-tune the cache behaviour.
I have also investigated why the cache-server stops finding block matches
after the first difference. I think it is because at this moment, the cache
server does not read ahead enough in the data-stream. Basically, the
crc_read_block function of Rusty must be fed with as much data as possible,
so that the crc_read_block function can detect at which point the unmatched
data end and a next matching block can be found.
I have written a small example program that demonstrates better what I mention
above. Should I submit it to git or should I email it to this list or only
directly to people who are interested in it, as eventually it serves no long
term purpose?
As a next step, I'm going to see if I can refactor the server to read more
data into it's buffer (ideally the full response) and only then start to make
multiple calls to crc_read_block function directly after each other, so that
it can perform a better job. The price to pay for this approach is obviously
a higher memory usage on the server but it will probably lead to better
compression results, especially for html-pages where the first difference
might already be some time-stamp in the html-headers. One idea to minimize
the memory overhead is to perform this look-ahead approach only for text/...
mime-types but not for other mime-types like images, audio or video.
Thanks and kind regards,
Alex
Op zaterdag 28 maart 2009, schreef Toby Collett:
> Hi,
> I have fixed up a couple of critical bugs in the crccache modules and I
> feel that the code is now able to be tested a little bit wider. For an
> unchanged upstream file you get high 90% size saving, this can drop off
> pretty sharply, a 'two lines changed' copy of w3.org homepage only got 75%
> savings, but that isnt too shabby either.
>
> Lots of work to be done tuning the cache etc as Alex has pointed out, but
> at this point you should be able to browse over the link (whether it is
> slower or faster is another question)
>
> The modules should still build against any recent apache build, so you
> shouldnt need to compile all of apache. Basic example configs for ubuntu
> are in the git repo and also instructions for suse.
>
> The server end will print out stats for transmission size at the end of an
> encoded response. This does not take into account the additional header
> size for the request.
>
> Toby
More information about the Http-crcsync
mailing list