You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Leif Hedstrom (JIRA)" <ji...@apache.org> on 2010/10/31 04:43:19 UTC

[jira] Commented: (TS-505) Worse performance when Origin server sends Connection: keep-alive

    [ https://issues.apache.org/jira/browse/TS-505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12926676#action_12926676 ] 

Leif Hedstrom commented on TS-505:
----------------------------------

I should point out that there is a) no Keep-alive to the client in any of the tests and b) The content is not cacheable to traffic server (I've set it to require explicit Cache-Control or Expire: headers). This means every request is proxied, and nothing ever gets written (or read) from disk.

There is never any disk I/O in any of the tests (no reads and no writes), according to iostat -x.

> Worse performance when Origin server sends Connection: keep-alive
> -----------------------------------------------------------------
>
>                 Key: TS-505
>                 URL: https://issues.apache.org/jira/browse/TS-505
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Network
>            Reporter: Leif Hedstrom
>             Fix For: 2.1.4
>
>
> I have a test setup using lighttpd (stock config, but with the port changed to port 82, and logging disabled). I've created a small file (42 bytes) in /var/www/lighttpd/cl-test.html.
> I'm running Apache TS with a stock config ("gmake install") with the following configuration changes:
> records.config:
> ---------------
> CONFIG proxy.config.http.server_port INT 80
> CONFIG proxy.config.http.cache.required_headers INT 2
> CONFIG proxy.config.log2.logging_enabled INT 0
> remap.config:
> -------------
> map http://loki.ogre.com/lighttpd/  http://localhost:82/
> I'm "benchmarking" this using "ab" from a second host, running a command like
> ab -c 20 -n 10000 http://loki.ogre.com/lighttpd/cl-test.html
> Test 1: I disable Keep-Alive in lighttpd, adding a configuration like this to /etc/lighttpd/lighttpd.conf:
> server.max-keep-alive-requests = 0
> Test results are
> Requests per second:    9056.01 [#/sec] (mean)
> Time per request:       2.208 [ms] (mean)
> Time per request:       0.110 [ms] (mean, across all concurrent requests)
> Test 2: I enable Keep-Alive in lighttpd, with
> server.max-keep-alive-requests = 1000000
> Test results are:
> Requests per second:    4456.33 [#/sec] (mean)
> Time per request:       4.488 [ms] (mean)
> Time per request:       0.224 [ms] (mean, across all concurrent requests)
> This might not seem like a huge difference, but why would it be serving 2x fewer QPS and 2x the latency with keep-alive to the origin server? If anything, I'd expect it to be faster with keep-alive, right ? Shouldn't that be noticeably less work?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.