Hitachi

In-Memory Data Grid Hitachi Elastic Application Data Store


7.7.4 Cache operation-dependent parameters

The table below lists the parameters that depend on cache operations.

Bold typeface indicates a required parameter.

Table 7‒10: Cache operation-dependent parameters

No.

Property file

Parameter name

Value to be specified

Default value

1

Server property file

eads.cache.disk.getError.isolate.enable

  • true

  • false

true

2

Cache property file

eads.cache.type

  • Memory

  • Disk

  • 2Way

None

3

eads.cache.disk.info.dir

Path name

management-directory/store

4

eads.cache.disk.n.dir

Path name

None

5

eads.cache.disk.filesize

File size (16 to 128 (megabytes))

None

6

eads.cache.disk.filenum

Number of files (8 to 32768)

None

7

eads.cache.disk.blocksize

Data size
  • 1 (kilobytes)

  • 2 (kilobytes)

  • 4 (kilobytes)

  • 8 (kilobytes)

  • 16 (kilobytes)

  • 32 (kilobytes)

  • 64 (kilobytes)

  • 128 (kilobytes)

1 (kilobytes)

8

eads.cache.disk.transfer.interval

0 to 60000 (milliseconds)

1000 (milliseconds)

9

eads.cache.disk.transfer.datasize

10240 to 2147483647 (bytes)

102400 (bytes)

Important note

The settings in the cache property files for the parameters shown below must be identical among all the EADS servers that make up the cluster. If any settings are different, caches cannot be created.

Organization of this subsection

(1) Server property file

(a) eads.cache.disk.getError.isolate.enable

This parameter specifies whether the EADS server is to be isolated in the event of a disk I/O error when a disk cache or two-way cache is used.

true

Isolates the EADS server when a disk I/O error occurs.

false

Does not isolate the EADS server when a disk I/O error occurs in the following API functions, because these do not affect data integrity:

  • API functions (get, getAll)

  • The following methods of the Group interface:

    [Figure] getLastUpdateTime()

    [Figure] getValueUsageSize()

  • The following methods of the Store interface:

    [Figure] getLastUpdateTime()

    [Figure] getEHeapUsageSize()

    [Figure] getDiskUsageSize()

  • eztool get command

The API functions include those that are executed in user functions.

When false is specified in this parameter, the EADS server will not be isolated when a disk I/O error occurs in processing such as a get because of a transient disk failure. This can be expected to improve availability.

However, in the case of an application program in which get processing is performed for a long period of time, isolation processing will not occur even if a permanent disk failure occurs. As a result, the get processing might remain in error status for a long time.

This parameter is ignored when neither disk caches nor two-way caches are used.

(2) Cache property file

(a) eads.cache.type

This parameter specifies the type of cache to use.

Memory

Uses the memory cache.

Disk

Uses the disk cache.

2Way

Uses the two-way cache.

(b) eads.cache.disk.info.dir

This parameter specifies the storage location for the cache information files and cache index files.

The path of a storage directory can consist of a maximum of 200 characters, including alphanumeric characters (0 to 9, A to Z, a to z), underscores (_), colons (:), and separators (forward slashes (/)).

For details about the file names of the files that are stored under the directory specified in this parameter, see 7.7.2(2) Specifying storage locations for cache files.

Important note

Check that the absolute path of this parameter value differs from the absolute paths of the eads.cache.disk.n.dir parameter values in the same EADS server.

(c) eads.cache.disk.n.dir

This parameter specifies the storage location for cache data files.

Specify for n an integer in the range from 1 to the number of redundant copies of data plus the original (eads.replication.factor parameter value).

If you create redundant copies of data, specify this parameter as many times as there are data copies plus the original.

The path of a storage directory can consist of a maximum of 1,024 characters, including alphanumeric characters (0 to 9, A to Z, a to z), underscores (_), colons (:), and separators (forward slashes (/)).

For details about the file names of the files that are stored under the directory specified in this parameter, see 7.7.2(2) Specifying storage locations for cache files.

Important note
  • Check that the absolute path of this parameter value differs from the absolute paths of the eads.cache.disk.info.dir parameter values in the same EADS server.

  • If you specify a directory immediately under the directory specified in the eads.cache.disk.info.dir parameter, make sure that the specified directory name differs from the cache name.

  • Disks that operate at extremely different speeds cannot be used for the EADS servers that make up a cluster. For example, SSDs and HDDs cannot be intermixed as storage locations for cache data files in the disk configuration.

  • If you run multiple EADS servers on the same physical machine, specify a different storage location for each EADS server.

(d) eads.cache.disk.filesize

This parameter specifies the size (in megabytes) of the cache data files per range.

(e) eads.cache.disk.filenum

This parameter specifies the number of cache data files per range.

(f) eads.cache.disk.blocksize

This parameter specifies the amount of data (in kilobytes) that is to be written into cache data files at one time.

If the storage medium for cache data files is an HDD, specify one kilobyte (default) in this parameter. If an SSD is used, specify the page size of the SSD.

(g) eads.cache.disk.transfer.interval

This parameter specifies a data transmission interval (in milliseconds) during restoration processing on disk caches and two-way caches.

During restoration processing, this parameter value is applied to the EADS server subject to restoration processing.

Specify this parameter and the eads.cache.disk.transfer.datasize cache property parameter in such a manner that the following condition is satisfied:

Bandwidth available for data transmission during restoration processing (bps) [Figure]

MAX(bandwidth available for data transmission during restoration processing on each cache (bps))

MAX:

Choose the largest value in the parentheses that follow MAX.

Example: For MAX(3 [Figure] 6, 4 + 7), the calculation result is 18.

Bandwidth available for data transmission during restoration processing on each cache (bps):

Obtain the value for each cache by using the following formula.

  • Memory caches

    Bandwidth available for data transmission during restoration processing (bps) [Figure]

    (size of data transmitted during restoration processing (bytes) [Figure] 8)

    [Figure] {(data transmission interval during restoration processing (milliseconds)

    + time required for data transmission (milliseconds)) [Figure] 1,000}

Size of data transmitted during restoration processing (bytes):

eads.transfer.datasize parameter value in the server properties

Data transmission interval during restoration processing (milliseconds):

eads.transfer.interval parameter value in the server properties

Time required for data transmission (milliseconds):

Time required to transmit the size of data specified in the eads.transfer.datasize server property parameter (milliseconds)

  • Disk caches and two-way caches

    Bandwidth available for data transmission during restoration processing (bps) [Figure]

    (size of data transmitted during restoration processing (bytes) [Figure] 8)

    [Figure] {(data transmission interval during restoration processing (milliseconds)

    + time required for data transmission (milliseconds)) [Figure] 1,000}

Size of data transmitted during restoration processing (bytes):

eads.cache.disk.transfer.datasize parameter value in the cache properties

Data transmission interval during restoration processing (milliseconds):

eads.cache.disk.transfer.interval parameter value in the cache properties

Time required for data transmission (milliseconds):

Time required to transmit the amount of data specified in the eads.cache.disk.transfer.datasize cache property parameter (milliseconds)

This is the time required for Restoration processing (data transmission) in the figure in 9.3.2(5) Cluster recovery processing. This time value depends on the environment.

As the time required for restoration processing becomes shorter, the communication workload for restoration processing increases. Conversely, as the communication workload for restoration processing decreases, the time required for restoration processing increases.

When memory caches are used, this parameter is ignored and the value of the eads.transfer.interval server property parameter is used.

For details about restoration processing, see 9.3.2(5) Cluster recovery processing.

Important note

Determine the value of this parameter in such a manner that the disk's write performance is not exceeded.

(h) eads.cache.disk.transfer.datasize

This parameter specifies the size (in bytes) of the data that will be sent during restoration processing on disk caches and two-way caches.

This parameter's value is applied during restoration processing to the EADS server subject to restoration processing.

During restoration processing, the active EADS servers send data to the EADS server being restored in order to recover data consistency. Data is sent in units of 10 kilobytes at the interval specified in the eads.cache.disk.transfer.interval parameter until this parameter's value is reached.

When memory caches are used, this parameter is ignored and the value of the eads.transfer.datasize server property parameter is used.

Important note
  • Because at least one data item is always sent during restoration processing, the size of the send data might exceed this parameter's value. The amount of data to be sent will not be limited if a value that is smaller than the size of the data stored in the EADS server is specified in this parameter.

  • Determine a value to specify for this parameter so that the transfer speed of the restore data does not exceed the write speed of the disk.