[ 
https://issues.apache.org/jira/browse/TRINIDAD-1747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12846583#action_12846583
 ] 

Gabrielle Crawford edited comment on TRINIDAD-1747 at 3/17/10 9:06 PM:
-----------------------------------------------------------------------

We'd are proposing a context param to control whether or not to compress the 
page state, this is similar to the mojarra context param 
com.sun.faces.compressViewState. see 
http://wiki.glassfish.java.net/Wiki.jsp?page=JavaServerFacesRI

For now we propose an internal context param, 
"org.apache.myfaces.trinidadinternal.COMPRESS_VIEW_STATE". For now the default 
will be off. 

Here are the results of testing the code

time(secs) no serialization:     0.57           
time(secs) serialization :       0.58   
time(secs) compress:        0.587

CPU usage no serialization:     29%           
CPU usage serialization :      30%   
CPU usage compress:        30.7%

page state memory no serialization: 100M         
page state memory compress:  9.8M

As you can see, zipping greatly reduced the memory being taken up by page state.

You may wonder why we tested zipping against serializing the page state. When 
failover is implemented, values on the session are serialized, so any scalable 
application is going to be serializing the page state already. 

If people test this and find that it's working with a minimal performance hit 
we can consider whether to make this public and if so whether to default it to 
on.

      was (Author: gabrielle):
    We'd are proposing a context param to control whether or not to compress 
the page state, this is similar to the mojarra context param 
com.sun.faces.compressViewState. see 
http://wiki.glassfish.java.net/Wiki.jsp?page=JavaServerFacesRI

For now we propose an internal context param, 
"org.apache.myfaces.trinidadinternal.COMPRESS_VIEW_STATE". For now the default 
will be off. 

Here are the results of testing the code

                        no serialization    serialization     zipping
time(secs)                 0.57                    0.58           
0.587
CPU usage               29%                     30%            30.7%
state memory           100M                                    9.8M
</code></pre>

As you can see, zipping greatly reduced the memory being taken up by page state.

You may wonder why we tested zipping against serializing the page state. When 
failover is implemented, values on the session are serialized, so any scalable 
application is going to be serializing the page state already. 

If people test this and find that it's working with a minimal performance hit 
we can consider whether to make this public and if so whether to default it to 
on.
  
> zip page state to reduce live memory
> ------------------------------------
>
>                 Key: TRINIDAD-1747
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1747
>             Project: MyFaces Trinidad
>          Issue Type: Improvement
>            Reporter: Gabrielle Crawford
>         Attachments: 1.2.12.1_compressviewstate.patch
>
>
> PageState Objects tend to pin a lot of live memory. These objects are heavy 
> in live memory and can use a couple of MB per object. This is very big 
> overhead and becomes much bigger issue in clustering when session replication 
> happens.

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

Reply via email to