# How much is big is node-red

**URL:** <https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950>\
**Category:** General\
**Created:** [12 October 2022 21:22 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950 "2022-10-12T21:22:04Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![BLND](https://avatars.discourse-cdn.com/v4/letter/b/c67d28/32.png) [@BLND](https://discourse.nodered.org/u/BLND)\
**Post date:** [12 October 2022 21:22 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/1 "2022-10-12T21:22:04Z")

</div>

how many devices can be connected to one dashboard or with one computer running node-red?

---

<div class="post-metadata">

**Author:** ![Paul-Reed](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/paul-reed/32/66906_2.png) [@Paul-Reed](https://discourse.nodered.org/u/Paul-Reed)\
**Post date:** [12 October 2022 21:58 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/2 "2022-10-12T21:58:12Z")

</div>

Hi, welcome to the node-RED forum.

That depends... what type of devices? how are they connected? what is the computer's performance? what QoS is acceptable?

Why don't you describe what your project is, with as much detail as possible.

---

<div class="post-metadata">

**Author:** ![BLND](https://avatars.discourse-cdn.com/v4/letter/b/c67d28/32.png) [@BLND](https://discourse.nodered.org/u/BLND)\
**Post date:** [12 October 2022 22:26 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/3 "2022-10-12T22:26:03Z")

</div>

I thank you a lot for helping me

my project is a hospital I have more than 80 fan coil thermostats and 10 PLCs connecting to pumps, exhaust fans, level sensors, some VFDs and 3 generators all are Modbus serial RTU devices I must connect them to Modbus RTU / Modbus TCP Gateway and then to an Ethernet Switch for making a BMS system using NODE-RED .

is it possible to use node-red if I use a high-performance computer?

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [12 October 2022 22:39 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/4 "2022-10-12T22:39:15Z")

</div>

Short answer yes.

Long answer, it depends how you architect it. And don't forget you can have more than 1 node-red running on 1 or more computer. I'm my previous role 1 server was barely using more than 10% CPU running 5 instances.

---

<div class="post-metadata">

**Author:** ![BLND](https://avatars.discourse-cdn.com/v4/letter/b/c67d28/32.png) [@BLND](https://discourse.nodered.org/u/BLND)\
**Post date:** [12 October 2022 23:00 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/5 "2022-10-12T23:00:39Z")

</div>

I thank you a lot for helping

1-but how can have more than one node-red on one computer?  
2-is one node-red enough for my project?

thanks

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [12 October 2022 23:16 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/6 "2022-10-12T23:16:41Z")

</div>

> [@BLND](#):
>
> but how can have more than one node-red on one computer

Search the forum for multiple instances.

> [@BLND](#):
>
> -is one node-red enough for my project

It is impossible to say without precise information. What speed will you poll PLC's? How many data points? What size data points? What CPU will server have? Will it run other services? What network speeds do you have. What it's the interface speed on the end devices? How busy are the networks? Will you be saving data in a database? What kind of database? The list goes on and on and on and on.

Even if you knew all the answers - no one could even compute the answer for you!

The only answer I can give you is yes, it will work. Possibly with one node-red. Maybe 2. Maybe 10. I don't know, but you scale out until it does work!

---

<div class="post-metadata">

**Author:** ![BLND](https://avatars.discourse-cdn.com/v4/letter/b/c67d28/32.png) [@BLND](https://discourse.nodered.org/u/BLND)\
**Post date:** [12 October 2022 23:45 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/7 "2022-10-12T23:45:31Z")

</div>

THANK YOU A LOT  
i have 9 Modbus RTU/TCP gateways every one of them have one Modbus RTU network with 16 devices(address stations) and 10 plc each with 24 digital input outputs and 12 analog sensors connecting with the PLCs and I have a dedicated VLAN for this project inside a strong ethernet network(100MB FAST ETHERNET PORTS) with bringing a very good server but I am not sure about its model yet

---

<div class="post-metadata">

**Author:** ![rQx](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/rqx/32/69095_2.png) [@rQx](https://discourse.nodered.org/u/rQx)\
**Post date:** [13 October 2022 07:02 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/8 "2022-10-13T07:02:40Z")

</div>

Why would you want to go with node-red for a system at a hospital? You have a (I guess) industrial grade setup with VFDs PLCs etc, wouldnt it be better to do what you want in a PLC/SCADA whatever?

---

<div class="post-metadata">

**Author:** ![BLND](https://avatars.discourse-cdn.com/v4/letter/b/c67d28/32.png) [@BLND](https://discourse.nodered.org/u/BLND)\
**Post date:** [13 October 2022 07:35 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/9 "2022-10-13T07:35:49Z")

</div>

I use the software of the PLC for the PLCs but for monitoring and controlling all the things I want to use Node-RED because it's so powerfull, open sourse and free to use and have lots different and powerfull nodes.  
So if it's possible it will be great.

Thanks a lot

---

<div class="post-metadata">

**Author:** ![davidz](https://avatars.discourse-cdn.com/v4/letter/d/a88e57/32.png) [@davidz](https://discourse.nodered.org/u/davidz)\
**Post date:** [13 October 2022 16:27 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/10 "2022-10-13T16:27:05Z")

</div>

Agree with Steve. It is doable but you need very careful planning.

You may also want to look into data storage when you get data in. You may need a database to store the status of each devices and their I/O and sensors.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [13 October 2022 16:53 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/11 "2022-10-13T16:53:52Z")

</div>

> [@rQx](#):
>
> Why would you want to go with node-red for a system at a hospital? You have a (I guess) industrial grade setup with VFDs PLCs etc, wouldnt it be better to do what you want in a PLC/SCADA whatever?

We are seeing more and more of this kind of use in many industries. In my own world, a large outsourcer we work with has recently pitched a monitoring "bridge" solution that includes potentially multiple instances of Node-RED acting as glue between various data sources and a data lake implemented using the ELK stack.

> [@BLND](#):
>
> I use the software of the PLC for the PLCs but for monitoring and controlling all the things I want to use Node-RED because it's so powerfull, open sourse and free to use and have lots different and powerfull nodes.  
> So if it's possible it will be great.

Absolutely possible. But yes, as Steve and David have said, do not assume that any software, let alone open source, will be a simple install and forget. It needs architecting indeed with the usual disciplines applied such as resilience, performance, monitoring, security, documentation, ...

THe good news is that Node-RED is not only capable but also remarkably stable in operation. So it can fit well into a resilient architecture with good design and planning.

---

<div class="post-metadata">

**Author:** ![BLND](https://avatars.discourse-cdn.com/v4/letter/b/c67d28/32.png) [@BLND](https://discourse.nodered.org/u/BLND)\
**Post date:** [13 October 2022 17:30 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/12 "2022-10-13T17:30:34Z")

</div>

Thanks to you for helping  
I appreciate your effort

---

<div class="post-metadata">

**Author:** ![BLND](https://avatars.discourse-cdn.com/v4/letter/b/c67d28/32.png) [@BLND](https://discourse.nodered.org/u/BLND)\
**Post date:** [13 October 2022 17:32 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/13 "2022-10-13T17:32:33Z")

</div>

Thanks a lot for all of these informations and explanations  
I appreciate your effort

---

<div class="post-metadata">

**Author:** ![thebaldgeek](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/thebaldgeek/32/93523_2.png) [@thebaldgeek](https://discourse.nodered.org/u/thebaldgeek)\
**Post date:** [18 October 2022 17:17 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/14 "2022-10-18T17:17:43Z")

</div>

In a past life I spent 18 years automating a hospital with PLC's etc.  
An important aspect that sets off major warning bells for me is the dashboard limitation of Node-RED.  
See this thread for a great insight on how it really only supports 2-3 users:

> [@How to make Dashboard webserver more robust?](https://discourse.nodered.org/t/how-to-make-dashboard-webserver-more-robust/61295/):
>
> My users keep getting "Connection lost" message in the top right corner of the dashboard and shortly thereafter the site refreshes on them. [image] Node-RED Dashboard is here: [https://acars.adsbexchange.com/](https://acars.adsbexchange.com/) I have moved my site between data centers, the latter is the most robust that has hosted the site and I am still seeing the error. Seeing around 720 Gb of upload traffic every 24 hours. Is there any way I can find out how many people are connected at any one time? Whats the webserver t…

If running a few instances of Node-RED also helps address this limit, I have no idea how it could be built / made to work as one seamless dashboard.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [18 October 2022 20:52 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/15 "2022-10-18T20:52:57Z")

</div>

> [@thebaldgeek](#):
>
> If running a few instances of Node-RED also helps address this limit, I have no idea how it could be built / made to work as one seamless dashboard.

Interface the dashboard to the control logic via MQTT. Then you can run as many different copies of the dashboard flows in separate node-red installs as you like. In fact you can put the dashboard flows on separate computers if you want to, communicating via MQTT back to the controlling device.

---

<div class="post-metadata">

**Author:** ![thebaldgeek](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/thebaldgeek/32/93523_2.png) [@thebaldgeek](https://discourse.nodered.org/u/thebaldgeek)\
**Post date:** [18 October 2022 21:07 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/16 "2022-10-18T21:07:46Z")

</div>

Im missing how adding MQTT addresses having each dashboard on a different port number (same computer IP address) and yet the user is not aware that the IP:port they are connected to is serving the dashboard pages from the different port numbers?

This was my core question about splitting up Node-RED to handle more users/data.... You want the user to not be aware or have to manage each instance when they are using the dashboard.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [18 October 2022 21:13 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/17 "2022-10-18T21:13:15Z")

</div>

You are right, different users would have to connect to different instances of node-red. I didn't realise that is what you meant by seamless. My suggestion will be seamless in the operational sense, all the dashboards will function identically, but they will have to connect to different ports. I believe there are technologies to cope with that sort of load sharing, but I don't know about them.

---

<div class="post-metadata">

**Author:** ![hotNipi](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hotnipi/32/383_2.png) [@hotNipi](https://discourse.nodered.org/u/hotNipi)\
**Post date:** [19 October 2022 06:46 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/18 "2022-10-19T06:46:38Z")

</div>

If dashboard starts to die due the heavy traffic over the socket just see if you can reduce the data to minimum.  
When it was introduced that dashboard nodes can figure out the data from any property of the payload, it was kind of double-edged sword.  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/c/8c32082e3ff42efd822005773ac2e8e50cec1ecf.png)

See the example :

```auto
[
    {
        "id": "adbdcd11d1d9de24",
        "type": "function",
        "z": "88085c2cbfdc52d0",
        "name": "generate data",
        "func": "const generateFromString = (s) => {return s.split(' ')}\nmsg.payload = { \n usableData: {\n data:Math.random()*100\n },\n trashData: {\n array: generateFromString('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent quis fringilla elit. Cras placerat, nisi non aliquet venenatis, arcu dolor tempor diam, a condimentum lectus odio auctor justo. Maecenas placerat massa quis sem efficitur fringilla. Aliquam suscipit, augue quis maximus finibus, metus elit sodales neque, sit amet sagittis lacus diam nec justo. Donec non ex aliquam, tempus ante sed, finibus nibh. Pellentesque augue lectus, tempor sit amet ante a, pharetra hendrerit tellus. Nunc varius quis lorem sit amet viverra. Nam faucibus et enim vitae iaculis')\n }\n}\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 390,
        "y": 1070,
        "wires": [
            [
                "a269b6b475fdb4ce",
                "6439bee9186d1fb0",
                "0d4215f0e26b258a"
            ]
        ]
    },
    {
        "id": "5cbce4541195c499",
        "type": "inject",
        "z": "88085c2cbfdc52d0",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "15",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 210,
        "y": 1070,
        "wires": [
            [
                "adbdcd11d1d9de24"
            ]
        ]
    },
    {
        "id": "a269b6b475fdb4ce",
        "type": "debug",
        "z": "88085c2cbfdc52d0",
        "name": "full data",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 610,
        "y": 990,
        "wires": []
    },
    {
        "id": "6439bee9186d1fb0",
        "type": "ui_gauge",
        "z": "88085c2cbfdc52d0",
        "name": "",
        "group": "850a3f9459a15f60",
        "order": 0,
        "width": 0,
        "height": 0,
        "gtype": "gage",
        "title": "gauge",
        "label": "units",
        "format": "{{msg.payload.usableData.data | number:1}}",
        "min": 0,
        "max": "100",
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "className": "",
        "x": 600,
        "y": 1030,
        "wires": []
    },
    {
        "id": "0d4215f0e26b258a",
        "type": "change",
        "z": "88085c2cbfdc52d0",
        "name": "",
        "rules": [
            {
                "t": "move",
                "p": "payload.usableData.data",
                "pt": "msg",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 690,
        "y": 1070,
        "wires": [
            [
                "3e731b34c7152380",
                "f420e23014cfcfca"
            ]
        ]
    },
    {
        "id": "3e731b34c7152380",
        "type": "ui_gauge",
        "z": "88085c2cbfdc52d0",
        "name": "",
        "group": "850a3f9459a15f60",
        "order": 0,
        "width": 0,
        "height": 0,
        "gtype": "gage",
        "title": "gauge",
        "label": "units",
        "format": "{{value | number:1}}",
        "min": 0,
        "max": "100",
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "className": "",
        "x": 930,
        "y": 1070,
        "wires": []
    },
    {
        "id": "f420e23014cfcfca",
        "type": "debug",
        "z": "88085c2cbfdc52d0",
        "name": "actually needed data",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 980,
        "y": 1030,
        "wires": []
    },
    {
        "id": "850a3f9459a15f60",
        "type": "ui_group",
        "name": "Default",
        "tab": "58b2b959bc1d8c20",
        "order": 1,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "58b2b959bc1d8c20",
        "type": "ui_tab",
        "name": "Home",
        "icon": "dashboard",
        "disabled": false,
        "hidden": false
    }
]

```

Using developer tools and observe WS messages

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/9/e9a9515eb646e228ce63c613cc633ed3ad26ce63.png)

Of course it does not help for charts where data-points are the needed part but even then, if the msg contains some properties what are not needed for dashboard, those should be removed.

---

<div class="post-metadata">

**Author:** ![sniicker](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sniicker/32/56525_2.png) [@sniicker](https://discourse.nodered.org/u/sniicker)\
**Post date:** [19 October 2022 07:04 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/19 "2022-10-19T07:04:50Z")

</div>

Hi,

look here are some examples of node red and how powerful it is.

> [@High throughput examples (for arguing for the platform)](https://discourse.nodered.org/t/high-throughput-examples-for-arguing-for-the-platform/53651):
>
> Hi, Does anyone have examples, use cases where NodeRED is handling alot of transactions/messages. I just need it for "ammunition" as conceptual proof the platform can handle a higher load. I fully understand there is a huge difference in how different scenarios would affect the capability here, but things like: We log all cars going in and out of our mall garage, and thats about 400 transactions an hour or We handle 300.000 transactions from our production tracking system every day to keep t…

I work for years now with node red in an industrial environment and i am pretty sure you can run your project on an raspberry pi. But if you go with a hardware about 400-500$ you will be fine.  
You will just have a few datapoints, maybe ~2000 and dont have to poll them every millisecond.  
Think about what information you REALY need, how often you realy need them and keep your dashboad smal and simple.

If you buy a professional scada system or whatever your can work many, many month on NR and try you things, if you have the time to do so.

The last years i ofthen reached points where i thougt i cant go forward, but i always found a way to get my ideas to work.

So good luck for you project.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [19 October 2022 07:55 UTC](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950/20 "2022-10-19T07:55:01Z")

</div>

> [@hotNipi](#):
>
> if the msg contains some properties what are not needed for dashboard, those should be removed.

That is a good point that had not occurred to me before, that in the circumstance you describe the whole object will be passed to the dashboard. Most of the time that will not be significant, but for a widget that is being updated rapidly, if the object containing the data of interest is large, it could be a significant factor. It is certainly something worth bearing in mind when using angular filters in a widget.

[Next page](https://discourse.nodered.org/t/how-much-is-big-is-node-red/68950.md?page=2)
