You are currently reviewing an older revision of this page.
The purpose of this article is to answer some of the common questions regarding the Appian engine checkpointing.
Q: Automatic checkpoints are negatively impacting site performance. Is this expected behavior?
A: When checkpoints for the Appian engines are conducted, the effects may temporarily reduce system performance for On-Premise, non-HA Appian environments. When a particular engine performs a checkpoint, it becomes unable to respond to any further requests until the checkpoint is complete. Therefore, if there are not multiple replicas of that engine, then that particular engine will be temporarily unresponsive which may cause user requests to be delayed or time out.
Q: How can automatic checkpointing be disabled?
A: It is important to understand that automatic checkpoints cannot be disabled. However, automatic checkpoints can be controlled by specifying the following properties and values in custom.properties:
By configuring these settings, it makes it possible to avoid triggering checkpoints during business hours. This way, manually scheduled checkpoints (via cron job or scheduled task) can be configured to initiate checkpoints during off-hours, as explained in the Configuring Checkpoint Frequency section of the Configuring Application Checkpointing documentation. Note: if the manually configured checkpointing mechanism were to fail, automatic checkpoints will still run as a backup plan.
Q: If checkpoints are scheduled manually (to avoid automatic checkpoints during business hours) and the number of manually scheduled checkpoints is much less than the number of checkpoints that would occur with automatic checkpointing, will the time to checkpoint increase greatly?
A: Not necessarily. How long it takes for an engine to checkpoint is more determined by the total size of the engine, rather than the number of transactions that have occurred since the last checkpoint.
Q: Will the environment be completely unusable during the (fewer) manually scheduled checkpoints?
A: The environment should not be completely unusable. Service Manager will restrict checkpoints which have been requested so that not too many happen simultaneously. User actions that require a specific engine that is currently checkpointing are the only actions that will be affected.
Q: When observing the service-manager.log file during automatic checkpoints, it is noticeable that the Process Execution engines checkpoint the most frequently and consequently reduce system performance. Would adding more Process Execution engines to the environment diminish the effects of these checkpoints for users?
A: It is not likely that adding more Process Execution engines would help in this situation. If the user actions/requests that are failing are trying to gather information about all processes, adding more Process Execution engines would not be helpful. Any one of the Process Execution engines checkpointing will still impact user actions. However, if the user action is requesting data from a specific Process Execution engine, having more of them may help slightly, simply because of the decreased odds that the data being requested is on the specific Execution engine that is currently checkpointing.
Q: If adding more Process Execution engines will not minimize user impact due to Execution engine checkpoints, what will?
A: A High Availability configuration should help to minimize the impact of any engine checkpoint. In a High Availability configuration, there are at least three instances of each Appian engine (one set of Primary engines, and two sets of Replica engines). Checkpoints for any engine in this case would be performed by a Replica engine, while the Primary and other Replica engines are still available to server user requests while the checkpoint is being conducted.
This article applies to Appian 17.3 and later.
Last Reviewed: August 2018
© 2022 Appian. All rights reserved.