Current and Future Squid Projects

Xenion is working on a number of Squid-related projects to improve functionality, performance and reliability in today's environments.

Xenion is also developing packages for configuration, management, reporting and auditing which can be purchased seperately or as part of a support contract.

These projects are funded by a combination of support contracts and development contracts. Part proceeds of all support contracts are put toward public Squid development. For further information on the suite of Squid support contracts available please visit the Support Page.

Current Projects

Optimisation Work

Adrian Chadd is working on a number of improvements to Squid to reduce memory and CPU usage for most modern workloads. Further information can be found in the development logs for the s27_adri branch and the store_copy branch. Please contact Xenion for more information.

This work will begin being included in the upcoming Squid-2.7 and future Squid-2.8 releases.

Completed Projects

Logging improvements

Improvements to the logging infrastructure now allows Squid to log all requests to disk or over the network without impacting on performance. Squid would previously hit limits which would require the administrator to disable logging to achieve higher performance.

Future Projects

There are a number of projects which the community has asked for in one way or another. Xenion will work on these projects as resources and funding becomes available. If you would like to fund a certain project or two then please contact Xenion with the amount you are able to provide - once enough has been raised the work will commence.

"Low memory" footprint

Squid can use a lot of memory when providing proxy/cache services. This project would focus on allowing administrators to choose a lower-memory footprint which may be much better suited to small environments with a handful of clients. It will include an alternate storage backend which will not use an in-memory index of objects.

COSS rebuild time improvements

Although COSS is many times faster than AUFS/DISKD for storing and retrieving small objects it still takes a long time to build an index as Squid starts up. This project will modify the COSS filesystem to include logging data with each stripe so rebuilding the disk simply requires reading the logging area and not the whole disk.

COSS storage improvements - temporal locality

Including locality (storing objects requested by a client in the same rough time - say, during a page load) when storing and retriving objects should provide 2x or 3x effective small object speeds over current COSS. This is backed by existing research papers published in computer science journals dating back from 1999; these are available on request.

Satellite multicast

Squid has been used in the past on satellite links to cache multicasted data. This project will use the publicly available work from Pushcache and others and integrate it into the Squid mainline. An external program can then listen on a satellite IP service, track HTTP objects that are fetched by other caches and include the data in the local cache.