You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Sudheer Vinukonda (JIRA)" <ji...@apache.org> on 2014/09/30 16:07:33 UTC

[jira] [Created] (TS-3102) Reuse context memory for SPDY streams within a SPDY connection

Sudheer Vinukonda created TS-3102:
-------------------------------------

             Summary: 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
            Reporter: Sudheer Vinukonda


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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)