Hitachi

uCosminexus Application Server System Design Guide


5.3.2 Estimating memory used by CTM daemon process

Use the following formula to estimate the memory usage of the CTM daemon process:

Maximum memory usage = A + {B + E + (2 × D)} × C + F × G + (D - 1) × 16 MB
Legend:

A: Size of basic memory (128 MB)

B: Maximum number of requests held in CTM daemon queue#1

C: Maximum request message size#2

D: Value of -CTMClientConnectCount#3

E: Value of -CTMDispatchParallelCount#4

F: Maximum number of threads required by CTM daemon. Use the following formula to estimate F:

[Figure]F = (a × 4 + D × 3 + b × 2 + c × d + E + e + 32) / 0.8

Legend:

a: Value of -CTMMaxCTM (the value specified in the ctmdmd to which the ctmd belongs)#6

b: Value of -CTMServerConnectCount#7

c: Value of -CTMQueueCount#8

d: Value of -CTMQueueRegistCount#9

e: Total number of EJB clients that invoke the Create method

G: Thread stack size#5

#1

The maximum number of requests is the same as the queue length (if there are multiple queues, use the total length of all queues combined).

#2

To ensure there is enough leeway in the memory size, this value assumes that every request in the queue is of the maximum size. As a more realistic value, we recommend that you specify the average request message size.

#3

To ensure there is enough leeway in the memory size, this value assumes the maximum number of connections to the CTM daemon. As a more realistic value, we recommend that you specify the number of CTM regulators and OTM gateways that connect to the daemon.

#4

To ensure there is enough leeway in the memory size, this value assumes the maximum number of concurrent executions that can be registered in the CTM daemon. A more realistic value is the value of the <parallel-count> tag in the attribute file (if there are multiple queues, specify the total of the values of this tag for each queue).

#5

The value to use depends on the operating system you are using. The default thread stack size values for each operating system are as follows.

For details about the thread stack size, see the documentation for the operating system concerned.

Windows: 1 MB

AIX: 0.1 MB (96 KB)

Linux: 10 MB

#6

To ensure there is enough leeway in the memory size, this value assumes the maximum number of CTM daemons. As a more realistic value, we recommend that you specify a value equivalent to one fewer than the total number of CTM daemons in the CTM domain.

#7

To ensure there is enough leeway in the memory size, this value assumes the maximum number of connections to the CTM daemon. As a more realistic value, we recommend that you specify the number of J2EE servers that connect to the CTM daemon.

#8

To ensure there is enough leeway in the memory size, this value assumes the maximum number of queues that can be registered in the CTM daemon. As a more realistic value, we recommend that you specify the number of schedule queues registered in the CTM daemon.

#9

To ensure there is enough leeway in the memory size, this value assumes the maximum number of J2EE applications that can share the same schedule queue. As a more realistic value, we recommend that you specify the number of J2EE applications that share the same schedule queue.

Tip

When sending and receiving requests, a CTM daemon can temporarily use an amount of memory approximately three to five times the size of the business process message. In the preceding estimation formula, this excess is accommodated in the 128 MB of basic memory.

However, when sending a large number of very large messages on the scale of 10 or 20 MB concurrently (a large parallel count), simultaneous processing might result in this leeway being exceeded. In these circumstances, attempting to estimate maximum memory usage accurately can yield an unrealistic value. We recommended that you use the preceding estimation formula to calculate an approximate value, and then run your business processes and track the actual memory usage.