# Node-red slowly

**URL:** <https://discourse.nodered.org/t/node-red-slowly/24342>\
**Category:** General\
**Created:** [6 April 2020 17:30 UTC](https://discourse.nodered.org/t/node-red-slowly/24342 "2020-04-06T17:30:08Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Folgore](https://avatars.discourse-cdn.com/v4/letter/f/edb3f5/32.png) [@Folgore](https://discourse.nodered.org/u/Folgore)\
**Post date:** [6 April 2020 17:30 UTC](https://discourse.nodered.org/t/node-red-slowly/24342/1 "2020-04-06T17:30:08Z")

</div>

Hi , I am crazy and I know, but i have a problem with my flow.... I want read an array json (now with 903 element) to put in a 80 chart.

I have first start with a for...but the dashboard lost the communication, I have modified the function with a inject at interval...but the problem is the same ( 3 seconds for read ten value)...

There is a efficient method for read a json?

```auto
[{"id":"857ef668.ed5648","type":"function","z":"cd3228f2.c23228","name":"estrai_dati","func":"let day,tamponi,rpt_guariti_deceduti;\nlet msg1={};\nlet data=global.get(\"covid19-ita-reg\");\nlet key = Object.keys(data[0]);\nlet i=global.get(\"i_regioni\");\nlet k=global.get(\"k_regioni\");\n\n\ni=i+1;\nglobal.set(\"i_regioni\",i);\n \n\nif (i<data.length)\n{ \n if (data[i][\"denominazione_regione\"]==\"Abruzzo\")\n {\n k=k+1;\n global.set(\"k_regioni\",k);\n }\n day=k.toString();\n//ricoverati_con_sintomi\n msg1={\n \"payload\":data[i][\"ricoverati_con_sintomi\"],\n \"topic\": day,\n \"filter\":key[6],\n \"regione\":data[i][\"denominazione_regione\"]\n } \n node.send(msg1); \n\n//terapia_intensiva\n msg1={\n \"payload\":data[i][\"terapia_intensiva\"],\n \"topic\": day,\n \"filter\":key[7],\n \"regione\":data[i][\"denominazione_regione\"],\n } \n node.send(msg1); \n \n//totale_ospedalizzati\n msg1={\n \"payload\":data[i][\"totale_ospedalizzati\"],\n \"topic\": day,\n \"filter\":key[8],\n \"regione\":data[i][\"denominazione_regione\"]\n } \n node.send(msg1); \n \n//isolamento_domiciliare\n msg1={\n \"payload\":data[i][\"isolamento_domiciliare\"],\n \"topic\": day,\n \"filter\":key[9],\n \"regione\":data[i][\"denominazione_regione\"]\n } \n node.send(msg1); \n \n//totale_positivi\n msg1={\n \"payload\":data[i][\"totale_positivi\"],\n \"topic\": day,\n \"filter\":key[10],\n \"regione\":data[i][\"denominazione_regione\"]\n } \n node.send(msg1);\n \n//variazione_totale_positivi\n msg1={\n \"payload\":data[i][\"variazione_totale_positivi\"],\n \"topic\": day,\n \"filter\":key[11],\n \"regione\":data[i][\"denominazione_regione\"]\n } \n node.send(msg1); \n \n//nuovi_positivi\n msg1={\n \"payload\":data[i][\"nuovi_positivi\"],\n \"topic\": day,\n \"filter\":key[12],\n \"regione\":data[i][\"denominazione_regione\"]\n } \n node.send(msg1); \n \n//dimessi_guariti\n msg1={\n \"payload\":data[i][\"dimessi_guariti\"],\n \"topic\": day,\n \"filter\":key[13],\n \"regione\":data[i][\"denominazione_regione\"]\n } \n node.send(msg1); \n\n//deceduti\n msg1={\n \"payload\":data[i][\"deceduti\"],\n \"topic\": day,\n \"filter\":key[14],\n \"regione\":data[i][\"denominazione_regione\"]\n } \n node.send(msg1); \n\n//totale_casi\n msg1={\n \"payload\":data[i][\"totale_casi\"],\n \"topic\": day,\n \"filter\":key[15],\n \"regione\":data[i][\"denominazione_regione\"]\n } \n node.send(msg1); \n\n//tamponi fatti giornalmente\n if (i>0)\n {\n tamponi = data[i][\"tamponi\"]-data[i-1][\"tamponi\"]; \n rpt_casi_tamponi = data[i][\"variazione_totale_positivi\"]/tamponi;\n msg1={\n \"payload\":tamponi,\n \"topic\": day,\n \"filter\":key[16]\n } \n node.send(msg1); \n \n msg1={\n \"payload\":rpt_casi_tamponi.toFixed(2),\n \"topic\": day,\n \"filter\":\"rapporto_casi_tamponi\"\n } \n node.send(msg1); \n }\n else\n {\n msg1={\n \"payload\":data[i][\"tamponi\"],\n \"topic\": day,\n \"filter\":key[16]\n } \n node.send(msg1); \n \n msg1={\n \"payload\":0,\n \"topic\": day,\n \"filter\":\"rapporto_casi_tamponi\"\n } \n node.send(msg1); \n }\n if (data[i][\"deceduti\"]>0)\n {\n rpt_guariti_deceduti=data[i][\"dimessi_guariti\"]/data[i][\"deceduti\"];\n }\n else\n {\n rpt_guariti_deceduti=0;\n }\n msg1={\n \"payload\":rpt_guariti_deceduti,\n \"topic\": day,\n \"filter\":\"rapporto_guariti_deceduti\"\n } \n node.send(msg1); \n//ultimi dati\n if (i==(data.length-1))\n {\n msg1={\n \"payload\":null,\n \"data\": data[i][\"data\"].replace(\"T\",\" \"),\n \"ricoverati_con_sintomi\": data[i][\"ricoverati_con_sintomi\"],\n \"terapia_intensiva\": data[i][\"terapia_intensiva\"],\n \"totale_ospedalizzati\": data[i][\"totale_ospedalizzati\"],\n \"isolamento_domiciliare\": data[i][\"isolamento_domiciliare\"],\n \"totale_positivi\": data[i][\"totale_positivi\"],\n \"variazione_totale_positivi\": data[i][\"variazione_totale_positivi\"],\n \"nuovi_positivi\": data[i][\"nuovi_positivi\"],\n \"dimessi_guariti\": data[i][\"dimessi_guariti\"],\n \"deceduti\": data[i].deceduti,\n \"totale_casi\": data[i][\"totale_casi\"],\n \"tamponi\": data[i][\"tamponi\"],\n \"note_it\": data[i][\"note_it\"],\n \n \"filter\":\"ultimi_dati\"\n } \n node.send(msg1); \n }\n global.set(\"i_regioni\",i);\n global.set(\"k_regioni\",k);\n}\nelse\n{\n global.set(\"i_regioni\",-1);\n global.set(\"k_regioni\",-1);\n}\n//return msg;\n\n","outputs":1,"noerr":0,"x":490,"y":240,"wires":[["99836d3b.f42eb","e536c282.31533"]]}]

```

Thank's

---

<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:** [6 April 2020 18:40 UTC](https://discourse.nodered.org/t/node-red-slowly/24342/2 "2020-04-06T18:40:21Z")

</div>

What do you mean about if you say "80 chart"  
Do you have 80 charts to show on dashboard?

---

<div class="post-metadata">

**Author:** ![Folgore](https://avatars.discourse-cdn.com/v4/letter/f/edb3f5/32.png) [@Folgore](https://discourse.nodered.org/u/Folgore)\
**Post date:** [6 April 2020 18:59 UTC](https://discourse.nodered.org/t/node-red-slowly/24342/3 "2020-04-06T18:59:13Z")

</div>

yes...but..the problem there is with 10 chart...

I have missing the hardware....now..this flow is on a tinkerboard S

---

<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:** [6 April 2020 19:15 UTC](https://discourse.nodered.org/t/node-red-slowly/24342/4 "2020-04-06T19:15:17Z")

</div>

Well chart node in node-red is very expensive. Usage should be very well optimized and it really can show couple of charts with not too much data to handle. There is no exact numbers I can say for you but seeing your numbers, it is definitely way too much. Even if I haven't seen the configuration of your chart nodes.

If you really need to do that much charting, look for [Grafana](https://grafana.com/) or similar dedicated data analytics and presentation option.

---

<div class="post-metadata">

**Author:** ![Folgore](https://avatars.discourse-cdn.com/v4/letter/f/edb3f5/32.png) [@Folgore](https://discourse.nodered.org/u/Folgore)\
**Post date:** [6 April 2020 19:22 UTC](https://discourse.nodered.org/t/node-red-slowly/24342/5 "2020-04-06T19:22:33Z")

</div>

My second route is grafana....in effect

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [5 June 2020 19:22 UTC](https://discourse.nodered.org/t/node-red-slowly/24342/6 "2020-06-05T19:22:34Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
