IIoT Edge Performance Benchmark

DaacoX, the IoT edge software architecture has been designed to perform more asynchronously in connecting with the industrial assets and collecting I/O tag data in order to achieve maximum throughput. DaacoX is able to process ~1500 I/O tags in one sec with a low memory footprint.



Performance Test Environment


Modbus protocol stack is used for this performance test. Daacoworks has implemented Modbus Protocol Specification in the DaacoX IIoT Edge software in order to get maximum throughput.


The total number of Modbus TCP devices used is 60. Each IO Device (Modbus TCP Simulator) is configured with 25 IO Tags.

Multiple load tests were executed on DaacoX with a different number of IO Devices (Modbus TCP Simulators) and Tags.

In all the tests, all the tags were polled at a one-second interval.

The number of Modbus TCP Devices and the respective IO Tags configured in the tests is in the below table.


DaacoX comprises the below list of processes

  • Device Poller - JVM Process

  • Data Persistence Handler - JVM Process

  • Data Alerts Handler - JVM Process

  • Data Publisher (to Cloud) - JVM Process

  • Web Server Process and

  • Database Process

With all these processes running, JVM heap size, CPU utilization, RAM utilization, the processing rate of I/O data and Average thread count are measured in each test.

The data is collected at 15 minutes intervale from each process in all tests.

The processing rate of I/O data is measured by the number of tags persisted per second in the database.

The resources used are:

The AWS ec2 instance with Intel processor

• Ubuntu 18.04

• Open JDK JRE 1.8

• 2 CPU 2.3 GHz

• 4 GB RAM

Average CPU and Memory Utilization



Utilization Percentage per CPU



Memory Utilization Percentage



Java Heap Utilization




Heap Memory Chart




Data Persistence Rate

At Maximum configuration of 60 IO Devices and 1500 IO Tags, DaacoX is able to persist ~1480-1500 tags/sec into DB.




Average Thread Count


A similar exercise was performed in RaspberryPI 3 (1 GB RAM, 1.2Ghz quad-core processor). DaacoX is able to process 750 Modbus responses per second.