Monitored Items - Performance Considerations

Questions regarding the use of the .NET SDK 2.0 for Server or Client development or integration into customer products ...

Moderator: uasdknet

Post Reply
JonLor
Hero Member
Hero Member
Posts: 48
Joined: 30 Jan 2014, 11:05

Monitored Items - Performance Considerations

Post by JonLor »

Hello,

If an client application has a set of values that it needs to monitor; some with a high frequency (every 50ms), some with low frequency (>1000ms), is there any recommended approach of setting up subscriptions? Would we benefit from have a quick subscription for the fast data and a slow subscription for the slow data.

Or, is a cyclic read to prefer to the subscription approach in some situations?

Best regards
Jonas

User avatar
Support Team
Hero Member
Hero Member
Posts: 3078
Joined: 18 Mar 2011, 15:09

Re: Monitored Items - Performance Considerations

Post by Support Team »

Hi Jonas,

There are only a few reasons (see below) why a client would create more than one subscription.

The subscription is mainly used to optimize and monitor the network communication for the monitored items created by a client. The Publish interval of a subscription is used to collect new information from different monitored items and to combine them to network messages. The Publish interval is a compromise between reducing number of network messages and short latency for sending new data to the client. For a subscription with a few hundred monitored items it would not created overhead to handle 'slow' monitored items together with the network messages for 'fast' monitored items. Therefore is strongly recommended to combine data monitored items with different sampling intervals like 50ms, 1000ms and 5000ms and also event monitored items in one subscription. For the publish interval you should use an acceptable latency like smallest sampling interval or 50% of smallest sampling interval.

The default setting for minimum Publishing interval in most servers is 50ms but is normally configurable. But the smallest rate that can be reached depends on the timer resolution on the operating system like 10ms on Windows.

Reasons for having more than one subscription:
(1) Priority
It is possible to set a priority relative to other subscriptions from the same client. If a client is interested in a lot of data and events but certain information is more important to be received as quick as possible, it is possible to put these monitored items in a subscription with higher priority. In high load situations, where a server cannot send all data or a client is not able to process all data, the subscription with the higher priority is processed first.

(2) Server limitations
You should have a configuration option for creating additional subscriptions if a maximum number of monitored items is reached in a subscription. If server and client are implemented according to the specification and have not resource limitations, there is no limit for the number of monitored items in a subscriptions. But some server may limit the number of monitored items due to resource limitations.

Best Regards,
Unified Automation Support Team

Post Reply