Threads + thread queue length

Viktor Villafuerte viktor.villafuerte at optusnet.com.au
Mon Oct 12 06:17:05 CEST 2015


Hi all you carpenters and other Varnish using folk,

There are couple of things in the output of varnishstat that puzzle me a
little..

MAIN.sess_drop               0         0.00 Sessions dropped
MAIN.sess_dropped            3809332         0.32 Sessions dropped for
thread
MAIN.fetch_no_thread           58746         0.01 Fetch failed (no
thread)
MAIN.pools                         2          .   Number of thread pools
MAIN.threads                    1255          .   Total number of
threads

I've got 2 pools of 4000 threads set in Varnish config and
man varnish-counters says:

sess_drop
Count of sessions silently dropped due to lack of worker thread.

sess_dropped
Number of times session was dropped because the queue were too long
already. See also parameter queue_max.

fetch_no_thread
beresp fetch failed, no thread available


This tells me that there's no lack of worker threads (good!), but the
thread queue length does get too long and subsequently sessions get
dropped (bad!). Also backend fetch failed due to no threads being
available (what?)


Now the puzzling bit :)

1) why would the thread queue get too long if there seems to be NO lack
of threads to use?

2) why would there be no threads if there seems to be NO lack of threads

3) 'See also the parameter queue_max' - but I cannot find any mention of
such parameter anywhere around? Where does this ellusive paramater live
then?


Could anybody shed bit of light on this for me?




-- 
Regards

Viktor Villafuerte
Optus Internet Engineering
t: +61 2 80825265



More information about the varnish-misc mailing list