Server User Manual
Table Of Contents
- Sun GlassFish Enterprise Server 2.1 Performance Tuning Guide
- Preface
- Overview of Enterprise Server Performance Tuning
- Tuning Your Application
- Java Programming Guidelines
- Java Server Page and Servlet Tuning
- EJB Performance Tuning
- Goals
- Monitoring EJB Components
- General Guidelines
- Using Local and Remote Interfaces
- Improving Performance of EJB Transactions
- Use Container-Managed Transactions
- Don’t Encompass User Input Time
- Identify Non-Transactional Methods
- Use TX_REQUIRED for Long Transaction Chains
- 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
- Tuning Tips for Specific Types of EJB Components
- JDBC and Database Access
- Tuning Message-Driven Beans
- Tuning the Enterprise Server
- Deployment Settings
- Logger Settings
- Web Container Settings
- EJB Container Settings
- Java Message Service Settings
- Transaction Service Settings
- HTTP Service Settings
- ORB Settings
- Thread Pool Settings
- Resources
- Tuning the Java Runtime System
- Tuning the Operating System and Platform
- Tuning for High-Availability
- Index

To prevent load address collisions, set preferred base addresses with the rebase utilty that comes
with Visual Studio and the Platform SDK. Use the rebase utility to reassign the base addresses of
the Application Server DLLs to prevent relocations at load time and increase the available
process memory for the Java heap.
There are a few Application Server DLLs that have non-default base addresses that can cause
collisions. For example:
■
The nspr libraries have a preferred address of 0x30000000.
■
The icu libraries have the address of 0x4A?00000.
Move these libraries near the system DLLs (msvcrt.dll is at 0x78000000) to increase the
available maximum contiguous address space substantially. Since rebasing can be done on any
DLL, rebase to the DLLs after installing the Application Server.
▼
To rebase the Application Server’s DLLs
To perform rebasing, you need:
■
Windows 2000
■
Visual Studio and the Microsoft Framework SDK rebase utility
Make install_dir\ bin the default directory.
cd install_dir\bin
Enter this command:
rebase -b 0x6000000 *.dll
Use the dependencywalker utility to make sure the DLLs were rebased correctly.
For more information, see the
Dependency Walker website.
Increase the size for the Java heap, and set the JVM Option accordingly on the JVM Settings
page in the Admin Console.
Restart the Application Server.
Heap Conguration on Windows
This is an example heap conguration used by Sun GlassFish Enterprise Server for heavy
server-centric applications, on Windows, as set in the domain.xml le.
<jvm-options> -Xms1400m </jvm-options>
<jvm-options> -Xmx1400m </jvm-options>
For more information on rebasing, see MSDN documentation for rebase utility.
BeforeYou Begin
1
2
3
4
5
Example 4–2
See Also
Managing Memory and Garbage Collection
Sun GlassFish Enterprise Server 2.1 Performance Tuning Guide • January 200990










