Top  | Previous | Next

Store and Forward for Reliability

The store and forward system settings, while seemingly limited, offer a good deal of flexibility in tuning. Different types of situations and goals will likely require different configurations.

 

When the safety of the data is a concern, the goal is to get the data stored to disk as quickly as possible in order to minimize risk of loss due to a power outage or system failure. The local cache plays a crucial role in this, allowing the system to store data locally for any amount of time until the remote database can accept it. This protects against network failures and database failures, as well.

 

By setting the write size and write time of both the local cache and forwarder to low values, the data will spend less time in the memory buffer. While the memory buffer can be set to 0 in order to bypass it completely, this is not usually recommended, as the buffer is used to create a loose coupling between the history system and other parts of Ignition that report history. This disconnect improves performance and protects against temporary system slowdowns. In fact, it is recommended that for reliable logging this value be set to a high value, in order to allow the maximum possible amount of data to enter the system in the case of a storage slowdown.

 

Recommended Settings

These settings are merely a starting point, and should be adjusted to fit your goals.

 

Memory Buffer Size

1000 or higher. While the data won't reside in here for long, a high value will allow the data to enter the store and forward system, as opposed to being lost if the maximum is hit.

 

Disk Store - Enabled

 

Max Records

500,000 or higher. Like the memory store, if the maximum is reached data will be lost, so it is best to set the value high to protect against long periods of time without database connectivity.

Store Settings - Write Size

Very low, in order to get data into the cache as quickly as possible. Moving from the memory buffer to the disk store does not use transactions as much as forwarding to the database, so a low value should not impact performance too dramatically. A value of 1 is possible, though that would force all data to go to the cache before going on to the database. A value of 10 would likely be a good starting point.

Store Settings - Write Time

This should be the controlling factor in trying to get the system to forward as quickly as possible, minimizing the time that data in the memory buffer. If the write size is 1, this setting will be of little consequence, but if the value is greater than one, careful consideration should be given to this value.  Ultimately, this value should only be as large as what you would be willing to lose if there were a power failure.

Forward Settings - Write Size

This value should be set to a decent size to increase transaction throughput. 100 is a good value.

Forward Settings - Write Time

This setting should be less than the Store Write Time, in order to avoid writing to the store when the target database is available.