Events Performance

Iotellect Server is capable of processing millions of events per second. However, all events are different, and while one event occurs without any consequences others got saved to the server database and delivered to remove listeners, causing CPU load and network I/O. In plus, local listeners can perform complex event processing, causing additional CPU and memory load.

Here are some notes on events performance:

  • If an event is not persistent (e.g. database storage is disabled for its type) and not listened by any system components (such as model or widget bindings), its occurrence doesn't cause any noticeable CPU or memory utilization
  • Saving an event to the database causes disk and CPU load on the server database machine. The maximum database storage rate is practically limited by several thousand of events per second. This is a limit implied by the underlying database engine.
  • Events triggering server-side operations (such as validity re-evaluation or model binding processing) cause additional performance impact defined by those operations. See corresponding performance articles for more information.
  • Events that are delivered to remote listeners (such as bindings of widgets running inside Iotellect Client) can cause considerable network bandwidth utilization if occur too often.

Was this page helpful?