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 2011/01/27 20:42:07 UTC

[jira] Commented: (TS-506) Poor performance on proxied requests which are not cacheable.

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

Leif Hedstrom commented on TS-506:
----------------------------------

Interesting observation, but if you properly enable read-while-writer, this problem is dramatically reduced. E.g.

CONFIG proxy.config.cache.max_doc_size INT 0
CONFIG proxy.config.cache.enable_read_while_writer INT 1
CONFIG proxy.config.http.background_fill_completed_threshold FLOAT 0 


> Poor performance on proxied requests which are not cacheable.
> -------------------------------------------------------------
>
>                 Key: TS-506
>                 URL: https://issues.apache.org/jira/browse/TS-506
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Cache
>            Reporter: Leif Hedstrom
>            Priority: Critical
>             Fix For: 2.1.6
>
>
> This is a problem similar in behavior and how to reproduce as TS-505.
> I have a test setup using lighttpd (stock config, but with the port changed to port 82, and logging disabled). I've also disabled Keep-Alive on lighttpd, with a line like this in /etc/lighttpd/lighttpd.conf
> server.max-keep-alive-requests = 0
> 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: http caching is disabled with a records.config setting
> CONFIG proxy.config.http.cache.http INT 0
> Results:
> Requests per second:    9319.75 [#/sec] (mean)
> Time per request:       2.146 [ms] (mean)
> Time per request:       0.107 [ms] (mean, across all concurrent requests)
> Test 2: http caching enabled, records.config is
> CONFIG proxy.config.http.cache.http INT 0
> Results:
> Requests per second:    2967.59 [#/sec] (mean)
> Time per request:       6.739 [ms] (mean)
> Time per request:       0.337 [ms] (mean, across all concurrent requests)
> So, simply enabling the cache makes it process 3x less QPS and at 3x the latency. There is again no disk I/O on either of these tests.
> If I "combine" the worst case scenario, from TS-505 and this bug, and run the test with http.cache=1 (cache enabled) and have the lighttpd server send Connection: keep-alive responses, the performance plunges:
> Requests per second:    173.09 [#/sec] (mean)
> Time per request:       115.548 [ms] (mean)
> Time per request:       5.777 [ms] (mean, across all concurrent requests)

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