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.

DaacoX Performance Benchmark
Performance Test Environment
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.
Modbus TCP Devices |
IO Tags |
5 |
125 |
10 |
250 |
20 |
500 |
30 |
750 |
40 |
1000 |
50 |
1250 |
60 |
1500 |
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
Average CPU and Memory Utilization
IO Devices |
Average CPU % |
Average Memory (~MB) |
5 |
10 |
1300 |
10 |
12.5 |
1300 |
20 |
18.5 |
1400 |
30 |
30 |
1500 |
40 |
45 |
1600 |
50 |
65 |
1700 |
60 |
85 |
2000 |
Utilization Percentage per CPU
Memory Utilization Percentage
Java Heap Utilization
Sources |
Maximum Heap (MB) |
5 |
30 |
10 |
38 |
20 |
50 |
30 |
69 |
40 |
79 |
50 |
94 |
60 |
108 |
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.
IO Devices |
IO Tags Persistence rate. |
5 |
125 |
10 |
250 |
20 |
500 |
30 |
750 |
40 |
~990-1000 |
50 |
~1233-1250 |
60 |
~1480-1500 |
Average Thread Count