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 2014/03/06 12:06:44 UTC

[jira] [Commented] (TS-153) "Dynamic" keep-alive timeouts

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

Leif Hedstrom commented on TS-153:
----------------------------------

I spoke with John about this before, and he seemed favorable to these ideas. I really think we should generalize this, such that we move VCs between LRUs instead of inactivity / timeout events.

>From a configuration perspective, what the user generally keeps about is to not run out of file descriptors; In a sense, you configure your system based on a fixed set of resources, and trying to guess timeout values is virtually impossible.

There's still room for timeouts, such that you also enforce certain max lifetimes in each of the LRUs. But this would be easily to clean out, walking the LRUs periodically (once a second?) starting from the bottom. Since the LRUs are by definition ordered, this is very efficient; You only traverse entries that would be evicted, and nothing else.

> "Dynamic" keep-alive timeouts
> -----------------------------
>
>                 Key: TS-153
>                 URL: https://issues.apache.org/jira/browse/TS-153
>             Project: Traffic Server
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Leif Hedstrom
>            Assignee: Bryan Call
>            Priority: Minor
>              Labels: A
>             Fix For: 5.0.0
>
>         Attachments: ts153.diff
>
>
> (This is from a Y! Bugzilla ticket 1821593, adding it here. . Originally posted by Leif Hedstrom on 2008-03-19):
> Currently you have to set static keep-alive idle timeouts in TS, e.g.
>    CONFIG proxy.config.http.keep_alive_no_activity_timeout_in INT 8
>    CONFIG proxy.config.http.keep_alive_no_activity_timeout_out INT 30
> even with epoll() in 1.17.x, this is difficult to configure, and put an appropriate timeout. The key here is that the
> settings above need to assure that you stay below the max configured number of connections, e.g.:
>     CONFIG proxy.config.net.connections_throttle INT 75000
> I'm suggesting that we add one (or two) new configuration options, and appropriate TS code support, to instead of
> specifying timeouts, we specify connection limits for idle KA connections. For example:
>     CONFIG proxy.config.http.keep_alive_max_idle_connections_in INT 50000
>     CONFIG proxy.config.http_keep_alive_max_idle_connections_out INT 5000
> (one still has to be careful to leave head-room for active connections here, in the example above, 20000 connections
> could be active, which is a lot of traffic).
> These would override the idle timeouts, so one could use the max_idle connections for incoming (client) connections,
> and the idle timeouts for outgoing (origin) connections for instance.
> The benefit here is that it makes configuration not only easier, but also a lot safer for many applications.



--
This message was sent by Atlassian JIRA
(v6.2#6252)