В этой статье мы ответим на вопрос, какая примерная загрузка будет у ARM миникомпьютера при работе с большим количеством сигналов.
Для проведения эксперимента возьмем самый маленький миникомпьютер, который есть в наличии - nanopi neo с 512 Мб оперативной памяти.
ОРС-сервер Меркурий 230 работает с 58 счетчиками, связь "поверх TCP", количество сигналов - 2021.
ОРС-сервер СЭТ-4ТМ работает с 88 счетчиками, связь "поверх TCP", количество сигналов - 4228.
Данные от ОРС-серверов поступают в modbus-slave по протоку ОРС UA. Так же modbus-slave ведет опрос по протоколу Modbus TCP, количество сигналов 1918.
Суммарное количество сигналов, обрабатываемых modbus-slave (opctomb) - 8167.
ОРС-сервер Меркурий 230 и ОРС-сервер СЭТ-4ТМ получают данные от программных эмуляторов счетчиков. modbus-slave получает данные от других эмуляторов modbus-slave. Этим достигается высокая частота изменения значений переменных.
К modbus-slave подключено 3 клиента Modbus TCP и 2 клиента МЭК-104. Для передачи клиентам сконфигурированы все 8167 сигналов.
Частота обновления аналоговых измерений примерно 500 в секунду.
Теперь конкретные цифры загрузки:
_ _ ____ _ _ _
| \ | | __ _ _ __ ___ | _ \(_) | \ | | ___ ___
| \| |/ _` | '_ \ / _ \| |_) | | | \| |/ _ \/ _ \
| |\ | (_| | | | | (_) | __/| | | |\ | __/ (_) |
|_| \_|\__,_|_| |_|\___/|_| |_| |_| \_|\___|\___/
Welcome to ARMBIAN 5.38 stable Ubuntu 16.04.4 LTS 4.14.18-sunxi
System load: 1.07 0.76 0.90 Up time: 3 days
Memory usage: 30 % of 493MB IP: 192.168.42.25
CPU temp: 44°C
Usage of /: 73% of 1.7G
Температура процессора 44°C. На процессор наклеен мини радиатор 1Х1,5 см. Загрузка процессора около 30 %.
vova@nanopineo:~$ top
top - 14:19:52 up 3 days, 23:01, 1 user, load average: 1.47, 1.14, 1.12
Tasks: 99 total, 1 running, 57 sleeping, 0 stopped, 0 zombie
%Cpu(s): 30.0 us, 6.2 sy, 0.0 ni, 62.1 id, 0.0 wa, 0.0 hi, 1.7 si, 0.0 st
KiB Mem : 505164 total, 77944 free, 150900 used, 276320 buff/cache
KiB Swap: 252576 total, 252576 free, 0 used. 319308 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30789 root 20 0 219368 55396 3432 S 91.7 11.0 38:40.13 opctomb
1081 root 20 0 163644 33596 3080 S 33.1 6.7 683:22.60 set4opcd
1147 root 20 0 114336 24012 2820 S 19.9 4.8 1086:39 merc230opcd
21718 vova 20 0 6564 2632 2228 R 0.7 0.5 0:00.09 top
7 root 20 0 0 0 0 S 0.3 0.0 5:37.85 ksoftirqd/0
Оператиной памяти занято 151 Мб.
vova@nanopineo:~$ free
total used free shared buff/cache available
Mem: 505164 151024 77820 11088 276320 319184
Swap: 252576 0 252576