I have been using a simple ThinkPad. I7 Core, 16GB of RAM. Running Windows 10 Enterprise.
I have been building a Node Red Application that pulls data from many PLC processors. The application is dashboarding and sending the collected data to InfluxDB, also running on this machine.
The User Interface has been working well for me up to this point, however, I'm suspecting that I'm maxing out this PC. What I'm seeing, is that each time I go to the UI, there are a few values that will not display anything. Re-load does not work, clearing the cache doesn't help, closing the browser and re-opening is the only way to make it work, even then, usually I'll be missing a value or two and its normally one of the same 3 or 4 that are doing it.
I'm wondering if I'm maxing the PC out with this application. This is my first go with Node Red and building a database, so I'm sure I'm making fundamental errors.
Am I asking to much of the PC to handle NodeRed and Datalogging? My hard drive says there is 814GB of free space and 138GB used. The CPU usage is spiking up to high ninety percentile.
It seems to me that the PC is a capable unit, but I'm assuming my best practices are not great.... What could I be doing in my application that is killing my PC. This particular PC is doing nothing else and is brand new, it's not even used foe email or ne surfing. Just this purpose...
Keep in mind, I need to make this application MUCH larger to be completed.
Well there's no definite answer as to what is inefficient, as we can't see your flow.
Probably your biggest CPU bog down is how often you pull data from the PLCs, I'm assuming you have an inject node or similar to trigger getting updates from the PLCs? It's all about the update frequency in your specific application, unless of course something super inefficient is happening.
It is worth noting that Influx DB can consume a lot of power two depending. How much of your RAM is in use?
I have attached screen shot if its of any interest to see what I'm doing.
Each element of my flow starts the same. I use an ETH-ip in Node to pull data from a PLC tag. It has no way to configure the time between updates.
Then If I need to do any math, I do there with a function Node.
Then The value will have a (UI) Display Node like a Guage, Sometimes I have the Guage and Trend nodes set up. Then before each DB Node, I use a Delay node and each has a configured delay. Some tags I read 2 Minutes, some are 30 Seconds.
I also have 1 Remote Red Node and 1 Debug Node.
Does anything stick out as a potential CPU hog to anybody in my image?
I see you have charts in the dashboard. How often are they updating, what time span do they cover, and how many lines? With those three numbers work out the total number of dots on each chart. When the chart is full then every time a new point comes in the browser has to move them down the chart. There is little point having more dots along each line than there are pixels on the screen.
2 of the charts are 12 Hour History and 2 are 24 Hour history.
"Line Chart" Type.
I have no other configuration on them. Size is AUTO and they display as small approx. 2" by 2" graph. My entire display fits on one screen nicely so far.