Oracle GlassFish Server Documentation Set
Typographic Conventions
Symbol Conventions
Default Paths and File Names
Process Overview
Performance Tuning Sequence
Understanding Operational Requirements
Application Architecture
Security Requirements
User Authentication and Authorization
Encryption
High Availability Clustering, Load Balancing, and Failover
Hardware Resources
Administration
General Tuning Concepts
Capacity Planning
To Determine Capacity
User Expectations
Further Information
Java Programming Guidelines
Avoid Serialization and Deserialization
Use StringBuilder to Concatenate Strings
StringBuilder
Assign null to Variables That Are No Longer Needed
Declare Methods as final Only If Necessary
Declare Constants as static final
Avoid Finalizers
Declare Method Arguments final
Synchronize Only When Necessary
Use DataHandlers for SOAP Attachments
Java Server Page and Servlet Tuning
Suggested Coding Practices
General Guidelines
Avoid Shared Modified Class Variables
HTTP Session Handling
Configuration and Deployment Tips
EJB Performance Tuning
Goals
Monitoring EJB Components
Monitoring Individual EJB Components
Use High Performance Beans
Use Caching
Use the Appropriate Stubs
Remove Unneeded Stateful Session Beans
Cache and Pool Tuning Tips
Using Local and Remote Interfaces
Prefer Local Interfaces
Using Pass-By-Reference Semantics
Improving Performance of EJB Transactions
Use Container-Managed Transactions
Do Not Encompass User Input Time
Identify Non-Transactional Methods
Use TX_REQUIRED for Long Transaction Chains
TX_REQUIRED
Use Lowest Cost Database Locking
Use XA-Capable Data Sources Only When Needed
Configure JDBC Resources as One-Phase Commit Resources
Use the Least Expensive Transaction Attribute
Using Special Techniques
Version Consistency
Request Partitioning
Tuning Tips for Specific Types of EJB Components
Entity Beans
Stateful Session Beans
Stateless Session Beans
Read-Only Entity Beans
Pre-Fetching Container Managed Relationship (CMR) Beans
JDBC and Database Access
Use JDBC Directly
Encapsulate Business Logic in Entity EJB Components
Close Connections
Minimize the Database Transaction Isolation Level
Tuning Message-Driven Beans
Use getConnection()
getConnection()
Tune the Message-Driven Bean’s Pool Size
Cache Bean-Specific Resources
Limit Use of JMS Connections
Using the GlassFish Server Performance Tuner
Deployment Settings
Disable Auto-Deployment
Use Pre-compiled JavaServer Pages
Disable Dynamic Application Reloading
Logger Settings
General Settings
Log Levels
Web Container Settings
Session Properties: Session Timeout
Manager Properties: Reap Interval
Disable Dynamic JSP Reloading
EJB Container Settings
Monitoring the EJB Container
Tuning the EJB Container
Overview of EJB Pooling and Caching
Tuning the EJB Pool
Tuning the EJB Cache
Pool and Cache Settings for Individual EJB Components
Commit Option
Java Message Service Settings
Transaction Service Settings
Monitoring the Transaction Service
Viewing Monitoring Information
Tuning the Transaction Service
Disable Distributed Transaction Logging
Recover On Restart (Automatic Recovery)
Keypoint Interval
HTTP Service Settings
Monitoring the HTTP Service
DNS Cache Information (dns)
File Cache Information (file-cache)
Keep Alive (keep-alive)
Connection Queue
HTTP Service Access Logging
Network Listener Settings
HTTP Settings
Max Connections
DNS Lookup Enabled
Timeout
Header Buffer Length
File Cache Settings
Max File Count
Max Age
Transport Settings
Thread Pool Settings
Max Thread Pool Size
Min Thread Pool Size
ORB Settings
Overview
How a Client Connects to the ORB
Monitoring the ORB
Connection Statistics
Thread Pools
Tuning the ORB
Tunable ORB Parameters
ORB Thread Pool Parameters
Client ORB Properties
Thread Pool Sizing
Examining IIOP Messages
Resource Settings
JDBC Connection Pool Settings
Monitoring JDBC Connection Pools
Tuning JDBC Connection Pools
Connector Connection Pool Settings
Transaction Support
Load Balancer Settings
Java Virtual Machine Settings
Start Options
Tuning High Availability Persistence
Managing Memory and Garbage Collection
Tuning the Garbage Collector
Choosing the Garbage Collection Algorithm
Additional Information
Tracing Garbage Collection
Other Garbage Collector Settings
Setting the Maximum Permanent Generation
Disabling Explicit Garbage Collection
Setting the Frequency of Full Garbage Collection
Tuning the Java Heap
Guidelines for Java Heap Sizing
Heap Tuning Parameters
Rebasing DLLs on Windows
To rebase the GlassFish Server’s DLLs
Server Scaling
Processors
Memory
Disk Space
Networking
UDP Buffer Sizes
To Determine an Optimal UDP Buffer Size
To Set the UDP Buffer Size on Linux Systems
Solaris 10 Platform-Specific Tuning Information
Tuning for the Solaris OS
Tuning Parameters
Sizing the Connection Hash Table
File Descriptor Setting
Tuning for Solaris on x86
File Descriptors
IP Stack Settings
Tuning for Linux platforms
Startup Files
Virtual Memory
Network Interface
Disk I/O Settings
To tune disk I/O performance for non SCSI disks
TCP/IP Settings
To tune the TCP/IP settings
Tuning UltraSPARC CMT-Based Systems
Tuning Operating System and TCP Settings
Disk Configuration
Network Configuration