Overflowed work requests

Paras Fadte plfgoa at gmail.com
Mon Nov 24 06:48:37 CET 2008


CPU is Quad core ,  Intel(R) Xeon(R) CPU   E5430  @ 2.66GHz

On Sun, Nov 23, 2008 at 11:39 PM, Michael S. Fischer
<michael at dynamine.net> wrote:
> How many CPUs (including all cores) are in your systems?
>
> --Michael
>
> On Nov 20, 2008, at 12:06 PM, Michael wrote:
>
>> Hi,
>>
>> PF> What does "overflowed work requests" in varnishstat signify ? If
>> this
>> PF> number is large is it a bad sign ?
>>
>> I have similar problem. "overflowed work requests" and "dropped work
>> requests" is too large.
>>
>> FreeBSD 7.1-PRERELEASE
>> varnish-2.0.2 from ports
>>
>>> varnishstat -1
>> uptime                    385          .   Child uptime
>> client_conn            115120       299.01 Client connections accepted
>> client_req             113731       295.41 Client requests received
>> cache_hit               39565       102.77 Cache hits
>> cache_hitpass            8338        21.66 Cache hits for pass
>> cache_miss              65744       170.76 Cache misses
>> backend_conn            74104       192.48 Backend connections success
>> backend_unhealthy            0         0.00 Backend connections not
>> attempted
>> backend_busy                0         0.00 Backend connections too
>> many
>> backend_fail                0         0.00 Backend connections
>> failures
>> backend_reuse           73414       190.69 Backend connections reuses
>> backend_recycle         73469       190.83 Backend connections
>> recycles
>> backend_unused              0         0.00 Backend connections unused
>> n_srcaddr                3207          .   N struct srcaddr
>> n_srcaddr_act             456          .   N active struct srcaddr
>> n_sess_mem               1910          .   N struct sess_mem
>> n_sess                   1780          .   N struct sess
>> n_object                63603          .   N struct object
>> n_objecthead            63603          .   N struct objecthead
>> n_smf                  126931          .   N struct smf
>> n_smf_frag                  1          .   N small free smf
>> n_smf_large      18446744073709551614          .   N large free smf
>> n_vbe_conn                239          .   N struct vbe_conn
>> n_bereq                   391          .   N struct bereq
>> n_wrk                     496          .   N worker threads
>> n_wrk_create              496         1.29 N worker threads created
>> n_wrk_failed                0         0.00 N worker threads not
>> created
>> n_wrk_max               47907       124.43 N worker threads limited
>> n_wrk_queue               455         1.18 N queued work requests
>> n_wrk_overflow         111098       288.57 N overflowed work requests
>> n_wrk_drop              47232       122.68 N dropped work requests
>> n_backend                   1          .   N backends
>> n_expired                1960          .   N expired objects
>> n_lru_nuked                 0          .   N LRU nuked objects
>> n_lru_saved                 0          .   N LRU saved objects
>> n_lru_moved             32435          .   N LRU moved objects
>> n_deathrow                  0          .   N objects on deathrow
>> losthdr                    22         0.06 HTTP header overflows
>> n_objsendfile               0         0.00 Objects sent with sendfile
>> n_objwrite              85336       221.65 Objects sent with write
>> n_objoverflow               0         0.00 Objects overflowing
>> workspace
>> s_sess                  77004       200.01 Total Sessions
>> s_req                  113233       294.11 Total Requests
>> s_pipe                      0         0.00 Total pipe
>> s_pass                   8638        22.44 Total pass
>> s_fetch                 73696       191.42 Total fetch
>> s_hdrbytes           33793720     87775.90 Total header bytes
>> s_bodybytes        3821523829   9926035.92 Total body bytes
>> sess_closed              6915        17.96 Session Closed
>> sess_pipeline            3056         7.94 Session Pipeline
>> sess_readahead            330         0.86 Session Read Ahead
>> sess_linger                 0         0.00 Session Linger
>> sess_herd              104807       272.23 Session herd
>> shm_records           7238597     18801.55 SHM records
>> shm_writes             606387      1575.03 SHM writes
>> shm_flushes                44         0.11 SHM flushes due to overflow
>> shm_cont                 2188         5.68 SHM MTX contention
>> shm_cycles                  3         0.01 SHM cycles through buffer
>> sm_nreq                148189       384.91 allocator requests
>> sm_nobj                126908          .   outstanding allocations
>> sm_balloc          4091076608          .   bytes allocated
>> sm_bfree           5572595712          .   bytes free
>> sma_nreq                    0         0.00 SMA allocator requests
>> sma_nobj                    0          .   SMA outstanding allocations
>> sma_nbytes                  0          .   SMA outstanding bytes
>> sma_balloc                  0          .   SMA bytes allocated
>> sma_bfree                   0          .   SMA bytes free
>> sms_nreq                    1         0.00 SMS allocator requests
>> sms_nobj                    0          .   SMS outstanding allocations
>> sms_nbytes                  0          .   SMS outstanding bytes
>> sms_balloc                453          .   SMS bytes allocated
>> sms_bfree                 453          .   SMS bytes freed
>> backend_req             74104       192.48 Backend requests made
>> n_vcl                       1         0.00 N vcl total
>> n_vcl_avail                 1         0.00 N vcl available
>> n_vcl_discard               0         0.00 N vcl discarded
>> n_purge                     1          .   N total active purges
>> n_purge_add                 1         0.00 N new purges added
>> n_purge_retire              0         0.00 N old purges deleted
>> n_purge_obj_test            0         0.00 N objects tested
>> n_purge_re_test             0         0.00 N regexps tested against
>> n_purge_dups                0         0.00 N duplicate purges removed
>>
>>
>> backend default {
>> .host = "xx.xx.xx.xx";
>> .port = "80";
>> }
>>
>>
>> acl ournet {
>>    "xx.xx.xx.xx";
>> }
>>
>> #Below is a commented-out copy of the default VCL logic.  If you
>> #redefine any of these subroutines, the built-in logic will be
>> #appended to your code.
>>
>> sub vcl_recv {
>>    if (req.request != "GET" &&
>>      req.request != "HEAD" &&
>>      req.request != "PUT" &&
>>      req.request != "POST" &&
>> #      req.request != "TRACE" &&
>> #      req.request != "OPTIONS" &&
>>      req.request != "DELETE") {
>>        /* Non-RFC2616 or CONNECT which is weird. */
>>        pipe;
>> #       error 405 "Not allowed";
>>    }
>>
>>    # remove usless headers
>>    unset req.http.Cookie;
>>    unset req.http.Authenticate;
>>    unset req.http.Accept;
>>    unset req.http.Accept-Language;
>>    unset req.http.Accept-Encoding;
>>    unset req.http.Accept-Charset;
>>    unset req.http.Referer;
>>
>>    # remove args from url
>>    set req.url = regsub(req.url, "\?.*", "");
>>
>>    # if content changing
>>    if (req.request == "DELETE" || req.request == "PUT") {
>>        if (client.ip ~ ournet) {
>>            lookup;
>>        } else {
>>            error 405 "Not allowed";
>>        }
>>    }
>>
>>    if (req.request != "GET" && req.request != "HEAD") {
>>        /* We only deal with GET and HEAD by default */
>>        pass;
>>    }
>>    if (req.http.Authorization || req.http.Cookie) {
>>        /* Not cacheable by default */
>>        pass;
>>    }
>>    lookup;
>> }
>>
>> sub vcl_pipe {
>>    pipe;
>> }
>>
>> sub vcl_pass {
>>    pass;
>> }
>>
>> sub vcl_hash {
>>    set req.hash += req.url;
>>    if (req.http.host) {
>>        set req.hash += req.http.host;
>>    } else {
>>        set req.hash += server.ip;
>>    }
>>    hash;
>> }
>>
>> sub vcl_hit {
>>
>>    # if content changing, remove it from cache
>>    if (req.request == "DELETE" || req.request == "PUT") {
>>        set obj.ttl = 0s;
>>        pass;
>>    }
>>
>>    if (!obj.cacheable) {
>>        pass;
>>    }
>>
>>    deliver;
>> }
>>
>> sub vcl_miss {
>>    # if content changing, remove it from cache
>>    if (req.request == "DELETE" || req.request == "PUT") {
>>        pass;
>>    }
>>
>>    fetch;
>> }
>>
>> sub vcl_fetch {
>>    if (!obj.cacheable) {
>>        pass;
>>    }
>>
>>    # don't cache redirects
>>    if (obj.status == 302) {
>>        pass;
>>    }
>>
>>    if (obj.http.Set-Cookie) {
>>        pass;
>>    }
>>    set obj.prefetch =  -30s;
>>    deliver;
>> }
>>
>> sub vcl_deliver {
>>    deliver;
>> }
>>
>> #sub vcl_discard {
>> #    /* XXX: Do not redefine vcl_discard{}, it is not yet supported */
>> #    discard;
>> #}
>> #
>> #sub vcl_prefetch {
>> #    /* XXX: Do not redefine vcl_prefetch{}, it is not yet supported
>> */
>> #    fetch;
>> #}
>> #
>> #sub vcl_timeout {
>> #    /* XXX: Do not redefine vcl_timeout{}, it is not yet supported */
>> #    discard;
>> #}
>> #
>> sub vcl_error {
>>    set obj.http.Content-Type = "text/html; charset=utf-8";
>>    synthetic {"
>> <?xml version="1.0" encoding="utf-8"?>
>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
>> <html>
>>  <head>
>>    <title>"} obj.status " " obj.response {"</title>
>>  </head>
>>  <body>
>>    <h1>Error "} obj.status " " obj.response {"</h1>
>>    <p>"} obj.response {"</p>
>>    <h3>Guru Meditation:</h3>
>>    <p>XID: "} req.xid {"</p>
>>    <address><a href="http://www.varnish-cache.org/">Varnish</a></
>> address>
>>  </body>
>> </html>
>> "};
>>    deliver;
>> }
>>
>>
>> --
>> Michael
>>
>> _______________________________________________
>> varnish-misc mailing list
>> varnish-misc at projects.linpro.no
>> http://projects.linpro.no/mailman/listinfo/varnish-misc
>>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at projects.linpro.no
> http://projects.linpro.no/mailman/listinfo/varnish-misc
>



More information about the varnish-misc mailing list