0

Centos 7.2 に Varnish 4.0.3 サーバーがあります。Varnish には 3 つのバックエンドが構成されています。Varnish から断続的に 503 を受信して​​います。503 イベント中に tcpdump をプルしたところ、次のことがわかりました。

  • 消費者が Varnish に要求する
  • Varnish はソケットをバックエンドに開きます。
  • バックエンドは 500 ミリ秒未満で応答
  • Varnish はバックエンドに ACK,FIN を送信します。
  • Varnish は 503 をコンシューマーに送信します。
  • バックエンドは ACK,FIN を Varnish に送信します

失敗したリクエストは、成功したリクエストと根本的に異なるようには見えません。失敗率は 20,000 件のリクエストあたり ~1 です。

  -   Begin          req 2795361 rxreq
  -   Timestamp      Start: 1464106437.502383 0.000000 0.000000
  -   Timestamp      Req: 1464106437.502383 0.000000 0.000000
  -   ReqStart       10.14.X.X 43190
  -   ReqMethod      GET
  -   ReqURL         /service/v2/service/parameter/parameter/parameter
  -   ReqProtocol    HTTP/1.1
  -   ReqHeader      Accept: application/json
  -   ReqHeader      Content-Type: application/json
  -   ReqHeader      Host: UpsteamLoadBalancer:6081
  -   ReqHeader      Connection: Keep-Alive
  -   ReqHeader      User-Agent: Apache-HttpClient/4.2.4 (java 1.5)
  -   ReqHeader      X-Forwarded-For: 10.14.X.X
  -   VCL_call       RECV
  -   ReqURL         /service/v2/service/parameter/parameter/parameter
  -   ReqUnset       X-Forwarded-For: 10.14.X.X
  -   ReqHeader      X-Forwarded-For: 10.14.X.X
  -   VCL_return     hash
  -   VCL_call       HASH
  -   VCL_return     lookup
  -   Debug          "XXXX MISS"
  -   VCL_call       MISS
  -   VCL_return     fetch
  -   Link           bereq 2795368 fetch
  -   Timestamp      Fetch: 1464106442.526296 5.023913 5.023913
  -   Timestamp      Process: 1464106442.526311 5.023929 0.000015
  -   RespHeader     Date: Tue, 24 May 2016 16:14:02 GMT
  -   RespHeader     Server: Varnish
  -   RespHeader     X-Varnish: 2795367
  -   RespProtocol   HTTP/1.1
  -   RespStatus     503
  -   RespReason     Service Unavailable
  -   RespReason     Service Unavailable
  -   VCL_call       SYNTH
  -   RespHeader     Content-Type: text/html; charset=utf-8
  -   RespHeader     Retry-After: 5
  -   VCL_return     deliver
  -   RespHeader     Content-Length: 281
  -   Debug          "RES_MODE 2"
  -   RespHeader     Connection: keep-alive
  -   Timestamp      Resp: 1464106442.526356 5.023974 0.000045
  -   ReqAcct        290 0 290 211 281 492
  -   End
4

1 に答える 1

0

クライアントは HTTP を使用して Varnish と通信しています。

HTTP 応答 503 は、「サーバーの一時的な過負荷またはメンテナンスのため、サーバーは現在要求を処理できません。これは、これは一時的な状態であり、少し遅れて緩和されることを意味します」という意味を表します。

したがって、このエラーは上記の理由を示す Varnish サーバーによって送信されます。

よろしく、 スダンス

于 2016-05-24T17:10:05.183 に答える