Establishing Performance Goals
Estimating Load on GlassFish Server Instances
Maximum Number of Concurrent Users
Planning the Network Configuration
Estimating Bandwidth Requirements
Calculating Bandwidth Required
Using Clusters to Improve Availability
Adding Redundancy to the System
Planning Message Queue Broker Deployment
Master Broker and Client Synchronization for Conventional Clusters
Configuring GlassFish Server to Use Message Queue Brokers
Managing JMS with the Administration Console
Using a Message Queue Broker Cluster with a GlassFish Server Cluster
Specifying an Application-Specific Message Queue Broker Cluster
Design decisions include whether you are designing the system for peak or steady-state load, the number of machines in various roles and their sizes, and the size of the administration thread pool.
The following topics are addressed here:
In a typical deployment, there is a difference between steady state and peak workloads:
If the system is designed to handle peak load, it can sustain the expected maximum load of users and requests without degrading response time. This implies that the system can handle extreme cases of expected system load. If the difference between peak load and steady state load is substantial, designing for peak loads can mean spending money on resources that are often idle.
If the system is designed to handle steady state load, it does not have all the resources required to handle the expected peak load. Thus, the system has a slower response time when peak load occurs.
How often the system is expected to handle peak load will determine whether you want to design for peak load or for steady state.
If peak load occurs often—say, several times per day—it may be worthwhile to expand capacity to handle it. If the system operates at steady state 90 percent of the time, and at peak only 10 percent of the time, then it may be preferable to deploy a system designed around steady state load. This implies that the system’s response time will be slower only 10 percent of the time. Decide if the frequency or duration of time that the system operates at peak justifies the need to add resources to the system.
Based on the load on the GlassFish Server instances and failover requirements, you can determine the number of applications server instances (hosts) needed. Evaluate your environment on the basis of the factors explained in Estimating Load on GlassFish Server Instances to each GlassFish Server instance, although each instance can use more than one Central Processing Unit (CPU).
The default admin-thread-pool size of 50 should be adequate for most cluster deployments. If you have unusually large clusters, you may need to increase this thread pool size. In this case, set the max-thread-pool-size attribute to the number of instances in your largest cluster, but not larger than the number of incoming synchronization requests that the DAS can handle.