You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by "John Plevyak (JIRA)" <ji...@apache.org> on 2010/01/28 23:35:34 UTC

[jira] Created: (TS-120) Automatic compression/decompression in the RAM cache

Automatic compression/decompression in the RAM cache
----------------------------------------------------

                 Key: TS-120
                 URL: https://issues.apache.org/jira/browse/TS-120
             Project: Traffic Server
          Issue Type: Improvement
          Components: Cache
            Reporter: John Plevyak
            Priority: Minor


It would be nice if we could enable automatic compression/decompression in the RAM cache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TS-120) Automatic compression/decompression in the RAM cache

Posted by "John Plevyak (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Plevyak updated TS-120:
----------------------------

    Attachment: ts-120-121-jp-v4.patch

This patch updates the previous by adding fastlz and lzma codecs
as alternatives, updates records.config with fastlz as the default
and fixes stats so that they correctly reflect the size of the RAM cache.



> Automatic compression/decompression in the RAM cache
> ----------------------------------------------------
>
>                 Key: TS-120
>                 URL: https://issues.apache.org/jira/browse/TS-120
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Cache
>            Reporter: John Plevyak
>            Assignee: John Plevyak
>            Priority: Minor
>         Attachments: ts-120-121-jp-v1.patch, ts-120-121-jp-v2.patch, ts-120-121-jp-v3.patch, ts-120-121-jp-v4.patch
>
>
> It would be nice if we could enable automatic compression/decompression in the RAM cache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TS-120) Automatic compression/decompression in the RAM cache

Posted by "John Plevyak (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Plevyak updated TS-120:
----------------------------

    Attachment: ts-120-121-jp-v3.patch

This patch corrects some issues with small caches
to provide more robust performance.

> Automatic compression/decompression in the RAM cache
> ----------------------------------------------------
>
>                 Key: TS-120
>                 URL: https://issues.apache.org/jira/browse/TS-120
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Cache
>            Reporter: John Plevyak
>            Assignee: John Plevyak
>            Priority: Minor
>         Attachments: ts-120-121-jp-v1.patch, ts-120-121-jp-v2.patch, ts-120-121-jp-v3.patch
>
>
> It would be nice if we could enable automatic compression/decompression in the RAM cache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TS-120) Automatic compression/decompression in the RAM cache

Posted by "John Plevyak (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Plevyak updated TS-120:
----------------------------

    Attachment: ts-120-121-jp-v2.patch

This simplifies the interface by making the ram cache responsible for the copies
required by HTTP and it keeps the compressed version of objects which require
a copy on the assumption that decompression is not that much more expensive
than making a copy.

> Automatic compression/decompression in the RAM cache
> ----------------------------------------------------
>
>                 Key: TS-120
>                 URL: https://issues.apache.org/jira/browse/TS-120
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Cache
>            Reporter: John Plevyak
>            Assignee: John Plevyak
>            Priority: Minor
>         Attachments: ts-120-121-jp-v1.patch, ts-120-121-jp-v2.patch
>
>
> It would be nice if we could enable automatic compression/decompression in the RAM cache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (TS-120) Automatic compression/decompression in the RAM cache

Posted by "John Plevyak (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Plevyak reassigned TS-120:
-------------------------------

    Assignee: John Plevyak

I have a patch for this.

> Automatic compression/decompression in the RAM cache
> ----------------------------------------------------
>
>                 Key: TS-120
>                 URL: https://issues.apache.org/jira/browse/TS-120
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Cache
>            Reporter: John Plevyak
>            Assignee: John Plevyak
>            Priority: Minor
>
> It would be nice if we could enable automatic compression/decompression in the RAM cache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TS-120) Automatic compression/decompression in the RAM cache

Posted by "John Plevyak (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Plevyak updated TS-120:
----------------------------

    Attachment: ts-120-121-jp-v1.patch

This patch changes the ram cache replacement algorithm and add
support for automatic compression and decompression of ram cache
entries.

The new policy takes into account frequency and size using an algorithm
loosely based on a number of ones I have been reading about including
the CLOCK and 2Q algorithms as well as GDSF.  It does not use a priority
queue so it is very fast.  It uses 2 levels of history.  I have done some testing
and it seems to be reasonable, but we need some traces to get hard data.

Compression must be enabled at startup and is configurable as a percent
of the ram cache  (the most recently used is left uncompressed in the hope
that it might be reused).  Compression is via zlib and configure.ac has been
enhanced to detect it.

Unfortunately some surgery on the cache was required as we store the
unmarshalled HTTP headers in the cache and share them read only for
efficiency, and those cannot be compressed. Therefore when compression
is enabled, the HTTP headers are stored marshalled in the ram cache which
is somewhat less efficient, but hey, you are burning cycles on compression.
However, this means that compression cannot be dynamically turned on
and off, although the percentage can be modified.

> Automatic compression/decompression in the RAM cache
> ----------------------------------------------------
>
>                 Key: TS-120
>                 URL: https://issues.apache.org/jira/browse/TS-120
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Cache
>            Reporter: John Plevyak
>            Assignee: John Plevyak
>            Priority: Minor
>         Attachments: ts-120-121-jp-v1.patch
>
>
> It would be nice if we could enable automatic compression/decompression in the RAM cache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.