Re: [squid-users] squid3.0.25 hoggeing the CPU, serving little

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Thu, 12 Aug 2010 01:57:14 +0000

On Wed, 11 Aug 2010 17:47:15 +0200, Ralf Hildebrandt
<Ralf.Hildebrandt_at_charite.de> wrote:
> * Amos Jeffries <squid3_at_treenet.co.nz>:
>> Ralf Hildebrandt wrote:
>> >* Amos Jeffries <squid3_at_treenet.co.nz>:
>> >>Ralf Hildebrandt wrote:
>> >>>3.0.STABLE25 is showing the following behaviour during normal
>> >>>operation:
>> >>Hi Ralf,
>> >> Thank you for all this, but I'm wondering why you are putting so
>> >>much work into 3.0?
>> >
>> >3.1 sucks even more? See my other bug reports! That stuff is crashing
>> >all over the place. Need to get some stability here :)
>>
>> :(
>>
>> >
>> >> I ask because the major performance gains are aimed at 3.2. It could
>> >>do with this type of analysis as part of the polish up.
>> >
>> >I COULD run 3.2 if you like.
>>
>> :)
>
> Running squid-3.2.0.1-20100811 now.
>
> I'm still getting a lot of:
> 2010/08/11 17:42:12| could not parse headers from on disk structure!
> 2010/08/11 17:42:24| varyEvaluateMatch: Oops. Not a Vary match on
> second attempt,
> 'http://js.ui-portal.de/logout/gmx/css/100721/logout.css'
> 'accept-encoding="gzip,deflate",
>
user-agent="Mozilla%2F5.0%20(Windows%3B%20U%3B%20Windows%20NT%205.1%3B%20de%3B%20rv%3A1.9.2.8)%20Gecko%2F20100722%20Firefox%2F3.6.8%20(%20.NET%20CLR%203.5.30729)"'
> 2010/08/11 17:42:24| clientProcessHit: Vary object loop!
> 2010/08/11 17:42:24| varyEvaluateMatch: Oops. Not a Vary match on
> second attempt, 'http://img.gmx.net/gmx/hp09/icons/favicon.ico'
>
'user-agent="Mozilla%2F5.0%20(Windows%3B%20U%3B%20Windows%20NT%205.1%3B%20de%3B%20rv%3A1.9.2.8)%20Gecko%2F20100722%20Firefox%2F3.6.8%20(%20.NET%20CLR%203.5.30729)"'
> 2010/08/11 17:42:24| clientProcessHit: Vary object loop!
> 2010/08/11 17:42:41| varyEvaluateMatch: Oops. Not a Vary match on
> second attempt,
> 'http://js.ui-portal.de/logout/gmx/css/100721/logout.css'
> 'accept-encoding="gzip,deflate",
>
user-agent="Mozilla%2F5.0%20(X11%3B%20U%3B%20Linux%20i686%3B%20de%3B%20rv%3A1.9.0.6)%20Gecko%2F2009020409%20Firefox%2F3.0.6%20(Debian-3.0.6-1)"'
> 2010/08/11 17:42:41| clientProcessHit: Vary object loop!
>
> messages.

Ouch. I am Mean ouch for that website.

Is it your website?

This looks entirely expected to me. Using the User-Agent fields as part of
Vary is not recommended. The header is usually very long and close to
unique for every visitor. Which means that Vary will mismatch on the
majority of requests and caches will bloat out with N copies of things like
that favicon.

IMO, it's far more efficient to instead use unique URLs for the variants
of real content (CSS styles I assume being the big one) and issue a small
non-cachable 302/303 redirect with Location: based on the user-agent
decision at the server.
The 302 (only) needs to be non-cachable to prevent crossover between
visitor agents, while still allowing the unique per-agent content at the
real URL to be cached for long times.

Amos
Received on Thu Aug 12 2010 - 01:57:20 MDT

This archive was generated by hypermail 2.2.0 : Thu Aug 12 2010 - 12:00:03 MDT