Application
|
Determine the following requirements for the application to be deployed.
|
Hardware
|
|
Operating System
|
|
Network Infrastructure
|
-
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 rsh/ssh based your preference so
that HADB nodes are properly installed.
For more information see Sun GlassFish Communications Server 2.0 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
|
-
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 Sun GlassFish Communications Server 2.0 Performance Tuning Guide.
|
Installation
|
|
Communications Server Configuration
|
-
Logging: Enable access log rotation.
-
Choose the right logging level. WARNING is usually appropriate.
-
Configure Java EE containers using Admin Console.
-
Configure HTTP listeners using Admin Console.
-
Configure SIP listeners using Admin Console.
-
Configure ORB threadpool using Admin 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 Sun GlassFish Communications Server 2.0 Performance Tuning Guide.
For more information on configuration, see Sun GlassFish Communications Server 2.0 Administration Guide.
|
Converged Load balancer Configuration
|
|
Java Virtual Machine Configuration
|
-
Initially set the minimum and maximum heap sizes to be the
same, and at least one GB for each instance.
-
See Java Hotspot VM Options for more information.
-
When running multiple instances of Communications Server, consider
creating a processor set and bind Communications Server to it. This helps in cases
where the CMS collector is used to sweep the old generation.
|
Configuring time-outs in Communications Server
|
-
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)
|
Garbage collection pauses of four seconds or more can cause intermittent
problems. 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.
|