MeasureHttpSessioniReplicationSize

Version 9

    HttpSession Replication is based on JBoss Cache which is based on JGroups.  You can ask JGroups to log the bytes sent each time replication happens.  All you have to do is add the SIZE protocol to the JGroups stack that HttpSession Replication is using. 

     

    To set this up you will just add <SIZE/> to your protocol stack. You should not use <SIZE/> in production.  It can have a bad effect on performance.

     

    You will just make the configuration in your deploy/tc5-cluster-service.xml look like this:

     

    
    <attribute name="ClusterConfig">
                <!--
                The default UDP stack:
                - If you have a multihomed machine, set the UDP protocol's bind_addr attribute to the
                appropriate NIC IP address, e.g bind_addr="192.168.0.2".
                - On Windows machines, because of the media sense feature being broken with multicast
                (even after disabling media sense) set the UDP protocol's loopback attribute to true
                -->
                <config>
                    <UDP mcast_addr="${jboss.partition.udpGroup:230.1.2.7}" mcast_port="45577"
                        ip_ttl="8" ip_mcast="true" 
                        mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
                        ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
                        loopback="false"></UDP>
                    <PING timeout="2000" num_initial_members="3"
                        up_thread="false" down_thread="false"></PING>
                    <MERGE2 min_interval="10000" max_interval="20000"></MERGE2>
                    <FD_SOCK></FD_SOCK>
                    <VERIFY_SUSPECT timeout="1500"
                        up_thread="false" down_thread="false"></VERIFY_SUSPECT>
                    <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
                        max_xmit_size="8192" up_thread="false" down_thread="false"></pbcast>
                    <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10"
                        down_thread="false"></UNICAST>
                    <pbcast.STABLE desired_avg_gossip="20000"
                        up_thread="false" down_thread="false"></pbcast>
                    <FRAG frag_size="8192"
                        down_thread="false" up_thread="false"></FRAG>
                    <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
                        shun="true" print_local_addr="true"></pbcast>
                    <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"></pbcast>
                    <SIZE></SIZE>
                </config>
    </attribute>
    
    

     

    Note that <SIZE/> goes at the bottom of the stack.

     

    This will produce log messages at the INFO level that look something like this:

    08:56:19,605 INFO  [SIZE] size of message is 1664, 3 headers

     

    Later versions of JGroups log this same information at TRACE instead of INFO.

     

     

     

     

     

    Referenced by: