Introduction

One of WADI's strengths is its distributed session lookup engine, which provides the necessary infrastructure to track session locations in a constant cost whatever the number of nodes in a cluster. Thanks to this design, the cost of a session insertion, migration or invalidation is constant, once again, whatever the number of cluster members.

A second strength is its replication engine, which only replicates sessions to a configurable number of nodes. As a consequence, replication overhead is solely a function of the number of back-ups to be maintained. In other words, replication remains efficient whatever the number of cluster members.

The main objective of the scalability and performance tests presented by this report is to validate and demonstrate the effectiveness of WADI's distributed session engine and replication engine through specific experimentations.

A subsidiary goal is to measure some of WADI's performance characteristics and to compare them with the characteristics of another clustering solution, Terracotta, which also scales up to multiple nodes without noticeable performance impacts.

This report includes average response times and CPU usage comparisons between WADI and Terracotta, which are to be read and interpreted in the described contexts. More explicitly, the fact that WADI's average response times are smaller than Terracotta's ones in the considered usage scenarios certainly does not mean that WADI is generally faster than Terracotta.

Tests Description

Session Migration Test

Session Migration and Replication Test

Session Replication Test

Results

Session Migration Test

Average Response Time

Graph

Raw Data
  1. of nodes

Average Response Time - WADI

Average Response Time - Terracotta

1

1.26

2.95

2

6.29

9.23

3

6.39

10.10

4

6.52

11.57

5

6.53

13.12

CPU Usage

Graph

Raw Data
  1. of nodes

Average CPU Usage - WADI

Average CPU Usage - Terracotta

1

60

77

2

74

78

3

75

83

4

76

85

5

74

87

Observations

Session Migration and Replication Test

Average Response Time

Graph

Raw Data
  1. of nodes

Average Response Time - WADI

Average Response Time - Terracotta

1

N/A

N/A

2

9.49

11.08

3

9.40

12.32

4

9.85

13.42

5

10.07

15.28

CPU Usage

Graph

Raw Data
  1. of nodes

Average CPU Usage - WADI

Average CPU Usage - Terracotta

1

N/A

N/A

2

69

85

3

71

85

4

71

87

5

71

89

Observations

  • Out-of-the-box, WADI provides a replication strategy allowing the configuration of the number of replicas to be maintained for a given session.
  • Replicas are automatically re-organized when new nodes join or leave the cluster. For example, when the number of replicas is set to two and a node joins a cluster of two nodes, new replicas are automatically added to the joining node to guarantee the existence of 2 replicas per session.
  • Users requiring specific replication strategies can easily plug-in their own strategy. A specific replication strategy could be: session replicas are to be hosted by nodes running on distinct hardware than the node owning the session.

Session Replication Test

Average Response Time

Graph

Raw Data
  1. of nodes

Average Response Time - WADI

Average Response Time - Terracotta

1

N/A

N/A

2

4.77

6.33

3

Not Measured

Not Measured

4

Not Measured

Not Measured

5

4.87

6.36

CPU Usage

Graph

Raw Data
  1. of nodes

Average CPU Usage - WADI

Average CPU Usage - Terracotta

1

N/A

N/A

2

58

96

3

Not Measured

Not Measured

4

Not Measured

Not Measured

5

63

96

Observations

Conclusion

The effectiveness of the design and implementation of WADI's distributed session lookup engine and replication engine is further comforted by the observed average response times and scalability characteristics.

For the considered scenarios, WADI performs better than Terracotta, which is not really surprising as the size of the state stored in HTTP session is too small. Indeed, Terracotta implements a sophisticated state tracking mechanism, which payoffs more and more as the size of sessions increases. It appears that one of the drawback of this advanced tracking mechanism is that it is more of an overhead than an actual benefit for small size sessions, which should be the most common case for online solutions. In order to efficiently cluster the few online solutions having a rather big session size, WADI offers an alternative replication mechanism, which only replicates field updates or method executions against replicas.

As of this writing, WADI's future directions are: