Completed Squid and related projects

Xenion has completed a number of Squid projects. These following projects are some examples of our work.

Completed Projects

General performance work

Xenion worked on some performance issues in Squid-2 and early Squid-3 betas to improve the performance of the HTTP parser and general client-side request handling code.

It is responsible for the speed improvement between Squid-2.5 and current Squid-2 releases; with further improvements being included in Squid-2.6, Squid-2.7 and the upcoming Squid-2.8 release.

COSS stability work

Adrian Chadd brought the Squid-2 Cyclic filesystem code to production-ready for Squid-2.6. The Cyclic filesystem (COSS) implements a fast, raw disk device store optimised for small objects. It is actively in production at a variety of high profile sites.

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.

The changes to the logging system, in preparation for Squid-2.7, provided a simple external helper process which both dramatically improves performance and provides the ability for third party logging mechanisms (eg MySQL logging.)

Client-side Delay Pools

A new feature in Squid-2.8, the client-side delay pools provides connection rate limiting for client connections, allowing administrators to put limits on how fast clients can download content. This is used in production to limit certain content, for example how fast clients can download iso's and flash media, without affecting the download speed of smaller, more interactive objects.

Vary expiry handling improvements

Expiring Vary entities for a given HTTP URL has been improved in Squid-2.8. This includes extensions to HTCP so objects can be purged across an entire cluster of Squid servers.

This work was sponsored by Yahoo!.