Skip to content

Commit

Permalink
Issue eclipse-ee4j#23739 Fixes in deployment-planning-guide
Browse files Browse the repository at this point in the history
  • Loading branch information
dmatej committed Dec 15, 2021
1 parent a5738c0 commit 9e97561
Show file tree
Hide file tree
Showing 7 changed files with 189 additions and 200 deletions.
148 changes: 81 additions & 67 deletions docs/deployment-planning-guide/src/main/jbake/content/checklist.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ status=published
title=Checklist for Deployment
prev=planning.html
~~~~~~

Checklist for Deployment
========================

Expand All @@ -26,136 +27,149 @@ Checklist
Table 3-1 Checklist

[width="100%",cols="<23%,<77%",options="header",]
|=======================================================================
|===
|Component/Feature |Description
|Application a|
Determine the following requirements for the application to be deployed.
|Application
a|Determine the following requirements for the application to be deployed.

* Required/acceptable response time.
* Peak load characteristics.
* Necessary persistence scope and frequency.
* Session timeout in `web.xml`.
* Failover and availability requirements. +
For more information see the link:../performance-tuning-guide/toc.html#GSPTG[GlassFish Server Open Source
Edition Performance Tuning Guide].
* Failover and availability requirements.
|Hardware a|
For more information see the link:../performance-tuning-guide/toc.html#GSPTG[
GlassFish Server Open Source Edition Performance Tuning Guide].

|Hardware
a|
* Have necessary amounts of hard disk space and memory installed.
* Use the sizing exercise to identify the requirements for deployment. +
* Use the sizing exercise to identify the requirements for deployment.

For more information see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source
Edition Release Notes]

|Operating System a|
|Operating System
a|
* Ensure that the product is installed on a supported platform.
* Ensure that the patch levels are up-to-date and accurate. +
* Ensure that the patch levels are up-to-date and accurate.

For more information see the link:../release-notes/toc.html#GSRLN[GlassFish Server Open Source
Edition Release Notes]

|Network Infrastructure a|
|Network Infrastructure
a|
* Identify single points of failures and address them.
* Make sure that the NICs and other network components are correctly
configured.
* Run `ttcp` benchmark test to determine if the throughput meets the
requirements/expected result.
* Setup `ssh` based your preference. +
* Make sure that the NICs and other network components are correctly configured.
* Run `ttcp` benchmark test to determine if the throughput meets the requirements/expected result.
* Setup `ssh` based your preference.

For more information see the link:../installation-guide/toc.html#GSING[GlassFish Server Open Source
Edition Installation Guide].

|Back-ends and other external data sources |Check with the domain expert
or vendor to ensure that these data sources are configured
appropriately.
|Back-ends and other external data sources
|Check with the domain expert or vendor to ensure that these data sources
are configured appropriately.

|System Changes/Configuration a|
|System Changes/Configuration
a|
* Make sure that changes to `/etc/system` and its equivalent on Linux
are completed before running any performance/stress tests.
are completed before running any performance/stress tests.
* Make sure the changes to the TCP/IP settings are complete.
* By default, the system comes with lots of services pre-configured. Not
all of them are required to be running. Turn off services that are not
needed to conserve system resources.
all of them are required to be running. Turn off services that are not
needed to conserve system resources.
* On Solaris, use `Setoolkit` to determine the behavior of the system.
Resolve any flags that show up. +
Resolve any flags that show up.

For more information see the link:../performance-tuning-guide/toc.html#GSPTG[GlassFish Server Open Source
Edition Performance Tuning Guide].

|Installation a|
|Installation
a|
* Ensure that these servers are not installed on NFS mounted volumes.
* Check for enough disk space and RAM when installing GlassFish Server.

|GlassFish Server Configuration a|
|GlassFish Server Configuration
a|
* Logging: Enable access log rotation.
* Choose the right logging level. WARNING is usually appropriate.
* Configure Java EE containers using the Administration Console.
* Configure HTTP listeners using the Administration Console.
* Configure ORB threadpool using the Administration Console.
* If using Type2 drivers or calls involving native code, ensure that
mtmalloc.so is specified in the LD_LIBRARY_PATH.
mtmalloc.so is specified in the LD_LIBRARY_PATH.
* Ensure that the appropriate persistence scope and frequency are used
and they are not overridden underneath in the individual Web/EJB
modules.
* Ensure that only critical methods in the SFSB are checkpointed. +
and they are not overridden underneath in the individual Web/EJB modules.
* Ensure that only critical methods in the SFSB are checkpointed.

For more information on tuning, see the link:../performance-tuning-guide/toc.html#GSPTG[GlassFish Server
Open Source Edition Performance Tuning Guide]. +
Open Source Edition Performance Tuning Guide].

For more information on configuration, see the link:../administration-guide/toc.html#GSADG[GlassFish
Server Open Source Edition Administration Guide].

|Load balancer Configuration a|
|Load balancer Configuration
a|
* Make sure the Web Server is installed.
* Make sure the load balancer plug-in into the Web Server is installed.
* Make sure patch checks is disabled.
* Lower the value of the `KeepAliveQuery` parameter. The lower the
value, the lower the latency is on lightly loaded systems. The higher
the value, the higher the throughput is on highly loaded systems.
value, the lower the latency is on lightly loaded systems. The higher
the value, the higher the throughput is on highly loaded systems.

|Java Virtual Machine Configuration a|
|Java Virtual Machine Configuration
a|
* Initially set the minimum and maximum heap sizes to be the same, and
at least one GB for each instance.
* See
http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[Java
Hotspot VM Options]
at least one GB for each instance.
* See http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[
Java Hotspot VM Options]
(`http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html`)
for more information.
for more information.
* When running multiple instances of GlassFish Server, consider creating
a processor set and bind GlassFish Server to it. This helps in cases
where the CMS collector is used to sweep the old generation.
a processor set and bind GlassFish Server to it. This helps in cases
where the CMS collector is used to sweep the old generation.

|Configuring time-outs in the load balancer a|
|Configuring time-outs in the load balancer
a|
* Response-time-out-in-seconds - How long the load balancer waits before
declaring a GlassFish Server instance unhealthy. Set this value based on
the response time of the application. If set too high, the Web Server
and load balancer plug-in wait a long time before marking a GlassFish
Server instance as unhealthy. If set too low and GlassFish Server's
response time crosses this threshold, the instance will be incorrectly
marked as unhealthy.
declaring a GlassFish Server instance unhealthy. Set this value based on
the response time of the application. If set too high, the Web Server
and load balancer plug-in wait a long time before marking a GlassFish
Server instance as unhealthy. If set too low and GlassFish Server's
response time crosses this threshold, the instance will be incorrectly
marked as unhealthy.
* Interval-in-seconds - Time in seconds after which unhealthy instances
are checked to find out if they have returned to a healthy state. Too
low a value generates extra traffic from the load balancer plug-in to
GlassFish Server instances and too high a value delays the routing of
requests to the instance that has turned healthy.
are checked to find out if they have returned to a healthy state. Too
low a value generates extra traffic from the load balancer plug-in to
GlassFish Server instances and too high a value delays the routing of
requests to the instance that has turned healthy.
* Timeout-in-seconds - Duration for a response to be obtained for a
health check request. Adjust this value based on the traffic among the
systems in the cluster to ensure that the health check succeeds.
health check request. Adjust this value based on the traffic among the
systems in the cluster to ensure that the health check succeeds.

|Configuring time-outs in GlassFish Server a|
|Configuring time-outs in GlassFish Server
a|
* Max-wait-time-millis - Wait time to get a connection from the pool
before throwing an exception. Default is 6 s. Consider changing this
value for highly loaded systems where the size of the data being
persisted is greater than 50 KB.
before throwing an exception. Default is 6 s. Consider changing this
value for highly loaded systems where the size of the data being
persisted is greater than 50 KB.
* Cache-idle-timeout-in-seconds - Time an EJB is allowed to be idle in
the cache before it gets passivated. Applies only to entity beans and
stateful session beans.
the cache before it gets passivated. Applies only to entity beans and
stateful session beans.
* Removal-timeout-in-seconds - Time that an EJB remains passivated (idle
in the backup store). Default value is 60 minutes. Adjust this value
based on the need for SFSB failover.
in the backup store). Default value is 60 minutes. Adjust this value
based on the need for SFSB failover.

|Tune VM Garbage Collection (GC) a|
Garbage collection pauses of four seconds or more can cause intermittent
|Tune VM Garbage Collection (GC)
a| Garbage collection pauses of four seconds or more can cause intermittent
problems in persisting session state. To avoid this problem, tune the VM
heap. In cases where even a single failure to persist data is
unacceptable or when the system is not fully loaded, use the CMS
collector or the throughput collector.

These can be enabled by adding:

These can be enabled by adding: +
`<jvm-options>-XX:+UseConcMarkSweepGC</jvm-options>`

This option may decrease throughput.
|===
65 changes: 31 additions & 34 deletions docs/deployment-planning-guide/src/main/jbake/content/concepts.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title=Product Concepts
next=planning.html
prev=preface.html
~~~~~~

Product Concepts
================

Expand Down Expand Up @@ -233,15 +234,11 @@ configurations of other domains. Likewise, deploying an application on
one domain does not deploy it or make it visible to any other domain.


[width="100%",cols="<100%",]
|=======================================================================
a|
Note:

[NOTE]
====
All hosts in a domain on which the DAS and GlassFish Server instances
are running must have the same operating system.

|=======================================================================
====


[[abfbb]][[GSPLG00024]][[domain-administration-server-das]]
Expand Down Expand Up @@ -307,15 +304,11 @@ applications and resources are on all instances in the cluster, an
instance can failover to any other instance in the cluster.


[width="100%",cols="<100%",]
|=======================================================================
a|
Note:

[NOTE]
====
All hosts in a cluster on which the DAS and GlassFish Server instances
are running must have the same operating system.

|=======================================================================
====


Clusters, domains, and instances are related as follows:
Expand Down Expand Up @@ -427,7 +420,8 @@ GlassFish Server supports the following session persistence types:
* Memory
* Replicated
* File
* Coherence*Web
* Coherence
* Web
With memory persistence, the state is always kept in memory and does not
survive failure. With replicated persistence, GlassFish Server uses
Expand Down Expand Up @@ -529,7 +523,7 @@ For basic JMS administration tasks, use the GlassFish Server
Administration Console and `asadmin` command-line utility.

For advanced tasks, including administering a Message Queue cluster, use
the tools provided in the as-install`/mq/bin` directory. For details
the tools provided in the as-install``/mq/bin`` directory. For details
about administering Message Queue, see the link:../../openmq/mq-admin-guide/toc.html#GMADG[Open Message
Queue Administration Guide].

Expand All @@ -551,57 +545,60 @@ cross-references to detailed instructions for performing each task.
To Configure GlassFish Server for High Availability
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1. Determine your requirements and goals for performance and QoS. +
1. Determine your requirements and goals for performance and QoS. +
For more information, see the following documentation:
* link:planning.html#abfcc[Establishing Performance Goals]
* link:planning.html#abfcp[Planning the Network Configuration]
* link:planning.html#abfcy[Planning for Availability]
2. Size your system. +
2. Size your system. +
For more information, see link:planning.html#abfdg[Design Decisions].
3. Install GlassFish Server and related subcomponents such as a web
server. +
3. Install GlassFish Server and related subcomponents such as a web server. +
For more information, see the following documentation:
* link:../installation-guide/toc.html#GSING[GlassFish Server Open Source Edition Installation Guide]
* Installation guides for related subcomponents, for example, Oracle
iPlanet Web Server 7.0.9 Installation and Migration Guide
(`http://docs.oracle.com/cd/E19146-01/821-1832/index.html`)
4. If you plan to administer your clusters centrally, set up secure
4. If you plan to administer your clusters centrally, set up secure
shell (SSH) for centralized administration. +
For more information, see "link:../ha-administration-guide/ssh-setup.html#GSHAG00003[Setting Up SSH for
Centralized Administration]" in GlassFish Server Open Source Edition
For more information, see "link:../ha-administration-guide/ssh-setup.html#GSHAG00003[
Setting Up SSH for Centralized Administration]" in GlassFish Server Open Source Edition
High Availability Administration Guide.
5. Configure domains, nodes, clusters, GlassFish Server instances, and
5. Configure domains, nodes, clusters, GlassFish Server instances, and
virtual servers as required. +
For more information, see the following documentation:
* "link:../administration-guide/domains.html#GSADG00006[Administering Domains]" in GlassFish Server Open
Source Edition Administration Guide
* "link:../ha-administration-guide/nodes.html#GSHAG00004[Administering GlassFish Server Nodes]" in GlassFish
Server Open Source Edition High Availability Administration Guide
* "link:../ha-administration-guide/clusters.html#GSHAG00005[Administering GlassFish Server Clusters]" in
GlassFish Server Open Source Edition High Availability Administration
Guide
GlassFish Server Open Source Edition High Availability Administration Guide
* "link:../ha-administration-guide/instances.html#GSHAG00006[Administering GlassFish Server Instances]" in
GlassFish Server Open Source Edition High Availability Administration
Guide
GlassFish Server Open Source Edition High Availability Administration Guide
* "link:../administration-guide/http_https.html#GSADG00589[Administering Virtual Servers]" in GlassFish Server
Open Source Edition Administration Guide
6. Configure your load balancer. +
6. Configure your load balancer. +
For more information, see "link:../administration-guide/webapps.html#GSADG00552[Administering mod_jk]" in
GlassFish Server Open Source Edition Administration Guide.
7. Configure the web container and EJB container for replicated session
persistence. +
7. Configure the web container and EJB container for replicated session persistence. +
For more information, see "link:../ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High
Availability Session Persistence and Failover]" in GlassFish Server Open
Source Edition High Availability Administration Guide.
8. If you are using messaging extensively, configure Java Message
8. If you are using messaging extensively, configure Java Message
Service (JMS) clusters for failover . +
For more information, see the following documentation:
* link:planning.html#abfdn[Planning Message Queue Broker Deployment]
* "link:../ha-administration-guide/jms.html#GSHAG00012[Configuring Java Message Service High Availability]"
in GlassFish Server Open Source Edition High Availability Administration
Guide
* link:../../openmq/mq-admin-guide/toc.html#GMADG[Open Message Queue Administration Guide]
9. Deploy applications and configure them for high availability and
session failover. +
9. Deploy applications and configure them for high availability and session failover. +
For more information, see the link:../application-deployment-guide/toc.html#GSDPG[GlassFish Server Open Source
Edition Application Deployment Guide].
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title=List of Examples
next=lot.html
prev=toc.html
~~~~~~

List of Examples
================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title=List of Tables
next=title.html
prev=loe.html
~~~~~~

List of Tables
==============

Expand Down
Loading

0 comments on commit 9e97561

Please sign in to comment.