Two Different Levers on Subscription Load

Ada re-derives this chapter’s own numbers step by step, at full precision

foundations
math-foundations
calculation-audit
applications
Ada ADA · CALCULATION AUDIT

Two Different Levers on Subscription Load

The chapter’s OPC-UA historian has 2,000 variables publishing every 100 ms20,000 notifications a second — which a 70-90% dead-band cuts to 5,000, while batching turns 24 bytes of overhead per variable into 2.4 bytes. They pull in different directions. This audit separates them to show dead-band and batching are two different levers on subscription load.

Companion to the chapter OPC-UA Standard — every number here comes from that chapter.

Ada: The performance section leans on three numbers — a 2,000-variable historian at a 100 ms publishing interval, a dead-band that “reduces notifications by 70-90%,” and batching that turns “24 bytes overhead per variable” into “2.4 bytes each.” They pull in different directions, so let me separate them.

Start with the historian scenario: 2,000 monitored variables, each eligible to publish every 100 ms.

  • Raw notification rate: 2000 / (100 / 1000 s) = 2000 / 0.1 = 20,000 notifications/second.
  • Apply the dead-band at the low end of the stated band, 75%: 20,000 x (1 - 0.75) = 5,000 notifications/second. A 75% cut sits inside the chapter’s 70-90% range, so the claim holds.

Now the framing overhead, which dead-band never touches:

  • One variable per message pays the full 24 bytes of message header.
  • Ten variables sharing one message: 24 / 10 = 2.4 bytes of header each — a saving of 24 - 2.4 = 21.6 bytes per variable.

The design meaning is that dead-band and batching are independent levers, not two names for one saving. Dead-band attacks how often the server sends, cutting 20,000 notifications/second down to 5,000; batching leaves that count alone and attacks the fixed per-item framing cost, from 24 bytes down to 2.4. Only dead-band reduces the number of notifications — so a tuning record that credits batching for a lower notification rate, or dead-band for lower per-message overhead, has attributed each saving to the wrong control.

Every number above is taken from the chapter’s own material and re-derived step by step.