On Wed, 11 Aug 2010 17:47:15 +0200, Ralf Hildebrandt <Ralf.Hildebrandt@xxxxxxxxxx> wrote: > * Amos Jeffries <squid3@xxxxxxxxxxxxx>: >> Ralf Hildebrandt wrote: >> >* Amos Jeffries <squid3@xxxxxxxxxxxxx>: >> >>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