Skip to content

Modbus TCP Driver Performance Testing

Test Purpose

In the scenario where Modbus TCP driver connects to devices for large-scale data collection and device control, verify the resource usage of NeuronEX, and continuously monitor: CPU, memory, network IO, and device control delay.

Test Architecture

alt text

Test Environment and Testing Tools

  • PeakHMI Modbus TCP Simulator is a tool for simulating Modbus TCP communication. It allows users to test and develop applications based on the Modbus TCP protocol without actual hardware. Modbus TCP is a commonly used industrial communication protocol, widely applied in automation and control systems for data transmission between devices.

  • Hardware resources of the Linux machine deployed with NeuronEX:

NeuronEX VersionOperating SystemCPUMemoryCPU Model
NeuronEX 3.2.1Debian GNU/Linux 124 cores30GiIntel(R) Xeon(R) Platinum 8269CY CPU T 3.10GHz
  • Monitoring the usage of CPU, memory, network IO, and other resources of NeuronEX software on the Linux machine through Prometheus.

Test Scenarios

Data Collection Scenarios

  • Scenario 1

NeuronEX is configured with 1 Modbus TCP driver, which contains 10 collection groups. Each group collects 1000 Float type data points per second, totaling 10,000 data points.

  • Scenario 2

NeuronEX is configured with 5 Modbus TCP drivers, each containing 10 collection groups. Each group collects 1000 Float type data points per second, totaling 50,000 data points.

  • Scenario 3

NeuronEX is configured with 10 Modbus TCP drivers, each containing 10 collection groups. Each group collects 1000 Float type data points per second, totaling 100,000 data points.

  • Scenario 4

NeuronEX is configured with 1 Modbus TCP driver, containing 1 collection group. Each group collects 1000 Float type data points every 100 milliseconds, totaling 1,000 data points.

  • Scenario 5

NeuronEX is configured with 5 Modbus TCP drivers, each containing 1 collection group. Each group collects 1000 Float type data points every 100 milliseconds, totaling 5,000 data points.

  • Scenario 6

NeuronEX is configured with 10 Modbus TCP drivers, each containing 1 collection group. Each group collects 1000 Float type data points every 100 milliseconds, totaling 10,000 data points.

Device Control Scenarios

  • Scenario 7

NeuronEX is configured with 10 Modbus TCP drivers, each containing 10 collection groups. Each group collects 1000 Float type data points per second, totaling 100,000 data points, while distributing 100 data points.

Overview of Results

Data Collection Performance Test

ScenarioNumber of DriversNumber of Groups per DriverNumber of Points per GroupCollection IntervalTotal PointsPoint TypeMemory UsageCPU UsageNetwork IO
Scenario 111010001 second10,000Float199MB3%receive: 13kb/s transmit: 3kb/s
Scenario 251010001 second50,000Float327MB13%receive: 69kb/s transmit: 16kb/s
Scenario 3101010001 second100,000Float497MB30%receive: 139kb/s transmit: 32kb/s
Scenario 4111000100 ms1,000Float128MB2%receive: 9kb/s transmit: 2kb/s
Scenario 5511000100 ms5,000Float165MB12%receive: 47kb/s transmit: 12kb/s
Scenario 61011000100 ms10,000Float189MB21%receive: 94kb/s transmit: 24kb/s

Device Control Latency Test

ScenarioDispatch MethodNumber of Points DispatchedTest CountMinimum Response TimeMaximum Response TimeAverage Response Time
Configured 10 Modbus TCP drivers in NeuronEX, each driver containing 10 collection groups, each group collecting 1,000 Float type data points per second, totaling 100,000 data points under normal collection conditions.API Dispatch100100 times85ms778ms523ms

TIP

This test used simulator devices, and the data point addresses were all continuous segments, so the system resource usage when NeuronEX collects data from real devices will be higher than the results of this test.

If using NeuronEX data processing functions for data cleaning and filtering, edge computing, and algorithm integration, additional CPU and memory will be consumed.

Detailed Test Results

Scenario 1

NeuronEX configured with 1 Modbus TCP driver, this driver contains 10 collection groups, each group collecting 1,000 Float type data points per second, totaling 10,000 data points

  • Memory Usage :199MB

alt text

  • CPU Usage :3%

alt text

  • Network IO : receive:13KB/s; transmit:3KB/s

alt textalt text

Scenario 2

NeuronEX is configured with 5 Modbus TCP drivers, each containing 10 collection groups. Each group collects 1000 Float type data points per second, totaling 50,000 data points.

  • Memory Usage :327MB

alt text

  • CPU Usage :13%

alt text

  • Network IO : receive:69KB/s; transmit:16KB/s

alt textalt text

Scenario 3

NeuronEX is configured with 10 Modbus TCP drivers, each containing 10 collection groups. Each group collects 1000 Float type data points per second, totaling 100,000 data points.

  • Memory Usage :497MB

alt text

  • CPU Usage :30%

alt text

  • Network IO : receive:139KB/s; transmit:32KB/s

alt textalt text

Scenario 4

NeuronEX is configured with 1 Modbus TCP driver, containing 1 collection group. Each group collects 1000 Float type data points every 100 milliseconds, totaling 1,000 data points.

  • Memory Usage :128MB

alt text

  • CPU Usage :2%

alt text

  • Network IO : receive:9KB/s; transmit:2KB/s

alt textalt text

Scenario 5

NeuronEX is configured with 5 Modbus TCP drivers, each containing 1 collection group. Each group collects 1000 Float type data points every 100 milliseconds, totaling 5,000 data points.

  • Memory Usage :165MB

alt text

  • CPU Usage :12%

alt text

  • Network IO : receive:47KB/s; transmit:12KB/s

alt textalt text

Scenario 6

NeuronEX is configured with 10 Modbus TCP drivers, each containing 1 collection group. Each group collects 1000 Float type data points every 100 milliseconds, totaling 10,000 data points.

  • Memory Usage :189MB

alt text

  • CPU Usage :21%

alt text

  • Network IO : receive:94KB/s; transmit:24KB/s

alt textalt text