Dashboard running slow - Not because of graphing

Hey All,
I built my node red system over a year ago and it's been stable and awesome.
Raspi 4 Buster
Node-RED version: v3.0.2

A few weeks ago the dashboard started loading very slowly.

The dashboard page is auto refreshing and it's very slow to reload. When the page refreshes I see the "Connection Lost" message from nodeRed. I use Influxdb and Grafana but they have never been an issue before, I don't use the nodeRed graphs or charts.

I use Firefox and thought that might be it, but I get the same behavior in Chrome.

I did update some pallets lately but I'm not sure if that's related.

When I look at the nodeRed console I don't see any major errors.
I do get an error at nodeRed startup.

12 Oct 17:52:14 - [info] Node-RED version: v3.0.2
12 Oct 17:52:14 - [info] Node.js  version: v16.20.2
12 Oct 17:52:14 - [info] Linux 5.10.103-v7l+ arm LE
12 Oct 17:52:16 - [info] Loading palette nodes
12 Oct 17:52:29 - [info] Dashboard version 3.6.1 started at /ui
12 Oct 17:52:30 - [info] Settings file  : /home/pi/.node-red/settings.js
12 Oct 17:52:30 - [info] Context store  : 'default' [module=memory]
12 Oct 17:52:30 - [info] User directory : /home/pi/.node-red
12 Oct 17:52:30 - [warn] Projects disabled : editorTheme.projects.enabled=false
12 Oct 17:52:30 - [info] Flows file     : /home/pi/.node-red/flows.json
(node:27158) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
12 Oct 17:52:31 - [error] Uncaught Exception:
12 Oct 17:52:31 - [error] Error: listen EADDRINUSE: address already in use 0.0.0.0:1880
    at Server.setupListenHandle [as _listen2] (node:net:1463:16)
    at listenInCluster (node:net:1511:12)
    at doListen (node:net:1660:7)
    at processTicksAndRejections (node:internal/process/task_queues:84:21)

How can I get the dashboard running smoothly again?
Thx

That indicates Node-RED is crashing.

What changes did you make recently? Install a node? update a node? Modify the flows?

Also stop and restart node-red using (assuming you used the usual install script for node-red on a pi)
node-red-stop
node-red-start
which will restart node-red showing the log in the command window. Leave the window open till it crashes to see what is causing the problem.

This is the message I get when it restarts

pam_unix(sudo:session): session closed for user root
pam_unix(sudo:session): session closed for user root

I have no idea what root is doing here. Raspberry Pi 4, Buster.

Thx
Rich

Show us the log around that

Are those messages from the node-red-start command?

Yes from the nodeRed console.

Show us the messages in the command window leading up to the message

And after it.

node-red-start

Start Node-RED

Once Node-RED has started, point a browser at http://192.168.1.154:1880
On Pi Node-RED works better with the Firefox or Chrome browser

Use   node-red-stop                          to stop Node-RED
Use   node-red-start                         to start Node-RED again
Use   node-red-log                           to view the recent log output
Use   sudo systemctl enable nodered.service  to autostart Node-RED at every boot
Use   sudo systemctl disable nodered.service to disable autostart on boot

To find more nodes and example flows - go to http://flows.nodered.org

Starting as a systemd service.
13 Oct 09:12:52 - [info]
Welcome to Node-RED
===================
13 Oct 09:12:52 - [info] Node-RED version: v3.0.2
13 Oct 09:12:52 - [info] Node.js  version: v16.20.2
13 Oct 09:12:52 - [info] Linux 5.10.103-v7l+ arm LE
13 Oct 09:12:53 - [info] Loading palette nodes
13 Oct 09:13:02 - [info] Dashboard version 3.6.1 started at /ui
13 Oct 09:13:03 - [info] Settings file  : /home/pi/.node-red/settings.js
13 Oct 09:13:03 - [info] Context store  : 'default' [module=memory]
13 Oct 09:13:03 - [info] User directory : /home/pi/.node-red
13 Oct 09:13:03 - [warn] Projects disabled : editorTheme.projects.enabled=false
13 Oct 09:13:03 - [info] Flows file     : /home/pi/.node-red/flows.json
**(node:18097) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency**
(Use `node --trace-warnings ...` to show where the warning was created)
13 Oct 09:13:03 - [info] Server now running at http://127.0.0.1:1880/
13 Oct 09:13:03 - [warn] Using unencrypted credentials
13 Oct 09:13:04 - [info] Starting flows
13 Oct 09:13:04 - [info] [thingzi-timer:3hrs after dawn ] Scheduled 'ON' (sun) for Sun Oct 13 2024 09:15:52 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:3hrs before night] Scheduled 'ON' (sun) for Sun Oct 13 2024 17:34:31 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:3hrs after dawn ] Scheduled 'ON' (sun) for Sun Oct 13 2024 09:15:52 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:3hrs before night] Scheduled 'ON' (sun) for Sun Oct 13 2024 17:34:31 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:blood pressure] Scheduled 'ON' (tod) for Sun Oct 13 2024 20:01:00 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:Sunrise] Scheduled 'ON' (sun) for Mon Oct 14 2024 07:52:45 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:Sunset] Scheduled 'ON' (sun) for Sun Oct 13 2024 18:58:51 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:Before Sunrise -15 mins] Scheduled 'ON' (sun) for Mon Oct 14 2024 07:37:45 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:Dusk 10 mins before] Scheduled 'ON' (sun) for Sun Oct 13 2024 19:17:49 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:Dawn] Scheduled 'ON' (sun) for Mon Oct 14 2024 06:23:46 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:2hrs befor solar noon] Scheduled 'ON' (sun) for Sun Oct 13 2024 11:25:11 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:90 min before Sunset] Scheduled 'ON' (sun) for Sun Oct 13 2024 17:28:51 GMT-0400
13 Oct 09:13:04 - [info] [thingzi-timer:Dark] Scheduled 'ON' (sun) for Sun Oct 13 2024 20:29:31 GMT-0400
13 Oct 09:13:05 - [info] [thingzi-timer:3hrs after dawn ] Scheduled 'ON' (sun) for Sun Oct 13 2024 09:15:52 GMT-0400
13 Oct 09:13:05 - [info] [thingzi-timer:4hrs before night] Scheduled 'ON' (sun) for Sun Oct 13 2024 17:34:31 GMT-0400
13 Oct 09:13:05 - [info] [thingzi-timer:3hrs after dawn ] Scheduled 'ON' (sun) for Sun Oct 13 2024 09:15:52 GMT-0400
13 Oct 09:13:05 - [info] [thingzi-timer:3hrs before sunset] Scheduled 'ON' (sun) for Sun Oct 13 2024 15:58:51 GMT-0400
13 Oct 09:13:05 - [info] [thingzi-timer:Dusk] Scheduled 'ON' (sun) for Sun Oct 13 2024 18:39:05 GMT-0400
13 Oct 09:13:05 - [info] Started flows
13 Oct 09:13:05 - [info] [thingzi-timer:Dawn] Send ON event, value = 2
13 Oct 09:13:05 - [info] [thingzi-timer:2hrs befor solar noon] Send ON event, value = 0
13 Oct 09:13:05 - [info] [tasmota-mqtt-broker:f627f7eebdf01372] Connected to broker: mqtt://192.168.1.154:1883
13 Oct 09:13:05 - [info] [mqtt-broker:e8de652f3f0d5685] Connected to broker: mqtt://192.168.1.154:1883
13 Oct 09:13:06 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:06 - [info] [mqtt-broker:68dfc99953924658] Connected to broker: mqtt://192.168.1.217:1883
13 Oct 09:13:08 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:09 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:13:10 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:12 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:14 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:13:15 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:17 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:19 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:19 - [error] [calculator:069e98187461c3ed] The msg.undefined should only contain number(s)
13 Oct 09:13:19 - [error] [calculator:f428ae8c4011bd88] The msg.undefined should only contain number(s)
13 Oct 09:13:19 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:13:21 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:24 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:24 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:13:26 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:28 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:29 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:13:30 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:33 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:34 - [error] [calculator:069e98187461c3ed] The msg.undefined should only contain number(s)
13 Oct 09:13:34 - [error] [calculator:f428ae8c4011bd88] The msg.undefined should only contain number(s)
13 Oct 09:13:34 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:13:35 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:37 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:39 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:39 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:13:41 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:43 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:44 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:13:46 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:48 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:49 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:49 - [error] [calculator:069e98187461c3ed] The msg.undefined should only contain number(s)
13 Oct 09:13:49 - [error] [calculator:f428ae8c4011bd88] The msg.undefined should only contain number(s)
13 Oct 09:13:49 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:13:52 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:54 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:54 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:13:56 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:58 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:13:59 - [error] [calculator:3cfb052bbd857a11] The input message doesn't have have a msg.payload field
13 Oct 09:14:00 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:14:03 - [error] [hourglass:Hrs burned] Already running
13 Oct 09:14:05 - [error] [hourglass:Hrs burned] Already running

This continues on until the error message.

Show us the bits immediately around the error please

These timestamps are wrong but these are messages I get when it happens.

Node red has not crashed, it is still running. The session message is probably irrelevant. It may be from the sudo command.
If you keep watching do you see anything different? If not then perhaps node red is not crashing.

I suggest sorting out all the warnings and errors in the log. They may well be something to do with the problem.

Thx Colin!
I'm doing some clean up and getting rid of unused tabs, nodes and pallets.

I'll keep and eye on the console/logs.

For this one, if it does not go away, set the log level to Trace in .node-red/settings.js and it may tell you which node is causing the problem.

1 Like

Does the slow loading page have a table?

No. I am using tables on other tabs and when I go to that tab it loads quickly. Which leads me to believe it's one of the pallets I'm using.

Maybe to share screenshot of full page so we don't have to play hide and seek.

You mean it is only slow on certain tabs? You should have told us that before.