comparing 2 headers

Angelo Höngens a.hongens at
Wed Jan 20 15:29:34 CET 2010


I'm new to Varnish.. We currenly have 4 simple caching balancers running
squid+haproxy in front of some large webapps (2000 req/sec, 200Mbit),
and I get the feeling we're growing out of Squid..

So I am investigating an in-place replacement of Squid by Varnish. The
project looks really great, and the fact that the lead developer is such
a FreeBSD guru is really comforting as well ;) And yes, the talk about
the 1970's VAX machine approach to software architecture made a good point.

I have some questions though. I am used to Squid's way of doing thing,
so please forgive me if my questions are too biased to the squid-way of
doing things.

1. What will happen when the dataset I want to pass through Varnish is
much larger than the Varnish machines could store? I would expect the
cache hit ratio to go down, and Varnish to start evicting objects from
the cache more frequently. Or will Varnish just crash and burn with a
'cache is full' message? :)

The reason I ask this, is we have balancers with 200GB of local storage,
and the total amount of data that could be served could theoretically be
several terabytes.. I think objects would expire before the cache is
full, but just in case...

2. I run the varnishncsa daemon to write to logfile. However, I would
really like to see some extra information like whether it was a cache
hit or miss, and the last time to byte to the client in the logfile,
like squid does in it's access.log. This is really really handy for
post-mortem analysis. (We read everything into a database sometimes and
let the dba's do their thing.)

Is there any way to do this, or can you point me in the right direction?

3. I want to compare some headers, but I'm getting a compile error:

Message from VCC-compiler:
Expected CSTR got 'server.ip'
(program line 266), at
(input Line 1279 Pos 24)
  if ( == server.ip) { error 200 ok; }
Running VCC-compiler failed, exit 1
VCL compilation failed

I want to make sure that when I point my browser to http://w.x.y.z, I
get a message "200 ok". Am I doing something wrong? I'm using
Varnish-2.0.4 from ports by the way.

4. Is there some documentation on what the ReqEnd and StatSess values
mean in the varnishlog output? The values seem interesting, but I have
no idea what they are.


With kind regards,

Angelo Höngens
systems administrator

MCSE on Windows 2003
MCSE on Windows 2000
MS Small Business Specialist
tourism internet software solutions

Ringbaan Oost 2b
5013 CA Tilburg
+31 (0)13 5811088
+31 (0)13 5821239

A.Hongens at

More information about the varnish-misc mailing list