A bit more;

  - it *does* hit VARY_REFRESH first
  - threshold for the vary problem is much lower
  - evident since (at least) Squid 2.7STABLE1


On 15/02/2010, at 8:59 PM, Mark Nottingham wrote:

> I'm seeing some strange behaviour when using collapsed_forwarding on large 
> responses in squid-2.7 and squid2-HEAD.
> 
> Two separate symptoms:
>  1) large responses not being cached when collapsed
>  2) large responses not being completely sent; i.e., part of the response is 
> sent, then it 'locks up'
> 
> #2 is more worrisome.
> 
> To recreate:
>  - compile a squid-2.7 or HEAD, configure with collapsed_forwarding on
>  - serve content with a script like this:
> 
> ---8<---
> #!/usr/bin/env python
> 
> import sys, time
> time.sleep(2)
> print "Status: 200 OK"
> print "Content-Type: text/plain"
> print "Cache-Control: max-age=45"
> print "Vary: Accept-Encoding"
> print
> for i in range(1024):
> print "abcdefghij" * 12
> --->8---
> 
> and drive traffic like this:
>  httperf --server localhost --port 3128 --hog --num-calls 1 --num-conns 10 
> --rate 2 --uri `cat urls.txt`
> or this:
>  http_load -rate 2 -seconds 20 -proxy localhost:3128 urls.txt
> assuring that the cache is empty first.
> 
> See access.log as well as load generation results.
> 
> Observations:
>  - there seems to be a threshold response size of somewhere around 110K that 
> triggers this
>  - does not appear to rely on value of maximum_object_size_in_memory
>  - does not appear to be specific to disk or null disk caching
>  - problem #2 seems to be caused by a Vary header
>  - does not appear to be related to VARY_RESTART; clientCacheHit: Vary MATCH!
> 
> Does this seem familiar to anyone? I'll file a bug, but thought I'd check and 
> see if it was a known issue.
> 
> Cheers,
> 
> 
> --
> Mark Nottingham       m...@yahoo-inc.com
> 
> 

--
Mark Nottingham       m...@yahoo-inc.com


Reply via email to