Determining Memory Requirements
3-6 Oracle HTTP Server powered by Apache Performance Guide
The amount of memory needed depends on whether sessions are used; a session
consumes about 0.5KB. For maximum performance, if sessions are not being used,
turn them off in the OracleJSP application as follows:
<%@ page session=”false” %>
<html><body>
HelloWorld
</body></html>
As a starting point, figure that each active user consumes at least 150K to 200K for
Java applications, plus the size of the server processes. For Java applications, the
base process is approximately 12-15 MB.
An application’s memory needs also depend on its size, the amount of data cached,
and other factors.
See the OracleJSP Developer’s Guide and Reference in the Oracle Internet Application
Server 8i documentation library for more information on OracleJSP pages.
Number of JServ Processes
Oracle recommends about 2 JServ processes per CPU as a starting point. The default
thread setting (security.maxConnections=50) in the JServ configuration file is
also a good starting point. (See "Load Balancing" on page 5-4 for instructions on
changing parameters in the configuration files.)
If your application code performs a lot of synchronization, or creates many new
Java objects, then you should consider increasing the number of JServ processes,
while limiting the number of threads per process to between 10 and 20. In this way
you avoid increased queuing and processing required for object synchronization in
the JVM. This is because the httpd process (mod_jserv) sends incoming requests to
the JServ processes in a distributed fashion. See "Load Balancing" on page 5-4 for
details on how the requests are distributed among the available JServ engines.
(Readers familiar with the Oracle Application Server will recall that requests are
sent to a servlet engine until its thread limit is reached, and subsequent requests are
sent to the next servlet engine.)