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 settings is calculated as
90MB + 0.05 MB/request x peak requests per second X desired time between garbage collection (sec)