On 5/13/13 9:53 AM, James Peach wrote:
On May 13, 2013, at 7:12 AM, Tomasz Kuzemko <[email protected]> wrote:
Hello,
I'm running ATS in front of a fairly large *shared* webserver (many vhosts). I've
noticed that with keep-alive Traffic Server keeps a two level hash of established
sessions: ip -> hostname -> session. Because of this ATS opens way too many
connections than are needed.
In HttpSessionManager.cc I found this comment which explains the reasoning
behind this:
// We compute the mmh for matching the hostname as the last
// check for a match between the session the HttpSM is looking
// for and the sessions we have. We have to use the hostname
// as part of the match because some stupid servers can't
// handle getting request for different virtual hosts over
// the same keep-alive session (INKqa05429).
Do you know which servers were affected by such bug?
It's probably reasonable to assume that this is so old, it's no longer
applicable. That bug is probably 10+ years old.
I made a small patch to disable the 2nd level hash and noticed a huge
performance benefit under heavy load. Would it be possible to have this as an
option in records.config?
I don't see any issues with having this as an option. If you file a bug at
https://issues.apache.org/jira/browse/TS and attach your patch, I'll review and
merge it
Yeah, lets get a jira on it. Depending on what the patch does, we can either
make a new option, or, perhaps (but hard to say depending on what the patch
actually implies) bake it into the existing configuration which deals with
the behavior of the session cache. Or ideally, just make it the new default
behavior (but we'd have to see what implications it'd have against at least
some common web servers).
-- Leif