Squid-2 performance work: graph #1
January 23, 2008
A few people have asked me what the deal is with Squid-2 and Squid-3.
“Why are you developing on Squid-2 when Squid-3 is now out?”
“Should I upgrade to Squid-3 now that its released?”
I’m focusing on Squid-2 for a few reasons, namely:
So what exactly am I doing to Squid-2? Well, I’m doing all the things to Squid-2 which I personally believe we should’ve done in the C++ Squid-3 branch before all the “new stuff” was added. You can find it all at http://devel.squid-cache.org/changesets/squid/s27_adri.html . A summary of what I’m doing in this first round:
My aim is to fix whatever bugs show up in Squid-2.7 and then in Squid-2.HEAD (which has some of the above included already.) I’ll then start bringing across my changes as they’ve been tested and been found stable. My aim is to have the bulk of the above done within the next month or so and get it into Squid-2.HEAD and concentrate on making it stable before I continue tidying up the dataflow and restructuring the ugly bits of code.
Whats this mean for Squid-3? The Squid-3 guys are doing some great work with things such as ICAP and IPv6 and I hope that they’ll gain more experience with their codebase over the next 12 months or so. I’m certainly not bringing ICAP support into Squid-2 until I’ve reworked the dataflow and tidied up the code enough for ICAP to sit comfortably in the data pipeline, rather than have it bolted onto the side and hooking into strange places where it shouldn’t. (I may bring in IPv6 into Squid-2 soon though!)
Hopefully my work and their work will culminate with the development of the next Squid major version over the next 12 to 24 months. There’s a long way to go though and my main aim here is to get faster, better and shinier code out to the majority of Squid users now so they can benefit from the development, rather than repeating the 4-odd year gap between Squid-2.5 and Squid-2.6. Users hated that.
So whats it mean for you?
Squid-2.6.STABLE18 fixes a silly bug (thanks to yours truely fixing another bug!) which may cause your Squid to crash under certain circumstances.
Squid-2.6.STABLE18-RC1 (release candidate 1) tarballs are available from the Squid website - http://www.squid-cache.org/Versions/v2/2.6/ - the release should be in a day or two.