<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">It's so diffcult for me to tracing the timeout problem.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><img src="cid:E004F10D-5076-46DA-8C56-26EEA4C24C29"></div> <br> <div id="bloop_sign_1483078538100750080" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px"><br></div><div style="font-family:helvetica,arial;font-size:13px">I painted a map of the backend request.</div><div style="font-family:helvetica,arial;font-size:13px">I tracing varnish, found that cache/cache_obj.c:ObjWaitState lock for waiting backend response. But the vwe_thread epoll wait time is not right, it is default time 100s</div><div style="font-family:helvetica,arial;font-size:13px">When epoll_wait is run, it wait for backend response first_bytes_timeout, which in my case is 7s.</div><div style="font-family:helvetica,arial;font-size:13px">If I set cache_waiter_epoll.c:vwe_thread =>  vwe->next = now + 1, all is right. The timeout time became 2s.</div><div style="font-family:helvetica,arial;font-size:13px"><br></div><div style="font-family:helvetica,arial;font-size:13px">I read some varnish code, not full. I want know where is the code that varnish add the backend response header read event to epoll when keepalive is enable.</div><div style="font-family:helvetica,arial;font-size:13px">I guess It's cnt_miss in my case, but I can't see the code, it's in vgc.so. How can see the vgc.so's origin code which is generated by libvcc.</div><div style="font-family:helvetica,arial;font-size:13px"><br></div><div style="font-family:helvetica,arial;font-size:13px">Thanks.</div><div style="font-family:helvetica,arial;font-size:13px"><br></div></div><p class="airmail_on">On 29 December 2016 at 16:21:47, Boukelmoune Dridi (<a href="mailto:dridi@varni.sh">dridi@varni.sh</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>On Thu, Dec 29, 2016 at 3:44 AM, JackDrogon <jack.xsuperman@gmail.com> wrote:
<br>> How to disable backend keep-alive. I want to test it.
<br>
<br>In vcl_backend_fetch, you can do:
<br>
<br>    set bereq.http.connection = "close";
<br>
<br>That's how it's specified in HTTP/1.1, by default a connection is persistent.
<br>
<br>Dridi
<br></div></div></span></blockquote></body></html>