Dag-Erling Smørgrav <[EMAIL PROTECTED]> writes:
> "Monty Ree" <[EMAIL PROTECTED]> writes:
> > Why this result happens? varnish doesn't support keepalive?
> I see the same symptom; tcpdump shows that ab does not send a new
> request after receiving each answer, but waits for the session to time
> out and then reconnects. I'm not sure if it's a bug in ab or in
> Varnish.
Varnish always responds with HTTP 1.1 (even though ab sends HTTP 1.0
requests) and does not send "Connection: keep-alive" (since that is the
default in HTTP 1.1).
With the attached patch, I get the following results on my laptop:
Concurrency Level: 200
Time taken for tests: 46.386721 seconds
Complete requests: 10
Failed requests:0
Write errors: 0
Keep-Alive requests:10
Total transferred: 23420240072 bytes
HTML transferred: 23396793740 bytes
Requests per second:2155.79 [#/sec] (mean)
Time per request: 92.773 [ms] (mean)
Time per request: 0.464 [ms] (mean, across all concurrent requests)
Transfer rate: 493057.66 [Kbytes/sec] received
DES
--
Dag-Erling Smørgrav
Senior Software Developer
Linpro AS - www.linpro.no
Index: bin/varnishd/cache_response.c
===
--- bin/varnishd/cache_response.c (revision 1742)
+++ bin/varnishd/cache_response.c (working copy)
@@ -76,8 +76,8 @@
http_PrintfHeader(sp->wrk, sp->fd, sp->http, "X-Varnish: %u", sp->xid);
TIM_format(sp->obj->last_modified, lm);
http_PrintfHeader(sp->wrk, sp->fd, sp->http, "Last-Modified: %s", lm);
- if (sp->doclose != NULL)
- http_SetHeader(sp->wrk, sp->fd, sp->http, "Connection: close");
+ http_PrintfHeader(sp->wrk, sp->fd, sp->http, "Connection: %s",
+ sp->doclose ? "close" : "keep-alive");
sp->wantbody = 0;
}
@@ -129,8 +129,8 @@
http_PrintfHeader(sp->wrk, sp->fd, sp->http, "Age: %.0f",
sp->obj->age + sp->t_resp - sp->obj->entered);
http_SetHeader(sp->wrk, sp->fd, sp->http, "Via: 1.1 varnish");
- if (sp->doclose != NULL)
- http_SetHeader(sp->wrk, sp->fd, sp->http, "Connection: close");
+ http_PrintfHeader(sp->wrk, sp->fd, sp->http, "Connection: %s",
+ sp->doclose ? "close" : "keep-alive");
}
/**/
___
varnish-misc mailing list
varnish-misc@projects.linpro.no
http://projects.linpro.no/mailman/listinfo/varnish-misc