Ich habe einen Varnish 4.0.3 Server auf Centos 7.2. Varnish hat drei Backends konfiguriert. Ich bekomme intermittierende 503 von Varnish. Ich habe eine tcpdump während eines 503-Ereignis gezogen, und ich sah:Lack 503 nach 200 von Backend
- Consumer macht Anfrage
- Varnish öffnet Buchse Backend lackieren.
- Backend antwortet in < 500ms
- Varnish sendet eine ACK, FIN an das Backend.
- Varnish sendet eine 503 an den Verbraucher.
- Backend sendet ein ACK, FIN
die Anforderungen an Lack, der nicht fundementally scheitern unterscheidet sich von Anfragen angezeigt werden, die folgenden werden. Die Fehlerrate beträgt ~ 1 pro 20k Anfragen.
- 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
Hey Stan, haben Sie dieses Problem? Wenn ja, könnten Sie Ihre VCL posten? – alejdg
@alejdg Wir haben das Problem gelöst - wenn ich mich richtig erinnere, war der Cache für Varnish zu klein (die Standard 100mb?). Der Fehler (1/20000) trat auf, wenn der Cache voll war. Wir haben den Cache erhöht und das Problem ist verschwunden. Schätze das Follow-up! – Stan