Top
Interstage Big DataComplex Event Processing Server V1.1.0 User's Guide
FUJITSU Software

3.3.1 Estimating Memory Usage

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
Table 3.1 Explanation of items in memory estimation expression

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
Refer to "9.3.1 Terracotta Cache Configuration File" for the value of sizeOfDataPoolInCache.

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 =
(cacheRetentionPeriod + cachePurgeInterval)
x numberOfRdbSearchesWithDifferentSearchConditionsPerSecond
x averageNumberOfRecordsThatMatchSearchConditions
x (totalSizeOfExtractColumn(bytes) + 15)
x 13 / 1048576

Memory requirement of RDB collaboration =
totalMemoryRequirementOfCepEnginesThatPerformRdbCollaboration

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.

3.3.1.1 Amount of Memory when Using High-speed Filter Rules

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

3.3.1.2 Amount of Memory when Master Data is used by the High-speed Filter

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).

Table 3.2 Join key coefficient

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