만료 된 개체를 가져 오는 동안 이전 개체를 제공하거나 최대 연결을 최대 어떻게 처리 할 수 있습니까?바니시는 새로 고침하는 동안 오래된 개체를 제공합니다.
나는 ib_recv와 vcl_fetch 모두에서 유예 기간을 구성했습니다.
심지어 저는 aint² 모드를 사용하여 캐시 된 객체를 돌려 주려고했습니다.
누군가 내게이 문제에 도움을 줄 수 있습니까?
sub vcl_recv {
# Purge through http
if (req.request == "PURGE") {
if (!client.ip ~ purge) {
error 405 "Not allowed.";
}
ban("req.url ~ " + req.url);
error 200 "Purged.";
}
# Unset all cookies available
if (req.http.cookie) {
unset req.http.cookie;
}
if (req.request != "GET" && req.request != "HEAD") {
/* We only deal with GET and HEAD by default */
return (pass);
}
# Adding Grace period in case backend lags
set req.grace = 3d;
return (lookup);
}
....
sub vcl_fetch {
set beresp.grace = 4d;
set beresp.saintmode = 50s;
set beresp.ttl = 30s;
return (deliver);
}
#### 캐시 요청 VARNISHLOG
0 Debug - "lurker: 0x7f244cfd1e00 30 0"
0 Debug - "lurker: 0x7f244cfd1e00 30 0"
0 Debug - "lurker: 0x7f244cfd1e00 30 0"
0 Debug - "lurker: 0x7f244cfd1e00 30 0"
0 Debug - "lurker: 0x7f244cfd1e00 30 0"
0 Debug - "lurker: 0x7f244cfd1e00 30 0"
0 Debug - "lurker: 0x7f244cfd1e00 30 0"
11 SessionOpen c XXX.XXX.XXX.XXX 60750 XXX.XXX.XXX.XXX:2002
11 ReqStart c XXX.XXX.XXX.XXX 60750 479090107
11 RxRequest c GET
11 RxURL c /image/1156499/1601812475/45010cb14311wq1fd2da042ed599f3ad917005085c400/1181_615/crop
11 RxProtocol c HTTP/1.0
11 RxHeader c Host: URL
11 RxHeader c X-Real-IP: XXX.XXX.XXX.XXX
11 RxHeader c X-Forwarded-For: XXX.XXX.XXX.XXX
11 RxHeader c Connection: close
11 RxHeader c User-Agent: GraphicalHttpClient 1.0.6 (Macintosh; Mac OS X 10.6.8; en_NL)
11 VCL_call c recv lookup
11 VCL_call c hash
11 Hash c /image/1156499/1601812475/45010cb14311wq1fd2da042ed599f3ad917005085c400/1181_615/crop
11 Hash c URL
11 VCL_return c hash
11 Hit c 479090015
11 VCL_call c hit deliver
11 VCL_call c deliver deliver
11 TxProtocol c HTTP/1.1
11 TxStatus c 200
11 TxResponse c OK
11 TxHeader c Server: nginx/1.0.11
11 TxHeader c Content-Type: image/jpeg
11 TxHeader c Content-Transfer-Encoding: binary
11 TxHeader c Cache-Control: must-revalidate
11 TxHeader c Content-Length: 125395
11 TxHeader c Accept-Ranges: bytes
11 TxHeader c Date: Tue, 07 Feb 2012 14:23:00 GMT
11 TxHeader c X-Varnish: 479090107 479090015
11 TxHeader c Age: 5693
11 TxHeader c Via: 1.1 varnish
11 TxHeader c Connection: close
11 Length c 125395
11 ReqEnd c 479090107 1328624580.355833769 1328624580.357449532 0.000084162 0.000103474 0.001512289
11 SessionClose c Connection: close
11 StatSess c XXX.XXX.XXX.XXX 60750 0 1 1 0 0 0 29
#### 캐시 요청이 흥미로운 질문이다
12 BackendOpen b live XXX.XXX.XXX.XXX 41945 XXX.XXX.XXX.XXX 80
12 TxRequest b GET
12 TxURL b /image/1156499/1601812475/45010cb14311wq1fd2da042ed599f3ad917005085c400/1181_615/crop
12 TxProtocol b HTTP/1.1
12 TxHeader b Host: URL
12 TxHeader b X-Real-IP: XXX.XXX.XXX.XXX
12 TxHeader b X-Forwarded-For: XXX.XXX.XXX.XXX
12 TxHeader b User-Agent: GraphicalHttpClient 1.0.6 (Macintosh; Mac OS X 10.6.8; en_NL)
12 TxHeader b X-Varnish: 479090118
12 TxHeader b Accept-Encoding: gzip
12 RxProtocol b HTTP/1.1
12 RxStatus b 200
12 RxResponse b OK
12 RxHeader b Server: nginx/1.0.11
12 RxHeader b Date: Tue, 07 Feb 2012 14:26:00 GMT
12 RxHeader b Content-Type: image/jpeg
12 RxHeader b Connection: keep-alive
12 RxHeader b Content-Transfer-Encoding: binary
12 RxHeader b Cache-Control: must-revalidate
12 RxHeader b Content-Length: 125395
12 Fetch_Body b 4(length) cls 0 mklen 1
12 Length b 125395
12 BackendReuse b live
11 SessionOpen c XXX.XXX.XXX.XXX 50429 XXX.XXX.XXX.XXX:2002
11 ReqStart c XXX.XXX.XXX.XXX 50429 479090118
11 RxRequest c GET
11 RxURL c /image/1156499/1601812475/45010cb14311wq1fd2da042ed599f3ad917005085c400/1181_615/crop
11 RxProtocol c HTTP/1.0
11 RxHeader c Host: URL
11 RxHeader c X-Real-IP: XXX.XXX.XXX.XXX
11 RxHeader c X-Forwarded-For: XXX.XXX.XXX.XXX
11 RxHeader c Connection: close
11 RxHeader c User-Agent: GraphicalHttpClient 1.0.6 (Macintosh; Mac OS X 10.6.8; en_NL)
11 VCL_call c recv lookup
11 VCL_call c hash
11 Hash c /image/1156499/1601812475/45010cb14311wq1fd2da042ed599f3ad917005085c400/1181_615/crop
11 Hash c URL
11 VCL_return c hash
11 VCL_call c miss fetch
11 Backend c 12 live live
11 TTL c 479090118 RFC 120 -1 -1 1328624761 0 1328624760 0 0
11 VCL_call c fetch
11 TTL c 479090118 VCL 33 -1 -1 1328624758 -3
11 TTL c 479090118 VCL 33 40 -1 1328624758 -3
11 VCL_return c deliver
11 ObjProtocol c HTTP/1.1
11 ObjResponse c OK
11 ObjHeader c Server: nginx/1.0.11
11 ObjHeader c Date: Tue, 07 Feb 2012 14:26:00 GMT
11 ObjHeader c Content-Type: image/jpeg
11 ObjHeader c Content-Transfer-Encoding: binary
11 ObjHeader c Cache-Control: must-revalidate
11 VCL_call c deliver deliver
11 TxProtocol c HTTP/1.1
11 TxStatus c 200
11 TxResponse c OK
11 TxHeader c Server: nginx/1.0.11
11 TxHeader c Content-Type: image/jpeg
11 TxHeader c Content-Transfer-Encoding: binary
11 TxHeader c Cache-Control: must-revalidate
11 TxHeader c Content-Length: 125395
11 TxHeader c Accept-Ranges: bytes
11 TxHeader c Date: Tue, 07 Feb 2012 14:26:00 GMT
11 TxHeader c X-Varnish: 479090118
11 TxHeader c Age: 0
11 TxHeader c Via: 1.1 varnish
11 TxHeader c Connection: close
11 Length c 125395
11 ReqEnd c 479090118 1328624757.532856941 1328624760.899299860 0.000095606 3.364968061 0.001474857
11 SessionClose c Connection: close
11 StatSess c XXX.XXX.XXX.XXX 50429 3 1 1 0 0 1 284 125395
0 Debug - "lurker: 0x7f244cfd1e00 30 0"
희망
체크 아웃 [기술적으로 비동기 가져 오기는 다음과 같은 수 없습니다] 없습니다 Varnish 메일 링리스트에서 이미 질문을 받았다면 VCL을 확장하여 페이지가 캐시되고 있는지 확인하십시오. 이 경우 varnishlog 호출의 출력을 제공하십시오. – Mojah
에 요청 된 varnislog 항목이 추가되었습니다. 첫 번째는 저에게 좋은 히트를 보여줍니다. 두 번째 부분은 만료 된 것입니다. req.grace가 30s로 설정됩니다. // beresp.ttl이 30s로 설정됩니다. // beresp.grace가 40s로 설정됩니다. –