Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

PI AutoPointSync

Resource usage on the PI APS node, PI Server, and data source

Resource usage on the PI APS node, PI Server, and data source

  • Last UpdatedSep 28, 2022
  • 3 minute read

During a synchronization scan for an interface instance, the Synchronization Engine uses CPU time and memory on the local computer, sends requests to the PI Server, and calls the programming interface for the data source. If the interface has a large number of points, usage of these resources can be significant. This section discusses features and options to limit the impact of PI APS on these resources.

PI APS Synchronization Engine priority

To address the issue of PI APS CPU usage, the PI APS Synchronization Engine reduces its priority relative to other processes on the same computer. As a result, the Synchronization Engine uses only the available CPU resources that remain after other processes take what they need. Therefore, 100% CPU usage during a synchronization scan is not a cause for concern because the Synchronization Engine only uses CPU cycles when the computer would otherwise be idle.

The Synchronization Engine has some configuration settings that can reduce the CPU usage on the PI APS node and the load on the PI Server and data source. These settings are effective while synchronizing existing points but may not help while searching for available points. Additional explanation can be found in Synchronization in PI APS section. In the PI APS Configuration Utility, the settings are on the dialog box opened by the Options command on the Tools menu.

Synchronization of existing points

On the Sync Engine tab, the area labeled Milliseconds to Pause between Point Group Sizes allows you to specify how long the Synchronization Engine sleeps between processing groups of points. The default setting is 10 milliseconds. On the APS Connector tab, the area labeled Point Group Sizes allows you to specify the number of points that are processed by each call from the Synchronization Engine to the PI APS Connector. If you increase the pause interval and decrease the number of points per group, resource usage is distributed over a longer period of time. Resource usage occurs in bursts as each group is processed. During each burst, resource usage may be quite high. Decreasing the number of points per group setting correspondingly reduces the duration of each resource usage burst. Since decreasing the number of points per group inversely increases the number of groups, the number of pauses increases, too. However, these settings do not throttle resource usage during initialization activities for each synchronization scan.

Synchronization of available points

To search for available points, the Synchronization Engine combines the list of existing points with the list of hidden points "up front" and the combined list is a parameter to the first call to the PI APS Connector for a group of available points. The PI APS Connectors contain the logic for intersecting the combined list of existing plus hidden points with the tags in the data source to determine the available points. Some PI APS Connectors perform the entire intersection operation on the first call and others spread the intersection operation over the calls for groups of available points. In the steady state with an interface in synchronization, however, this distinction is irrelevant because the number of available points is usually small enough that the Synchronization Engine makes only one call for available points. Therefore, the expense of the intersection operation occurs entirely in the first call for available points. In summary, the resource usage for the search for available points is generated by the initialization activities, which the Synchronization Engine has no direct means to throttle. If PI APS is on the same computer as either the PI Server or data source, the Synchronization Engine's reduced priority should indirectly reduce its resource consumption by preventing the Synchronization Engine from running except when the computer would otherwise be idle.

Optional Point Logs

When an interface's rules direct the Synchronization Engine to store information about out-of-synchronization conditions, this information is always stored in the APSPoints database for the interface. The APSPoints database contents from the last synchronization for each interface can be displayed by the PI APS Configuration Utility. The Synchronization Engine can also be configured to create optional point logs containing the same information formatted as either piconfig scripts or Excel workbooks. See Point Logs tab. Construction of the optional point logs, particularly in Excel format, increases CPU usage. Unless the optional logs are used after every synchronization scan, CPU load from synchronization can be reduced by choosing not to create the optional logs. If the optional logs are only needed occasionally, exporting the APSPoints database is an alternative to creating the optional point logs for every synchronization. See Export Points to File dialog box.

In This Topic
TitleResults for “How to create a CRG?”Also Available in