<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    And of course, I just figured it out after posting. Sorry for the
    noise !<br>
    <br>
    The problem was DNS resolution, curl does a new DNS query each time
    and it looks like the resolver for this server takes 5 seconds to
    answer, sometimes. Nothing to do with varnish, my bad<br>
    <br>
    <div class="moz-cite-prefix">On 07/11/2017 01:57 PM, Kevin Lemonnier
      wrote:<br>
    </div>
    <blockquote cite="mid:5964CB57.4070400@cognix-systems.com"
      type="cite">
      <pre wrap="">Hi,

I've posted on serverfault and on IRC, but since this is a bit (or very)
urgent, I'll try it here too.

I have a strange problem with varnish, it's in front of an API and it's
caching the whole responses. It mostly works fine, but from time to time
a request will take 5 seconds (or rarely 10 seconds, or 15 seconds ..
always an increment of 5) more than usual to return.

I've tried bypassing the HAProxy in front, same, and I checked, it does
that whether the URL is already cached or not (I've checked the Age
header). So it can't be the backend since the page is in cache, it's not
what's in front of varnish, that leaves only varnish itself as the cause
of that problem.

Any idea as to what could cause that 5 seconds delay ? I've checked
varnishlog, during that delay varnish isn't doing anything. I've also
tried manually making another request during that delay, and varnish
answered fine so it's not frozen or anything, it works fine. And at the
end of that 5 seconds, it's outputting the log for the request as usual,
nothing weird in it. Example :

  * << Request >> 132712
  * Begin req 132711 rxreq
  * Timestamp Start: 1499701302.309413 0.000000 0.000000
  * Timestamp Req: 1499701302.309413 0.000000 0.000000
  * ReqStart 127.0.0.1 43955
  * ReqMethod GET
  * ReqURL /url
  * ReqProtocol HTTP/1.1
  * ReqHeader User-Agent: curl/7.38.0
  * ReqHeader Host: host
  * ReqHeader Accept: ///
  * ReqHeader X-Forwarded-Proto: https
  * ReqHeader X-Forwarded-For: ip
  * ReqHeader Connection: close
  * ReqUnset X-Forwarded-For: ip
  * ReqHeader X-Forwarded-For: ip, 127.0.0.1
  * VCL_call RECV
  * ReqUnset X-Forwarded-For: ip, 127.0.0.1
  * ReqHeader X-Forwarded-For: ip, 127.0.0.1, 127.0.0.1
  * VCL_return hash
  * VCL_call HASH
  * VCL_return lookup
  * Hit 2147582482
  * VCL_call HIT
  * VCL_return deliver
  * RespProtocol HTTP/1.1
  * RespStatus 200
  * RespReason OK
  * RespHeader Date: Mon, 10 Jul 2017 15:10:00 GMT
  * RespHeader Server: gunicorn/19.7.1
  * RespHeader content-type: application/json; charset=UTF-8
  * RespHeader X-Varnish: 132712 98834
  * RespHeader Age: 1902
  * RespHeader Via: 1.1 varnish-v4
  * VCL_call DELIVER
  * RespHeader X-Cacheable: YES
  * RespUnset Server: gunicorn/19.7.1
  * RespUnset Via: 1.1 varnish-v4
  * RespUnset X-Varnish: 132712 98834
  * VCL_return deliver
  * Timestamp Process: 1499701302.309480 0.000067 0.000067
  * RespHeader Content-Length: 251799
  * Debug "RES_MODE 2"
  * RespHeader Connection: close
  * RespHeader Accept-Ranges: bytes
  * Timestamp Resp: 1499701302.309571 0.000159 0.000092
  * Debug "XXX REF 2"
  * ReqAcct 198 0 198 197 251799 251996
  * End

I realize varnish believes that was treated quickly, but on curl's side
it took 5 seconds. Curl is used directly on the varnish server, so it's
not network latency. It's a bit hard to reproduce, I'm using a script
that does queries in a loop and shows the curl time_total to finally get
it to happen.

Could it be something Linux side ? Maybe some kind of limit, or a socket
cleanup job or something that would pause the request. It happens maybe
once every 400 or 500 requests, sometimes more, sometimes less.

Attached is the varnishstat -1 asked on the mailing list page.

--
Kevin


        
        
        
        
        

</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
varnish-misc mailing list
<a class="moz-txt-link-abbreviated" href="mailto:varnish-misc@varnish-cache.org">varnish-misc@varnish-cache.org</a>
<a class="moz-txt-link-freetext" href="https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc">https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc</a></pre>
    </blockquote>
    <br>
    <div class="moz-signature">-- <br>
      <table style="background: #fff; border-collapse: collapse; border:
        0; font-family: Arial, Verdana, Trebuchet MS; font-size: 12px;"
        cellpadding="0" cellspacing="0" border="0">
        <tbody>
          <tr>
            <td colspan="6" style="font-size: 12px; font-weight: normal;
              color: #2e2f34; font-family: Arial, Verdana, Trebuchet
              MS;">
              <p style="margin-top: 1em; margin-bottom: 1em; font-size:
                12px; font-weight: normal; color: #2e2f34; font-family:
                Arial, Verdana, Trebuchet MS;">Cordialement,<br>
                <br>
              </p>
            </td>
          </tr>
          <tr>
            <td style="color: white;" height="101" valign="top"
              width="132"> <a href="http://www.cognix-systems.com/"
                style="color: white; text-decoration: none;"> <img
                  src="cid:part1.02090605.02010801@cognix-systems.com"
                  alt="" style="display: block;" height="101"
                  width="132"> </a> </td>
            <td height="101" valign="top" width="12"> <br>
            </td>
            <td height="101" valign="top">
              <p style="margin-top: 0; margin-bottom: 1em; font-family:
                Arial, Verdana, Trebuchet MS; line-height: 1.3;"><span
                  style="font-size: 14px; font-weight: bold; color:
                  #d48314; font-family: Arial, Verdana, Trebuchet MS;">Kevin
                  LEMONNIER</span><br>
                <span style="font-size: 12px; font-weight: normal;
                  color: #2e2f34; font-family: Arial, Verdana, Trebuchet
                  MS;">Administrateur Systèmes, Cognix Systems</span></p>
              <p style="margin-top: 1em; margin-bottom: 1em; font-size:
                12px; font-weight: normal; color: #2e2f34; font-family:
                Arial, Verdana, Trebuchet MS; line-height: 1.3;"><strong
                  style="color: #d48314; font-weight: bold;">Rennes</strong>
                <span style="font-size: 12px; color: #d48314;
                  font-weight: normal; font-family: Arial, Verdana,
                  Trebuchet MS;">|</span> Brest <span style="font-size:
                  12px; color: #d48314; font-weight: normal;
                  font-family: Arial, Verdana, Trebuchet MS;">|</span>
                Saint-Malo <span style="font-size: 12px; color:
                  #d48314; font-weight: normal; font-family: Arial,
                  Verdana, Trebuchet MS;">|</span> Paris<br>
                <a href="mailto:kevin.lemonnier@cognix-systems.com"
                  style="color: #d48314; font-weight: normal;
                  text-decoration: underline;"><span style="color:
                    #d48314; font-weight: normal; text-decoration:
                    underline;">kevin.lemonnier@cognix-systems.com</span></a></p>
              <p style="margin-top: 1em; margin-bottom: 0; font-size:
                12px; font-weight: normal; color: #2e2f34; font-family:
                Arial, Verdana, Trebuchet MS;"><span style="font-weight:
                  bold;">Tél. :</span> 02 99 27 75 92</p>
            </td>
            <td height="101" valign="top" width="12"> <br>
            </td>
            <td style="border-left: 1px solid #eecda1;" height="101"
              valign="top" width="12"> <br>
            </td>
            <td valign="top">
              <div style="margin-bottom: 10px;"><a
                  href="https://www.facebook.com/cognix.systems/"
                  style="color: white; text-decoration: none;"> <img
                    src="cid:part4.08090209.09010208@cognix-systems.com"
                    alt="Facebook Cognix Systems" style="display:
                    block;" height="24" width="24"> </a></div>
              <div style="margin-bottom: 10px;"><a
                  href="https://twitter.com/cognixsystems" style="color:
                  white; text-decoration: none;"> <img
                    src="cid:part6.04010407.02060303@cognix-systems.com"
                    alt="Twitter Cognix Systems" style="display: block;"
                    height="24" width="24"> </a></div>
              <div style=""><a href="http://www.cognix-systems.com/"
                  style="color: white; text-decoration: none;"> <img
                    src="cid:part8.05020405.06020203@cognix-systems.com"
                    alt="Logo Cognix Systems" style="display: block;"
                    height="24" width="24"> </a></div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>