The expression for calculating the amount of memory to be used by the CEP Server is shown below.
Estimated amount of memory required = A + ((B + C + D + E + F) x numberOfCepEngines + G + H) x 1.2 + I
Item | Explanation | Memory usage |
---|---|---|
A | Base memory amount | 2.7 GB |
B | Amount of memory when using high-speed filter rules | Refer to "3.3.1.1 Amount of Memory when Using High-speed Filter Rules". |
C | Amount of memory when master data is used by the high-speed filter | Refer to "3.3.1.2 Amount of Memory when Master Data is used by the High-speed Filter". |
D | Amount of memory when rules are used in complex event processing | The estimation expression is shown below. (MB) numberOfRuleDefinitions x 31 MB |
E | Amount of memory when an event type definition is used in complex event processing | The estimation expression is shown below. (MB) (numberOfInputEventTypes + numberOfTypesOfEventsAlreadyProcessedByHighSpeedFilter) x 37 MB |
F | Amount of memory when a SOAP listener definition is used in complex event processing | The estimation expression is shown below. (MB) numberOfUserDevelopedWebServices x 2.5 MB |
G | Amount of memory required for Terracotta collaboration | The estimation expression is shown below. (MB) sizeOfDataPoolInCache x numberOfCepEnginesToPerformTerracottaCollaboration |
H | Amount of memory required for RDB collaboration (using a cache) | The estimation expression is shown below. (MB) Memory requirement of CEP engines that perform RDB collaboration = Memory requirement of RDB collaboration = |
I | Amount of memory called from the custom listener and used by a user-developed Java class | Depends on the implementation of the user-developed Java class. |
The expression for calculating the amount of memory (bytes) when high-speed filter rules are used is shown below.
Amount of memory when using high-speed filter rules = Total amount of each ifThenStatementMemoryRequirement ifThenStatementMemoryRequirement = 272 x 1024 x 1024 + 960 x 1024 x R + 16 x L + 8 x a
Variable | Meaning | Unit |
---|---|---|
R | Number of output items to be described in the output expressions of high-speed filter rules | Items |
L | Maximum data size of input events | Bytes |
a | Area to be used in partial character, character range, and numeric range search (*1) | Bytes |
*1: Use the following expression to calculate this if search is to be executed with a partial character, character range, or numeric range specification:
numberOfPartialChars, charRange, or numericRange x numberOfKeywordChars x 2,048 Bytes
Use the following expression to calculate this if search is to be executed with a combination of partial character, character range, and numeric range specifications:
numberOfPartialChars x charRange x numericRange x numberOfKeywordChars x 2,048 Bytes
For "number of partial characters", specify the number of parts delimited by a vertical bar (|).
For example, if the search keyword "Sm(ith|ythe|ithy)John" is specified, the number of partial characters will be 3.
For "character range", specify how many are in the range of the ASCII character code values separated by a hyphen (-).
For example, if the search keyword "class[A-C]" is specified, that range will be 0x41 (A), 0x42 (B), and 0x43 (C), so the character range will be 3.
For "numeric range", specify how many are in the range of numeric 1 and numeric 2, separated by a comma (,).
For example, if the search keyword "alcohol[9,11]%" is specified, that range will be 9, 10, and 11, so the numeric range will be 3.
If master data is to be used, the amount of memory capacity shown below will be required in addition to what would be normally required.
Memory usage when using master data = Total amount of each ifThenStatementMemoryRequirement
ifThenStatementMemoryRequirement
= outputItemMemoryRequirement + joinRelationalExpressionMemoryRequirement
outputItemMemoryRequirement = N x (B + 60)
(If a numeric-type or string-type perfect match is specified)
joinRelationalExpressionMemoryRequirement = N x (216 + A)
(If partial match of a string is specified)
joinRelationalExpressionMemoryRequirement = a x N x (2 x A - (log10N or 1, whichever is greater)) x 144
The meaning of each variable is shown below.
Variable | Meaning | Unit |
---|---|---|
N | Number of master data records | Records |
A | Average data size of master items specified in search expressions or in join-relational expressions in join expressions (*1) | Bytes |
B | Average data size of master items specified in the output items of output expressions (*1) | Bytes |
a | Join key coefficient (*2) | 0 < a < 1 |
*1: If the "val" function is specified in a join-relational expression and an output item, the data size will be 16.
*2: This depends on the content of the master data specified in the join conditions in the high-speed filter rules (see the table below).
Content of master data | Join key coefficient |
---|---|
If values vary widely in the second half of the key Example: (000001, 000002, 000012, 000125, etc.) | 0.4 |
If values vary widely in the first half of the key Example: (100-001, 210-001, 321-001, etc.) | 0.6 |
If values vary widely throughout the key Example: (123456, 234512, 912384, etc.) | 0.8 |