The Java virtual
machine (JVM) heap size setting is the single most critical factor
for efficient on demand router (ODR) performance. You might need to
modify the JVM heap size setting based on your environment configuration.
About this task
The base setting for the ODR under 100% load is approximately
90MB. However, the ODR also needs memory for temporary working space.
Since the ODR acts the same for every request, the major factor to
determine how much working space is required is throughput. The ODR
generates approximately 4 to 5KB of temporary objects per request.
The desired time between garbage collection cycles should be at least
10 seconds to minimize heap contention, and generally under 60 seconds
to avoid excess delays in completing garbage collection cycles. Test
this value, as may factors such as high numbers of queued requests
or large in-memory caches can increase the required memory. Testing
is important, because values cannot be determined arbitrarily for
all possible applications. Therefore, the recommended initial heap
setting is calculated as:
90MB + 0.05 MB/request x peak requests per second X desired time between garbage collection (sec)