Chapter 2: Server Tuning
The following configuration settings affect EAServer’s memory requirements. While exact memory requirements depend on your component and servlet implementations, this list tells you what options you can tune to affect the server’s memory footprint:
Java heap sizes The Java Virtual Machine (JVM) that EAServer uses to run Java code has parameters to size its dynamic memory allocation heap. For more information, see “JVM memory allocation parameters”.
The number of threads and thread stack size Each thread requires a small amount of reserved memory to store the stack for code running in the thread. “Number of threads” describes how to configure the number of server threads. “Thread stack size” describes how to configure the thread stack size.
HTTP response cache sizes EAServer supports several forms of HTTP response caching. For more information, see “Understanding HTTP response caching options”.
Servlet buffer pools EAServer pools the internal buffers that are required to build servlet responses. You can tune the number of buffers as described in “Servlet buffer pools”.
Entity bean instance and query caching EAServer can cache instance data and finder-method results for EJB-CMP entity beans. See “Entity instance and query caching” for more information.
Connection cache sizes You can configure the number of connections stored in each cache as described in “Tuning the cache size”.
Component instance pool sizes You can configure the pool size for component instances as described in “Instance pooling”. The memory required for each instance depends on your implementation.
Custom class lists EAServer uses custom Java class loaders to allow you to refresh the Web application classes and Java components, and to load classes from directories and JAR files that are not specified in the CLASSPATH environment variable. During the development cycle, this feature allows you to add or modify classes without restarting the server. However, duplicate entries in the custom class lists for different components waste memory by loading duplicate class instances. Chapter 30, “Configuring Custom Java Class Lists,” in the EAServer Programmer’s Guide describes how to configure common class lists for components and Web applications.
Use of the hot refresh feature Refreshing components and Web applications loads additional copies of all implementation classes. EAServer leaves the previous implementation in memory for use by existing client sessions. In effect, refresh introduces a controlled memory leak. For this reason, it is best to restart your production server after deploying a large number of new implementation classes. If you have a maintenance window when the server can be restarted, redeploy your changed code at this time to allow a restart of the server. When you do refresh, do so at the lowest level possible. For example, if you modified a components, refresh the package that it is installed in rather than the whole server.
|Copyright © 2005. Sybase Inc. All rights reserved.|