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

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

• Ubuntu 18.04
• Open JDK JRE 1.8
• 2 CPU 2.3 GHz 
• 4 GB RAM

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