Abstract:
Java is one of the most popular and widely used programming languages that
uses the object-oriented concept which allows applications to be easily developed.
Java Enterprise Edition (Java EE) is the most popular development platform used for
web applications and web services. Critical business applications normally use more
than one Java EE server for enhancing service availability, flexibility, and preventing
a single point of failure. As the needs in usage and workload are increased, Java EE is
implemented in a cluster model for enhancing the performance and availability. But,
Java EE cluster requires additional mechanisms that allow multiple servers to work as
a single server. Such mechanisms are load balancing and data replication.
This thesis proposes a load balancing model for a Java EE cluster based on the
weighted input workload of applications. The study analyzes the characteristics of 22
queries in TPC-H benchmark used as the workload for experiments, and assigns
appropriate weight to all queries. The experimental results illustrate that the proposed
Time-Weight and Constant-Weight load balancing policies give better throughput
than that of the typical Round Robin policy. Other adaptive policies and the new
benchmark, TPC-DS, could be further investigated in the near future.