[
https://issues.apache.org/jira/browse/TS-3102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sudheer Vinukonda updated TS-3102:
----------------------------------
Description:
With the present SPDY implementation in ATS, there is no client context reuse.
Though the spdy session is reused, each stream (even the non-concurrent ones)
is allocated a set of new/separate context buffers (including internal
plugin_vc, client_session, SM object, header heap, transaction buffers, server
session objects etc). Some of these objects are allocated from global pool,
while some are from per-thread pool. The context memory is not reused unlike
the non-spdy session, where there can be at most one transaction on a given
connection/session at a time.
Besides being very inefficient (the allocation/deallocation) this also leads to
larger memory print over time, due to the relatively poor reuse of per thread
pool objects (especially, when there are a high number of threads - e.g 100+
like we have).
I am currently testing a patch that does not deallocate the streams when the
transaction completes and reuses those for new/subsequent streams.
was:
With SPDY implementation in ATS, there is no client context reuse. Though the
spdy session is reused, each stream (even the non-concurrent ones) is allocated
a set of new/separate context buffers (including internal plugin_vc,
client_session, SM object, header heap, transaction buffers, server session
objects etc). Some of these objects are allocated from global pool, while some
are from per-thread pool. The context memory is not reused unlike the non-spdy
session, where there can be at most one transaction on a given
connection/session at a time.
Besides being very inefficient (the allocation/deallocation) this also leads to
larger memory print over time, due to the relatively poor reuse of per thread
pool objects (especially, when there are a high number of threads - e.g 100+
like we have).
I am currently testing a patch that does not deallocate the streams when the
transaction completes and reuses those for new/subsequent streams.
> Reuse context memory for SPDY streams within a SPDY connection
> --------------------------------------------------------------
>
> Key: TS-3102
> URL: https://issues.apache.org/jira/browse/TS-3102
> Project: Traffic Server
> Issue Type: Improvement
> Components: SPDY
> Affects Versions: 5.0.1
> Reporter: Sudheer Vinukonda
> Assignee: Sudheer Vinukonda
> Labels: yahoo
> Fix For: 5.2.0
>
>
> With the present SPDY implementation in ATS, there is no client context
> reuse. Though the spdy session is reused, each stream (even the
> non-concurrent ones) is allocated a set of new/separate context buffers
> (including internal plugin_vc, client_session, SM object, header heap,
> transaction buffers, server session objects etc). Some of these objects are
> allocated from global pool, while some are from per-thread pool. The context
> memory is not reused unlike the non-spdy session, where there can be at most
> one transaction on a given connection/session at a time.
> Besides being very inefficient (the allocation/deallocation) this also leads
> to larger memory print over time, due to the relatively poor reuse of per
> thread pool objects (especially, when there are a high number of threads -
> e.g 100+ like we have).
> I am currently testing a patch that does not deallocate the streams when the
> transaction completes and reuses those for new/subsequent streams.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)