| type=page |
| status=published |
| title=Checklist for Deployment |
| prev=planning.html |
| ~~~~~~ |
| Checklist for Deployment |
| ======================== |
| |
| [[GSPLG00003]][[abfeq]] |
| |
| |
| [[checklist-for-deployment]] |
| 3 Checklist for Deployment |
| -------------------------- |
| |
| This appendix provides a checklist to get started on evaluation and |
| production with the GlassFish Server. |
| |
| [[sthref7]][[checklist]] |
| |
| Checklist |
| ~~~~~~~~~ |
| |
| [[sthref8]][[sthref9]] |
| |
| 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. |
| |
| * 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]. |
| |
| |Hardware a| |
| * Have necessary amounts of hard disk space and memory installed. |
| * 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| |
| * Ensure that the product is installed on a supported platform. |
| * 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| |
| * 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. + |
| 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. |
| |
| |System Changes/Configuration a| |
| * Make sure that changes to `/etc/system` and its equivalent on Linux |
| 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. |
| * On Solaris, use `Setoolkit` to determine the behavior of the system. |
| 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| |
| * 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| |
| * 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. |
| * 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. + |
| For more information on tuning, see the link:../performance-tuning-guide/toc.html#GSPTG[GlassFish Server |
| 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| |
| * 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. |
| |
| |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] |
| (`http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html`) |
| 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. |
| |
| |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. |
| * 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. |
| * 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. |
| |
| |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. |
| * 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. |
| * 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. |
| |
| |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: |
| |
| `<jvm-options>-XX:+UseConcMarkSweepGC</jvm-options>` |
| |
| This option may decrease throughput. |