[ 
https://issues.apache.org/jira/browse/TS-924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom updated TS-924:
-----------------------------

    Attachment: TS-924.diff

Here's a preliminary proposed patch. I know, there's a lot of indentation 
changes as well, but the two fundamental changes are:

1) Fix the memory allocations for both the server and client sessions.

2) Add a new option, that allows us to specify that each net-thread should keep 
its own pool of origin connections.

#2 Can have slight performance drawbacks if there's very little traffic against 
the origin. Therefore, I'm making this option overridable per remap rule (or 
from a plugin via the existing APIs).

The options to enable #2 is the same as enable shared origin connections, I'm 
overloading it with a value of "2" meaning share connections, but per 
net-thread.

{code}
   # Share server connections
   #  0 - Never
   #  1 - Share, with a single global connection pool
   #  2 - Share, with a connection pool per worker thread
CONFIG proxy.config.http.share_server_sessions INT 1
{code}

I'm leaving the default as it was before, and the fixed memory allocations will 
help a little bit here too. But to get full benefit here, you have to set the 
config to 2.

Many thanks to William and weijin for doing all the work on figuring out the 
real problems going on here. I still think it might be worthwhile to allow for 
origin connections to move between net-threads, but this solution fixes that, 
and has some other benefits (keeping "memory" tied on the owning thread).

> Performance improvements with second request on same keep-alive connection
> --------------------------------------------------------------------------
>
>                 Key: TS-924
>                 URL: https://issues.apache.org/jira/browse/TS-924
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Leif Hedstrom
>             Fix For: 3.1.1
>
>         Attachments: TS-924.diff
>
>
> This is a continuation of TS-880, it has more details. The idea is that we 
> committed the safe, but less optimal fix already with TS-880. Ideally though, 
> we should do something like William's first approach, and migrate origin 
> VConns to the same EThread as the UA VConn.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to